summaryrefslogtreecommitdiff
path: root/.localrepo/malyon-20161208.2125.tar
blob: f74f9927ca7216720524ebfe96b7744477c2f7a6 (plain)
ofshex dumpascii
0000 6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e 32 31 32 35 2f 00 00 00 00 00 00 00 00 00 00 00 malyon-20161208.2125/...........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 30 35 00 20 35 00 00 00 0000000.00000000000.012305..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e 32 31 32 35 2f 6d 61 6c 79 6f 6e 2d 70 6b 67 2e malyon-20161208.2125/malyon-pkg.
0220 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 31 31 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 30 35 00 20 30 00 00 00 0001135.00000000000.014705..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 ;;.-*-.no-byte-compile:.t;.lexic
0420 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b al-binding:.nil.-*-.(define-pack
0440 61 67 65 20 22 6d 61 6c 79 6f 6e 22 20 22 32 30 31 36 31 32 30 38 2e 32 31 32 35 22 0a 20 20 22 age."malyon"."20161208.2125"..."
0460 4d 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 5a 2d 63 6f 64 65 20 66 69 6c 65 73 20 76 65 72 Mode.to.execute.Z-code.files.ver
0480 73 69 6f 6e 20 33 2c 20 35 2c 20 38 2e 22 0a 20 20 27 28 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 sion.3,.5,.8."...'((cl-lib."0.5"
04a0 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 70 ))...:url."https://github.com/sp
04c0 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f 6e 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 30 64 39 eedenator/malyon"...:commit."0d9
04e0 38 38 32 36 35 30 37 32 30 62 34 61 37 39 31 35 35 36 66 35 65 32 64 39 31 37 33 38 38 39 36 35 882650720b4a791556f5e2d917388965
0500 64 36 66 63 30 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 30 64 39 38 38 32 36 35 30 37 32 30 22 d6fc0"...:revdesc."0d9882650720"
0520 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 67 61 6d 65 73 22 20 22 65 6d 75 6c 61 74 69 6f ...:keywords.'("games"."emulatio
0540 6e 73 22 29 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 50 65 74 65 72 20 49 6c 62 65 72 67 ns")...:authors.'(("Peter.Ilberg
0560 22 20 2e 20 22 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 0a 20 20 "..."peter.ilberg@gmail.com")...
0580 20 20 20 20 20 20 20 20 20 20 20 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 22 ...........("Christopher.Madsen"
05a0 20 2e 20 22 63 6a 6d 40 63 6a 6d 77 65 62 2e 6e 65 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..."cjm@cjmweb.net")............
05c0 20 20 28 22 45 72 69 6b 20 53 65 6c 62 65 72 67 22 20 2e 20 22 65 72 69 6b 40 73 65 6c 62 65 72 ..("Erik.Selberg"..."erik@selber
05e0 67 2e 6f 72 67 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 43 68 72 69 g.org"))...:maintainers.'(("Chri
0600 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 22 20 2e 20 22 63 6a 6d 40 63 6a 6d 77 65 62 2e 6e 65 stopher.Madsen"..."cjm@cjmweb.ne
0620 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 45 72 69 6b 20 53 65 6c 62 t")..................("Erik.Selb
0640 65 72 67 22 20 2e 20 22 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 22 29 29 29 0a 00 00 00 erg"..."erik@selberg.org")))....
0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e 32 31 32 35 2f 6d 61 6c 79 6f 6e 2e 65 6c 00 00 malyon-20161208.2125/malyon.el..
0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0880 30 33 36 35 32 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 31 34 35 00 20 30 00 00 00 0365227.00000000000.014145..0...
08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a00 3b 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 2d 2d 2d 20 6d 6f 64 65 20 74 6f 20 65 78 65 63 75 74 ;;;.malyon.el.---.mode.to.execut
0a20 65 20 5a 2d 63 6f 64 65 20 66 69 6c 65 73 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 0a 0a e.Z-code.files.version.3,.5,.8..
0a40 3b 3b 20 41 75 74 68 6f 72 3a 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 74 65 72 2e 69 ;;.Author:.Peter.Ilberg.<peter.i
0a60 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 2c 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 lberg@gmail.com>,.Christopher.Ma
0a80 64 73 65 6e 20 3c 63 6a 6d 40 63 6a 6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20 53 65 6c 62 dsen.<cjm@cjmweb.net>,.Erik.Selb
0aa0 65 72 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 3e 0a 3b 3b 20 4d 61 69 6e 74 61 erg.<erik@selberg.org>.;;.Mainta
0ac0 69 6e 65 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 20 3c 63 6a 6d 40 63 6a iner:.Christopher.Madsen.<cjm@cj
0ae0 6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67 20 3c 65 72 69 6b 40 73 65 mweb.net>,.Erik.Selberg.<erik@se
0b00 6c 62 65 72 67 2e 6f 72 67 3e 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 lberg.org>.;;.Package-Version:.2
0b20 30 31 36 31 32 30 38 2e 32 31 32 35 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e 0161208.2125.;;.Package-Revision
0b40 3a 20 30 64 39 38 38 32 36 35 30 37 32 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 :.0d9882650720.;;.Package-Requir
0b60 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 es:.((cl-lib."0.5")).;;.Keywords
0b80 3a 20 67 61 6d 65 73 2c 20 65 6d 75 6c 61 74 69 6f 6e 73 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 :.games,.emulations.;;.URL:.http
0ba0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 70 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f s://github.com/speedenator/malyo
0bc0 6e 0a 0a 3b 3b 20 4f 6c 64 2d 4d 61 69 6e 74 61 69 6e 65 72 3a 20 50 65 74 65 72 20 49 6c 62 65 n..;;.Old-Maintainer:.Peter.Ilbe
0be0 72 67 20 3c 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 28 rg.<peter.ilberg@gmail.com>.;;.(
0c00 49 20 61 6d 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 73 75 70 70 6f 72 74 69 I.am.unable.to.continue.supporti
0c20 6e 67 20 6d 61 6c 79 6f 6e 2e 65 6c 2e 20 50 6c 65 61 73 65 20 73 65 6e 64 20 6d 65 20 61 6e 0a ng.malyon.el..Please.send.me.an.
0c40 3b 3b 20 20 65 6d 61 69 6c 20 69 66 20 79 6f 75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64 20 ;;..email.if.you.are.interested.
0c60 69 6e 20 74 61 6b 69 6e 67 20 6f 76 65 72 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 20 54 68 61 6e in.taking.over.the.project..Than
0c80 6b 73 2e 29 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 39 39 2d 32 30 31 36 ks.)..;;.Copyright.(C).1999-2016
0ca0 20 50 65 74 65 72 20 49 6c 62 65 72 67 2c 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 .Peter.Ilberg,.Christopher.Madse
0cc0 6e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67 0a 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 n,.Erik.Selberg..;;.Permission.i
0ce0 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 s.hereby.granted,.free.of.charge
0d00 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 0a 3b 3b 20 63 ,.to.any.person.obtaining.a.;;.c
0d20 6f 70 79 20 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 opy.of.this.software.and.associa
0d40 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f ted.documentation.files.(the."So
0d60 66 74 77 61 72 65 22 29 2c 0a 3b 3b 20 74 6f 20 64 65 61 6c 20 69 6e 20 74 68 65 20 53 6f 66 74 ftware"),.;;.to.deal.in.the.Soft
0d80 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 ware.without.restriction,.includ
0da0 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 0a 3b 3b 20 74 68 65 20 72 69 ing.without.limitation.;;.the.ri
0dc0 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 ghts.to.use,.copy,.modify,.merge
0de0 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 ,.publish,.distribute,.sublicens
0e00 65 2c 0a 3b 3b 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 e,.;;.and/or.sell.copies.of.the.
0e20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 Software,.and.to.permit.persons.
0e40 74 6f 20 77 68 6f 6d 20 74 68 65 0a 3b 3b 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 to.whom.the.;;.Software.is.furni
0e60 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f shed.to.do.so,.subject.to.the.fo
0e80 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 3b 3b 20 54 68 65 20 61 62 6f 76 llowing.conditions:..;;.The.abov
0ea0 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d e.copyright.notice.and.this.perm
0ec0 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 ission.notice.shall.be.included.
0ee0 69 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 in.;;.all.copies.or.substantial.
0f00 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 3b 3b 20 54 48 portions.of.the.Software...;;.TH
0f20 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 E.SOFTWARE.IS.PROVIDED."AS.IS",.
0f40 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 WITHOUT.WARRANTY.OF.ANY.KIND,.EX
0f60 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 PRESS.OR.;;.IMPLIED,.INCLUDING.B
0f80 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 UT.NOT.LIMITED.TO.THE.WARRANTIES
0fa0 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 .OF.MERCHANTABILITY,.;;.FITNESS.
0fc0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e FOR.A.PARTICULAR.PURPOSE.AND.NON
0fe0 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 INFRINGEMENT..IN.NO.EVENT.SHALL.
1000 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 THE.;;.AUTHORS.OR.COPYRIGHT.HOLD
1020 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d ERS.BE.LIABLE.FOR.ANY.CLAIM,.DAM
1040 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 AGES.OR.OTHER.;;.LIABILITY,.WHET
1060 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f HER.IN.AN.ACTION.OF.CONTRACT,.TO
1080 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 0a 3b 3b 20 46 52 4f 4d RT.OR.OTHERWISE,.ARISING.;;.FROM
10a0 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 ,.OUT.OF.OR.IN.CONNECTION.WITH.T
10c0 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 0a HE.SOFTWARE.OR.THE.USE.OR.OTHER.
10e0 3b 3b 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b ;;.DEALINGS.IN.THE.SOFTWARE...;;
1100 3b 20 43 72 65 64 69 74 73 3a 0a 0a 3b 3b 20 20 20 54 68 65 20 61 75 74 68 6f 72 20 77 6f 75 6c ;.Credits:..;;...The.author.woul
1120 64 20 6c 69 6b 65 20 74 6f 20 74 68 61 6e 6b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 d.like.to.thank.the.following.pe
1140 6f 70 6c 65 20 66 6f 72 20 72 65 70 6f 72 74 69 6e 67 0a 3b 3b 20 20 20 62 75 67 73 2c 20 74 65 ople.for.reporting.;;...bugs,.te
1160 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69 6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72 69 62 sting,.suggesting.and/or.contrib
1180 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 0a 3b 3b 20 20 20 20 20 42 65 72 6e 68 uting.improvements:.;;.....Bernh
11a0 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 74 68 61 6e 20 43 72 61 76 65 6e 2c 20 41 6c 62 65 ard.Barde,.Jonathan.Craven,.Albe
11c0 72 74 6f 20 50 65 74 72 6f 66 73 6b 79 2c 20 41 6c 61 6e 20 53 68 75 74 6b 6f 0a 0a 3b 3b 3b 20 rto.Petrofsky,.Alan.Shutko..;;;.
11e0 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 70 72 6f Commentary:..;;.This.package.pro
1200 76 69 64 65 73 20 61 20 62 61 73 69 63 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76 65 vides.a.basic.interpreter.for.ve
1220 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 20 5a 2d 63 6f 64 65 0a 3b 3b 20 73 74 6f 72 79 20 66 69 rsion.3,.5,.8.Z-code.;;.story.fi
1240 6c 65 73 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 49 6e 66 6f 72 6d 20 28 43 29 20 47 les.as.generated.by.Inform.(C).G
1260 72 61 68 61 6d 20 4e 65 6c 73 6f 6e 20 61 6e 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 3b 3b 20 49 66 raham.Nelson.and.Infocom...;;.If
1280 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 61 20 62 75 67 20 70 6c 65 61 73 65 20 73 65 6e 64 .you.encounter.a.bug.please.send
12a0 20 61 20 72 65 70 6f 72 74 20 74 6f 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 61 74 0a 3b 3b 20 .a.report.to.Peter.Ilberg.at.;;.
12c0 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f peter.ilberg@gmail.com..Thank.yo
12e0 75 21 0a 0a 3b 3b 20 54 6f 20 70 6c 61 79 20 61 20 73 74 6f 72 79 20 66 69 6c 65 20 73 69 6d 70 u!..;;.To.play.a.story.file.simp
1300 6c 79 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 20 61 6e 64 20 65 6e 74 65 72 20 74 68 65 ly.type.M-x.malyon.and.enter.the
1320 20 70 61 74 68 20 74 6f 20 74 68 65 0a 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 2e 20 49 66 20 61 .path.to.the.;;.story.file..If.a
1340 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 nything.goes.wrong.and.you.want.
1360 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 0a 3b 3b 20 75 70 20 74 79 70 65 20 4d 2d 78 to.manually.clean.;;.up.type.M-x
1380 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 63 .malyon-quit..In.addition,.you.c
13a0 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 3b 3b 20 70 an.switch.back.to.a.game.in.;;.p
13c0 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65 73 rogress.by.typing.M-x.malyon-res
13e0 74 6f 72 65 2e 0a 0a 3b 3b 20 41 20 6e 6f 74 65 20 6f 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 6f tore...;;.A.note.on.the.format.o
1400 66 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 61 74 65 73 3a 0a 0a 3b 3b 20 41 73 20 6f 66 20 76 f.saved.game.states:..;;.As.of.v
1420 65 72 73 69 6f 6e 20 31 2e 30 2c 20 4d 61 6c 79 6f 6e 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 ersion.1.0,.Malyon.supports.the.
1440 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 73 61 76 65 64 0a 3b 3b quetzal.file.format.for.saved.;;
1460 20 67 61 6d 65 73 2e 20 53 75 70 70 6f 72 74 20 66 6f 72 20 74 68 69 73 20 66 6f 72 6d 61 74 20 .games..Support.for.this.format.
1480 72 65 71 75 69 72 65 64 20 63 68 61 6e 67 65 73 20 74 6f 20 73 65 76 65 72 61 6c 20 69 6e 74 65 required.changes.to.several.inte
14a0 72 6e 61 6c 0a 3b 3b 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 28 73 74 61 63 6b 20 66 rnal.;;.data.structures.(stack.f
14c0 72 61 6d 65 73 20 61 6e 64 20 63 61 74 63 68 2d 74 68 72 6f 77 29 20 74 68 61 74 20 61 72 65 20 rames.and.catch-throw).that.are.
14e0 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 3b 3b 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 69 6d 70 incompatible.;;.with.the.old.imp
1500 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65 20 lementation..Unfortunately,.the.
1520 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 66 6f 72 0a 3b 3b 20 73 61 76 65 64 20 67 61 6d old.file.format.for.;;.saved.gam
1540 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 71 75 65 74 es.cannot.be.converted.into.quet
1560 7a 61 6c 2e 0a 0a 3b 3b 20 46 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 zal...;;.For.backwards.compatibi
1580 6c 69 74 79 2c 20 68 6f 77 65 76 65 72 2c 20 4d 61 6c 79 6f 6e 20 73 74 69 6c 6c 20 73 75 70 70 lity,.however,.Malyon.still.supp
15a0 6f 72 74 73 20 74 68 65 20 6f 6c 64 0a 3b 3b 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 20 41 6e 64 orts.the.old.;;.file.format..And
15c0 20 79 6f 75 20 63 61 6e 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 6c 61 79 20 79 6f 75 72 20 6f .you.can.continue.to.play.your.o
15e0 6c 64 20 67 61 6d 65 20 73 74 61 74 65 73 2e 0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 6f 66 20 74 ld.game.states...;;.Because.of.t
1600 68 65 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 74 77 6f 20 66 69 he.incompatibility.of.the.two.fi
1620 6c 65 20 66 6f 72 6d 61 74 73 2c 20 4d 61 6c 79 6f 6e 20 6e 6f 77 0a 3b 3b 20 72 75 6e 73 2c 20 le.formats,.Malyon.now.;;.runs,.
1640 61 73 20 66 6f 6c 6c 6f 77 73 2c 20 69 6e 20 65 69 74 68 65 72 20 6f 66 20 74 77 6f 20 6d 6f 64 as.follows,.in.either.of.two.mod
1660 65 73 3a 20 71 75 65 74 7a 61 6c 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a es:.quetzal.and.compatibility...
1680 3b 3b 20 2d 20 69 6e 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2c 20 67 61 6d 65 20 73 74 61 74 65 ;;.-.in.quetzal.mode,.game.state
16a0 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 0a 3b 3b s.are.saved.in.quetzal.format.;;
16c0 20 2d 20 69 6e 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6d 6f 64 65 2c 20 67 61 6d 65 73 20 .-.in.compatibility.mode,.games.
16e0 73 74 61 74 65 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 66 6f 72 6d states.are.saved.in.the.old.form
1700 61 74 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e 20 at.;;.-.loading.a.game.state.in.
1720 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 20 73 77 69 74 63 68 65 73 20 74 6f 20 71 75 65 74 7a quetzal.format.switches.to.quetz
1740 61 6c 20 6d 6f 64 65 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67 20 61 6e 20 6f 6c 64 20 67 61 6d 65 al.mode.;;.-.loading.an.old.game
1760 20 73 74 61 74 65 20 73 77 69 74 63 68 65 73 20 74 6f 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 .state.switches.to.compatibility
1780 20 6d 6f 64 65 0a 3b 3b 20 2d 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 20 69 73 20 74 68 65 20 64 .mode.;;.-.quetzal.mode.is.the.d
17a0 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 0a 0a 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 efault.setting..;;.In.other.word
17c0 73 2c 20 4d 61 6c 79 6f 6e 20 77 69 6c 6c 20 6f 6e 6c 79 20 75 73 65 20 74 68 65 20 6f 6c 64 20 s,.Malyon.will.only.use.the.old.
17e0 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 66 20 79 6f 75 27 76 65 0a 3b 3b 20 72 65 73 74 6f 72 65 file.format.if.you've.;;.restore
1800 64 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 d.a.game.state.saved.in.the.old.
1820 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 3b 3b 20 45 6e 6a 6f 79 21 0a 0a 3b 3b 3b 20 43 6f 64 file.format...;;.Enjoy!..;;;.Cod
1840 65 3a 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 2d 20 6d 6f 76 65 64 20 e:..;;.global.variables.-.moved.
1860 68 65 72 65 20 74 6f 20 61 70 70 65 61 73 65 20 74 68 65 20 62 79 74 65 2d 63 6f 64 65 20 63 6f here.to.appease.the.byte-code.co
1880 6d 70 69 6c 65 72 0a 0a 3b 3b 20 72 65 71 75 69 72 65 6d 65 6e 74 73 0a 0a 28 72 65 71 75 69 72 mpiler..;;.requirements..(requir
18a0 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 62 69 6e 64 61 74 29 0a 0a 28 64 e.'cl-lib).(require.'bindat)..(d
18c0 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d 76 65 72 73 69 6f 6e 20 22 31 2e 32 22 20 22 4d 61 efconst.malyon-version."1.2"."Ma
18e0 6c 79 6f 6e 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 lyon.version.number")..(defgroup
1900 20 6d 61 6c 79 6f 6e 20 6e 69 6c 0a 20 20 22 50 6c 61 79 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e .malyon.nil..."Play.Z-machine.in
1920 74 65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e 20 67 61 6d 65 73 2e 22 0a 20 20 3a 70 72 65 teractive.fiction.games."...:pre
1940 66 69 78 20 22 6d 61 6c 79 6f 6e 2d 22 0a 20 20 3a 67 72 6f 75 70 20 27 67 61 6d 65 73 29 0a 0a fix."malyon-"...:group.'games)..
1960 3b 3b 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66 63 ;;.customizable.variables..(defc
1980 75 73 74 6f 6d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 69 65 73 2d 64 69 72 65 63 74 6f 72 79 20 6e ustom.malyon-stories-directory.n
19a0 69 6c 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 6c il..."The.default.directory.to.l
19c0 6f 6f 6b 20 66 6f 72 20 73 74 6f 72 79 20 66 69 6c 65 73 2e 0a 4e 69 6c 20 6d 65 61 6e 73 20 75 ook.for.story.files..Nil.means.u
19e0 73 65 20 74 68 65 20 62 75 66 66 65 72 27 73 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 se.the.buffer's.default.director
1a00 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 6e 69 6c 29 y."...:type.'(choice.(const.nil)
1a20 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 0a .directory)...:group.'malyon)...
1a40 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 28 64 65 66 76 ;;.story.file.information..(defv
1a60 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 ar.malyon-story-file-name.nil...
1a80 22 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 62 65 69 6e "The.name.of.the.story.file.bein
1aa0 67 20 65 78 65 63 75 74 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 g.executed.")..(defvar.malyon-st
1ac0 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 77 ory-file.nil..."The.story.file.w
1ae0 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 62 65 69 6e 67 20 72 75 6e 2e 22 29 0a 0a hich.is.currently.being.run.")..
1b00 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6e 69 6c (defvar.malyon-story-version.nil
1b20 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 2e 22 29 0a 0a 28 ..."The.story.file.version.")..(
1b40 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e 73 defvar.malyon-supported-versions
1b60 20 27 28 33 20 35 20 38 29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65 64 .'(3.5.8)..."A.list.of.supported
1b80 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 73 2e 22 29 0a 0a 3b 3b 20 73 74 61 74 .story.file.versions.")..;;.stat
1ba0 75 73 20 61 6e 64 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 73 0a 0a 28 64 65 66 76 us.and.transcript.buffers..(defv
1bc0 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 6e 69 6c 0a ar.malyon-transcript-buffer.nil.
1be0 20 20 22 54 68 65 20 6d 61 69 6e 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 6f 66 .."The.main.transcript.buffer.of
1c00 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 .the.story.file.execution.")..(d
1c20 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 efvar.malyon-transcript-buffer-b
1c40 75 66 66 65 72 65 64 20 6e 69 6c 0a 20 20 22 49 73 20 6f 75 74 70 75 74 20 69 6e 20 74 68 65 20 uffered.nil..."Is.output.in.the.
1c60 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 62 75 66 66 65 72 65 64 3f 22 29 0a 0a 28 transcript.buffer.buffered?")..(
1c80 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e 69 6c 0a defvar.malyon-status-buffer.nil.
1ca0 20 20 22 54 68 65 20 73 74 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72 20 6f 66 20 74 68 65 20 .."The.status.bar.buffer.of.the.
1cc0 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 story.file.execution.")..(defvar
1ce0 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 6e 69 6c 0a .malyon-status-buffer-lines.nil.
1d00 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 73 74 .."The.number.of.lines.in.the.st
1d20 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 atus.bar.buffer.")..(defvar.maly
1d40 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e on-status-buffer-delayed-split.n
1d60 69 6c 0a 20 20 22 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 il..."If.the.number.of.lines.in.
1d80 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 69 73 20 72 65 64 75 63 65 64 2c 0a 74 68 the.status.buffer.is.reduced,.th
1da0 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63 68 e.window.configuration.is.not.ch
1dc0 61 6e 67 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 49 74 0a 69 73 20 63 68 61 6e 67 65 64 anged.immediately..It.is.changed
1de0 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 20 74 75 72 6e 20 28 72 65 61 64 20 6f 72 20 72 65 .after.the.next.turn.(read.or.re
1e00 61 64 5f 63 68 61 72 29 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 ad_char).")..(defvar.malyon-stat
1e20 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 6f 69 6e 74 us-buffer-point.nil..."The.point
1e40 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 62 61 72 20 62 75 66 66 .location.in.the.status.bar.buff
1e60 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e er.")..(defvar.malyon-max-column
1e80 20 37 32 0a 20 20 22 4d 61 78 69 6d 75 6d 20 63 6f 6c 75 6d 6e 20 66 6f 72 20 74 65 78 74 20 64 .72..."Maximum.column.for.text.d
1ea0 69 73 70 6c 61 79 2e 22 29 0a 0a 3b 3b 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74 0a isplay.")..;;.window.management.
1ec0 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 .(defvar.malyon-window-configura
1ee0 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 63 tion.nil..."The.current.window.c
1f00 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65 72 onfiguration.of.the.malyon.inter
1f20 70 72 65 74 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e preter.")..(defvar.malyon-curren
1f40 74 2d 77 69 6e 64 6f 77 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 61 63 t-window.nil..."The.currently.ac
1f60 74 69 76 65 20 77 69 6e 64 6f 77 20 66 6f 72 20 74 65 78 74 20 6f 75 74 70 75 74 2e 22 29 0a 0a tive.window.for.text.output.")..
1f80 3b 3b 20 7a 20 6d 61 63 68 69 6e 65 20 72 65 67 69 73 74 65 72 73 0a 0a 28 64 65 66 76 61 72 20 ;;.z.machine.registers..(defvar.
1fa0 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b 20 6f 66 malyon-stack.nil..."The.stack.of
1fc0 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f .the.z.machine.")..(defvar.malyo
1fe0 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b n-stack-pointer.nil..."The.stack
2000 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a 28 64 .pointer.of.the.z.machine.")..(d
2020 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 efvar.malyon-frame-pointer.nil..
2040 20 22 54 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 ."The.frame.pointer.of.the.z.mac
2060 68 69 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 hine.")..(defvar.malyon-instruct
2080 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 69 6e 73 74 72 75 63 74 69 ion-pointer.nil..."The.instructi
20a0 6f 6e 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a on.pointer.of.the.z.machine.")..
20c0 3b 3b 20 67 61 6d 65 20 66 69 6c 65 20 72 65 6c 61 74 65 64 20 67 6c 6f 62 61 6c 20 76 61 72 69 ;;.game.file.related.global.vari
20e0 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 ables..(defvar.malyon-score-game
2100 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 .nil..."A.flag.indicating.whethe
2120 72 20 74 68 69 73 20 73 74 6f 72 79 20 75 73 65 73 20 73 63 6f 72 65 20 6f 72 20 74 69 6d 65 2e r.this.story.uses.score.or.time.
2140 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 ")..(defvar.malyon-packed-multip
2160 6c 69 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 61 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68 20 lier.nil..."The.amount.by.which.
2180 70 61 63 6b 65 64 20 61 64 64 72 65 73 73 65 73 20 61 72 65 20 6d 75 6c 74 69 70 6c 69 65 64 20 packed.addresses.are.multiplied.
21a0 74 6f 20 67 65 74 20 62 79 74 65 0a 61 64 64 72 65 73 73 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 to.get.byte.addresses.")..(defva
21c0 72 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 0a 20 20 r.malyon-global-variables.nil...
21e0 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c "A.pointer.to.the.global.variabl
2200 65 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a 0a e.section.in.the.story.file.")..
2220 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 6e 69 6c (defvar.malyon-abbreviations.nil
2240 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 61 62 62 72 65 76 69 61 74 69 6f ..."A.pointer.to.the.abbreviatio
2260 6e 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 ns.in.the.story.file.")..(defvar
2280 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 7a 20 6d 61 .malyon-alphabet.nil..."The.z.ma
22a0 63 68 69 6e 65 27 73 20 74 65 78 74 20 61 6c 70 68 61 62 65 74 2e 22 29 0a 0a 28 64 65 66 76 61 chine's.text.alphabet.")..(defva
22c0 72 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 20 6e 69 6c 0a 20 20 22 41 20 73 74 72 r.malyon-whitespace.nil..."A.str
22e0 69 6e 67 20 6f 66 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 72 65 63 ing.of.whitespace.characters.rec
2300 6f 67 6e 69 7a 65 64 20 62 79 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a 3b ognized.by.the.interpreter.")..;
2320 3b 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d ;.object.tables..(defvar.malyon-
2340 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f object-table.nil..."A.pointer.to
2360 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 .the.object.table.in.the.story.f
2380 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 ile.")..(defvar.malyon-object-ta
23a0 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 69 7a 65 20 6f ble-entry-size.nil..."The.size.o
23c0 66 20 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 2e f.one.entry.in.the.object.table.
23e0 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 ")..(defvar.malyon-object-proper
2400 74 69 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 70 65 72 ties.nil..."The.number.of.proper
2420 74 69 65 73 20 70 65 72 20 6f 62 6a 65 63 74 20 6d 69 6e 75 73 20 6f 6e 65 2e 22 29 0a 0a 28 64 ties.per.object.minus.one.")..(d
2440 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 efvar.malyon-object-property-off
2460 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 74 68 set.nil..."The.byte.offset.of.th
2480 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 61 62 6c 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 e.properties.table.in.the.object
24a0 2e 22 29 0a 0a 3b 3b 20 64 69 63 74 69 6f 6e 61 72 69 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 .")..;;.dictionaries..(defvar.ma
24c0 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 lyon-dictionary.nil..."A.pointer
24e0 20 74 6f 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 .to.the.dictionary.of.the.story.
2500 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 file.")..(defvar.malyon-dictiona
2520 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67 74 ry-entry-length.nil..."The.lengt
2540 68 20 6f 66 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e 22 29 0a 0a 28 64 65 66 h.of.a.dictionary.entry.")..(def
2560 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 72 69 65 var.malyon-dictionary-num-entrie
2580 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 s.nil..."The.number.of.dictionar
25a0 79 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 y.entries.")..(defvar.malyon-dic
25c0 74 69 6f 6e 61 72 79 2d 65 6e 74 72 69 65 73 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 tionary-entries.nil..."A.pointer
25e0 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e 22 .to.the.first.dictionary.entry."
2600 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 )..(defvar.malyon-dictionary-wor
2620 64 2d 6c 65 6e 67 74 68 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61 20 d-length.nil..."The.length.of.a.
2640 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 2e 22 29 0a 0a 3b 3b 20 67 61 6d 65 20 73 74 61 74 dictionary.word.")..;;.game.stat
2660 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 67 61 e.information..(defvar.malyon-ga
2680 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 61 63 68 me-state-restart.nil..."The.mach
26a0 69 6e 65 20 73 74 61 74 65 20 66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 72 65 73 74 61 ine.state.for.implementing.resta
26c0 72 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 rt.")..(defvar.malyon-game-state
26e0 2d 75 6e 64 6f 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 20 66 -undo.nil..."The.machine.state.f
2700 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 75 6e 64 6f 2e 22 29 0a 0a 28 64 65 66 76 61 72 or.implementing.undo.")..(defvar
2720 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 0a 20 20 22 .malyon-game-state-quetzal.t..."
2740 53 74 6f 72 65 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 Store.game.state.information.for
2760 20 71 75 65 74 7a 61 6c 2e 22 29 0a 0a 3b 3b 20 76 61 72 69 6f 75 73 0a 0a 28 64 65 66 76 61 72 .quetzal.")..;;.various..(defvar
2780 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 .malyon-current-face.nil..."The.
27a0 63 75 72 72 65 6e 74 20 66 61 63 65 20 69 6e 20 77 68 69 63 68 20 74 6f 20 64 69 73 70 6c 61 79 current.face.in.which.to.display
27c0 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 .text.")..(defvar.malyon-last-cu
27e0 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 20 6e 69 6c 0a 20 20 rsor-position-after-input.nil...
2800 22 54 68 65 20 6c 61 73 74 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 "The.last.cursor.position.after.
2820 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e reading.input.from.the.keyboard.
2840 22 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 74 72 61 70 70 69 6e 67 0a 0a 28 64 65 66 6d 61 63 72 6f ")..;;.error.trapping..(defmacro
2860 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d 65 .malyon-hide-internal-errors.(me
2880 73 73 61 67 65 20 62 6f 64 79 66 6f 72 6d 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 ssage.bodyform)..."Evaluate.BODY
28a0 46 4f 52 4d 2c 20 73 75 62 73 74 69 74 75 74 69 6e 67 20 4d 45 53 53 41 47 45 20 66 6f 72 20 61 FORM,.substituting.MESSAGE.for.a
28c0 6e 79 20 65 72 72 6f 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 ny.error."...(declare.(indent.1)
28e0 29 0a 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 2c )...`(condition-case.nil.......,
2900 62 6f 64 79 66 6f 72 6d 0a 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e bodyform.....(error......(malyon
2920 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 2c 6d 65 73 73 61 67 65 29 29 29 29 0a 0a 3b 3b 20 77 68 -fatal-error.,message))))..;;.wh
2940 65 6e 20 64 65 62 75 67 67 69 6e 67 2c 20 75 6e 63 6f 6d 6d 65 6e 74 20 74 68 69 73 20 4e 4f 50 en.debugging,.uncomment.this.NOP
2960 20 76 65 72 73 69 6f 6e 20 6f 66 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c .version.of.malyon-hide-internal
2980 2d 65 72 72 6f 72 73 0a 3b 28 64 65 66 6d 61 63 72 6f 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 -errors.;(defmacro.malyon-hide-i
29a0 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d 73 67 20 62 6f 64 79 29 20 28 64 65 63 6c 61 nternal-errors.(msg.body).(decla
29c0 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 20 62 6f 64 79 29 0a 0a 3b 3b 20 69 6e 74 65 72 61 63 re.(indent.1)).body)..;;.interac
29e0 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 tive.functions.;;;###autoload.(d
2a00 65 66 75 6e 20 6d 61 6c 79 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 50 6c 61 79 20 efun.malyon.(file-name)..."Play.
2a20 61 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e 20 a.Z-machine.interactive.fiction.
2a40 67 61 6d 65 2e 0a 49 66 20 61 20 67 61 6d 65 20 69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 game..If.a.game.is.in.progress,.
2a60 72 65 73 74 6f 72 65 73 20 74 68 65 20 67 61 6d 65 27 73 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 restores.the.game's.window.confi
2a80 67 75 72 61 74 69 6f 6e 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 79 6f 75 20 61 72 65 20 70 72 6f guration..Otherwise,.you.are.pro
2aa0 6d 70 74 65 64 20 66 6f 72 20 61 20 73 74 6f 72 79 20 66 69 6c 65 20 74 6f 20 6c 6f 61 64 2c 20 mpted.for.a.story.file.to.load,.
2ac0 77 68 69 63 68 20 6d 61 79 20 62 65 0a 65 69 74 68 65 72 20 61 20 72 61 77 20 5a 2d 63 6f 64 65 which.may.be.either.a.raw.Z-code
2ae0 20 66 69 6c 65 20 6f 72 20 6f 6e 65 20 70 61 63 6b 61 67 65 64 20 69 6e 20 61 20 42 6c 6f 72 62 .file.or.one.packaged.in.a.Blorb
2b00 20 66 69 6c 65 2e 0a 5a 2d 63 6f 64 65 20 76 65 72 73 69 6f 6e 73 20 33 2c 20 35 2c 20 61 6e 64 .file..Z-code.versions.3,.5,.and
2b20 20 38 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .8.are.supported."...(interactiv
2b40 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d e....(list.....(if.malyon-story-
2b60 66 69 6c 65 20 6e 69 6c 0a 20 20 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 file.nil.......(read-file-name."
2b80 53 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65 3a 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 69 65 Story.file.name:.".malyon-storie
2ba0 73 2d 64 69 72 65 63 74 6f 72 79 20 6e 69 6c 20 74 29 29 29 29 0a 20 20 28 69 66 20 6d 61 6c 79 s-directory.nil.t))))...(if.maly
2bc0 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 20 20 20 20 20 28 69 66 20 66 69 6c 65 2d 6e 61 6d on-story-file.......(if.file-nam
2be0 65 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 59 6f 75 20 61 72 65 20 61 6c 72 65 e...........(error."You.are.alre
2c00 61 64 79 20 70 6c 61 79 69 6e 67 20 61 20 67 61 6d 65 2e 22 29 0a 20 20 20 20 20 20 20 20 28 6d ady.playing.a.game.").........(m
2c20 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 29 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 alyon-restore)).....;;.Otherwise
2c40 2c 20 77 65 27 72 65 20 73 74 61 72 74 69 6e 67 20 61 20 6e 65 77 20 67 61 6d 65 3a 0a 20 20 20 ,.we're.starting.a.new.game:....
2c60 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 2e 5c .(cond......((string-match."\\.\
2c80 5c 28 3f 3a 7a 3f 62 6c 6f 72 62 5c 5c 7c 62 6c 62 5c 5c 7c 7a 6c 62 5c 5c 29 24 22 20 66 69 6c \(?:z?blorb\\|blb\\|zlb\\)$".fil
2ca0 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 e-name).......(malyon-load-blorb
2cc0 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d -file.file-name))......((string-
2ce0 6d 61 74 63 68 20 22 5c 5c 2e 7a 5b 33 35 38 5d 24 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 match."\\.z[358]$".file-name)...
2d00 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 ....(malyon-hide-internal-errors
2d20 20 22 6c 6f 61 64 69 6e 67 20 6f 66 20 73 74 6f 72 79 20 66 69 6c 65 20 66 61 69 6c 65 64 2e 22 ."loading.of.story.file.failed."
2d40 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c 65 .........(malyon-load-story-file
2d60 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 65 72 72 .file-name)))......(t.......(err
2d80 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 6f 72 or."%s.is.not.a.version.3,.5,.or
2da0 20 38 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 .8.story.file.".file-name)))....
2dc0 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 28 61 72 65 .(setq.malyon-story-version.(are
2de0 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 63 6f 6e f.malyon-story-file.0)).....(con
2e00 64 20 28 28 6d 65 6d 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6d 61 d.((memq.malyon-story-version.ma
2e20 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 lyon-supported-versions)........
2e40 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 ....(malyon-hide-internal-errors
2e60 20 22 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 69 6e 74 65 72 70 72 65 74 65 72 20 ."initialization.of.interpreter.
2e80 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e failed."..............(malyon-in
2ea0 69 74 69 61 6c 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e itialize))............(malyon-in
2ec0 74 65 72 70 72 65 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 terpreter))...........(t........
2ee0 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 20 69 73 20 6e 6f 74 20 61 20 76 65 72 73 69 6f ....(message."%s.is.not.a.versio
2f00 6e 20 33 2c 20 35 2c 20 6f 72 20 38 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d 6e n.3,.5,.or.8.story.file.".file-n
2f20 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 ame)............(malyon-cleanup)
2f40 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 20 28 29 0a 20 ))))..(defun.malyon-restore.()..
2f60 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 73 61 76 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 ."Restore.the.save.window.config
2f80 75 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 uration.for.the.interpreter."...
2fa0 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 (interactive)...(malyon-hide-int
2fc0 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 72 65 73 74 6f 72 69 6e 67 20 77 69 6e 64 6f 77 20 63 ernal-errors."restoring.window.c
2fe0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e onfiguration.failed.".....(progn
3000 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f .......(malyon-restore-window-co
3020 6e 66 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 nfiguration).......(malyon-adjus
3040 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d t-transcript))))..(defun.malyon-
3060 71 75 69 74 20 28 29 0a 20 20 22 45 78 69 74 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65 72 quit.()..."Exit.the.malyon.inter
3080 70 72 65 74 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 6d preter."...(interactive)...(if.m
30a0 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 alyon-story-file.......(progn...
30c0 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 28 ......(malyon-restore).........(
30e0 69 66 20 28 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 22 if.(malyon-yes-or-no-p-minibuf."
3100 44 6f 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 71 75 69 74 3f 20 22 29 0a 20 Do.you.really.want.to.quit?.")..
3120 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 29 29 29 29 0a ...........(malyon-cleanup))))).
3140 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f .;;;###autoload.(defun.malyon-mo
3160 64 65 20 28 29 0a 20 20 22 54 68 69 73 20 6d 6f 64 65 20 70 72 6f 76 69 64 65 73 20 61 20 62 61 de.()..."This.mode.provides.a.ba
3180 73 69 63 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 sic.interpreter.for.version.3,.5
31a0 2c 20 38 20 5a 2d 63 6f 64 65 0a 73 74 6f 72 79 20 66 69 6c 65 73 20 61 73 20 67 65 6e 65 72 61 ,.8.Z-code.story.files.as.genera
31c0 74 65 64 20 62 79 20 49 6e 66 6f 72 6d 20 28 43 29 20 47 72 61 68 61 6d 20 4e 65 6c 73 6f 6e 20 ted.by.Inform.(C).Graham.Nelson.
31e0 61 6e 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 70 61 63 and.Infocom...Note.that.this.pac
3200 6b 61 67 65 20 69 73 20 62 79 20 6e 6f 20 6d 65 61 6e 73 20 63 6f 6d 70 6c 65 74 65 20 61 6e 64 kage.is.by.no.means.complete.and
3220 20 62 75 67 20 66 72 65 65 2e 0a 49 66 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 61 20 62 75 .bug.free..If.you.encounter.a.bu
3240 67 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 72 65 70 6f 72 74 20 74 6f 20 50 65 74 65 72 20 g.please.send.a.report.to.Peter.
3260 49 6c 62 65 72 67 20 61 74 0a 70 65 74 65 72 2e 69 6c 62 65 72 67 40 6e 61 74 69 6e 73 74 2e 63 Ilberg.at.peter.ilberg@natinst.c
3280 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f 75 21 0a 0a 54 6f 20 70 6c 61 79 20 61 20 73 74 6f 72 79 20 om..Thank.you!..To.play.a.story.
32a0 66 69 6c 65 20 73 69 6d 70 6c 65 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 20 61 6e 64 20 file.simple.type.M-x.malyon.and.
32c0 65 6e 74 65 72 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 0a 73 74 6f 72 79 20 66 69 6c 65 enter.the.path.to.the.story.file
32e0 2e 20 49 66 20 61 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f 75 ..If.anything.goes.wrong.and.you
3300 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 0a 75 70 20 74 79 70 65 20 .want.to.manually.clean.up.type.
3320 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f M-x.malyon-quit..In.addition,.yo
3340 75 20 63 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 70 u.can.switch.back.to.a.game.in.p
3360 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65 73 rogress.by.typing.M-x.malyon-res
3380 74 6f 72 65 2e 0a 0a 54 68 65 20 61 75 74 68 6f 72 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 tore...The.author.would.like.to.
33a0 74 68 61 6e 6b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 20 66 6f 72 20 72 thank.the.following.people.for.r
33c0 65 70 6f 72 74 69 6e 67 0a 62 75 67 73 2c 20 74 65 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69 eporting.bugs,.testing,.suggesti
33e0 6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72 69 62 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65 ng.and/or.contributing.improveme
3400 6e 74 73 3a 0a 20 20 20 20 42 65 72 6e 68 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 74 68 61 nts:.....Bernhard.Barde,.Jonatha
3420 6e 20 43 72 61 76 65 6e 2c 20 41 6c 62 65 72 74 6f 20 50 65 74 72 6f 66 73 6b 79 2c 20 41 6c 61 n.Craven,.Alberto.Petrofsky,.Ala
3440 6e 20 53 68 75 74 6b 6f 22 0a 20 20 28 6d 65 73 73 61 67 65 20 22 55 73 65 20 4d 2d 78 20 6d 61 n.Shutko"...(message."Use.M-x.ma
3460 6c 79 6f 6e 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 6c 61 79 20 61 20 7a 63 6f 64 65 lyon.if.you.want.to.play.a.zcode
3480 20 67 61 6d 65 2e 22 29 29 0a 0a 3b 3b 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 .game."))..;;.compatibility.func
34a0 74 69 6f 6e 73 20 66 6f 72 20 47 4e 55 20 65 6d 61 63 73 0a 3b 3b 20 6e 75 6b 65 64 20 31 32 2f tions.for.GNU.emacs.;;.nuked.12/
34c0 34 2f 31 36 20 62 79 20 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 20 2d 2d 2d 20 74 68 65 4/16.by.erik@selberg.org.---.the
34e0 73 65 20 61 72 65 6e 27 74 20 6e 65 65 64 65 64 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 se.aren't.needed..;;.(if.(fbound
3500 70 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f p.'cadr).;;.....(defalias.'malyo
3520 6e 2d 63 61 64 72 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e n-cadr.'cadr).;;...(defun.malyon
3540 2d 63 61 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 -cadr.(list).;;....."Take.the.ca
3560 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64 dr.of.the.list.".;;.....(car.(cd
3580 72 20 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61 64 r.list))))..;;.(if.(fboundp.'cad
35a0 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 61 64 dr).;;.....(defalias.'malyon-cad
35c0 64 72 20 27 63 61 64 64 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 61 dr.'caddr).;;...(defun.malyon-ca
35e0 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 64 64 ddr.(list).;;....."Take.the.cadd
3600 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64 72 r.of.the.list.".;;.....(car.(cdr
3620 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 .(cdr.list)))))..;;.(if.(fboundp
3640 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f .'cdddr).;;.....(defalias.'malyo
3660 6e 2d 63 64 64 64 72 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 n-cdddr.'cdddr).;;...(defun.maly
3680 6f 6e 2d 63 64 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 on-cdddr.(list).;;....."Take.the
36a0 20 63 64 64 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 64 72 .cdddr.of.the.list.".;;.....(cdr
36c0 20 28 63 64 72 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 .(cdr.(cdr.list)))))..;;.(if.(fb
36e0 6f 75 6e 64 70 20 27 63 68 61 72 2d 62 65 66 6f 72 65 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 oundp.'char-before).;;.....(defa
3700 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 62 65 66 6f 72 65 20 27 63 68 61 72 2d 62 lias.'malyon-char-before.'char-b
3720 65 66 6f 72 65 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 62 efore).;;...(defun.malyon-char-b
3740 65 66 6f 72 65 20 28 29 0a 3b 3b 20 20 20 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 68 61 72 efore.().;;....."Return.the.char
3760 61 63 74 65 72 20 62 65 66 6f 72 65 20 74 68 65 20 70 6f 69 6e 74 2e 22 0a 3b 3b 20 20 20 20 20 acter.before.the.point.".;;.....
3780 28 63 68 61 72 2d 61 66 74 65 72 20 28 2d 20 28 70 6f 69 6e 74 29 20 31 29 29 29 29 0a 0a 28 64 (char-after.(-.(point).1))))..(d
37a0 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 63 29 0a 20 20 22 43 efun.malyon-char-to-int.(c)..."C
37c0 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 67 onvert.a.character.into.an.integ
37e0 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 68 61 72 2d 74 6f 2d 69 6e 74 er."...(if.(fboundp.'char-to-int
3800 29 0a 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 69 6e 74 20 63 29 0a 20 20 20 20 63 29 29 0a ).......(char-to-int.c).....c)).
3820 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b 3b .;;.(if.(fboundp.'characterp).;;
3840 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 .....(defalias.'malyon-character
3860 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f p.'characterp).;;...(defun.malyo
3880 6e 2d 63 68 61 72 61 63 74 65 72 70 20 28 78 29 0a 3b 3b 20 20 20 20 20 22 54 65 73 74 20 66 6f n-characterp.(x).;;....."Test.fo
38a0 72 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 3b 3b 20 20 20 20 20 28 61 6e 64 20 28 6e 75 6d r.a.character.".;;.....(and.(num
38c0 62 65 72 70 20 78 29 20 28 3c 3d 20 30 20 78 29 20 28 3c 20 78 20 32 35 36 29 29 29 29 0a 0a 28 berp.x).(<=.0.x).(<.x.256))))..(
38e0 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 20 28 defun.malyon-disable-multibyte.(
3900 29 0a 20 20 22 44 69 73 61 62 6c 65 20 6d 75 6c 74 69 62 79 74 65 20 73 75 70 70 6f 72 74 20 69 )..."Disable.multibyte.support.i
3920 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 63 6f 6e 64 69 74 n.the.current.buffer."...(condit
3940 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 ion-case.nil.(set-buffer-multiby
3960 74 65 20 6e 69 6c 29 20 28 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e te.nil).(error)))..(defun.malyon
3980 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 29 -erase-buffer.(&optional.buffer)
39a0 0a 20 20 22 45 72 61 73 65 20 74 68 65 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22 0a 20 20 28 ..."Erase.the.given.buffer."...(
39c0 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 69 66 20 62 75 66 66 65 72 20 28 73 save-excursion.....(if.buffer.(s
39e0 65 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 et-buffer.buffer)).....(if.(and.
3a00 62 75 66 66 65 72 20 28 65 71 20 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 buffer.(eq.buffer.malyon-transcr
3a20 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 65 67 ipt-buffer)).........(malyon-beg
3a40 69 6e 2d 73 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 in-section).......(erase-buffer)
3a60 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 )))..(defun.malyon-int-to-char.(
3a80 69 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 69 6e 74 6f 20 61 20 i)..."Convert.an.integer.into.a.
3aa0 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 69 6e 74 2d character."...(if.(fboundp.'int-
3ac0 74 6f 2d 63 68 61 72 29 0a 20 20 20 20 28 69 6e 74 2d 74 6f 2d 63 68 61 72 20 69 29 0a 20 20 20 to-char).....(int-to-char.i)....
3ae0 20 69 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 61 70 63 29 0a 3b 3b 20 .i))..;;.(if.(fboundp.'mapc).;;.
3b00 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 27 6d 61 70 63 ....(defalias.'malyon-mapc.'mapc
3b20 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 28 66 75 6e 63 74 ).;;...(defun.malyon-mapc.(funct
3b40 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 6f 20 65 ion.list).;;....."Apply.fun.to.e
3b60 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 72 67 73 20 69 67 6e 6f 72 69 6e 67 20 74 68 very.element.of.args.ignoring.th
3b80 65 20 72 65 73 75 6c 74 73 2e 22 0a 3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 e.results.".;;.....(if.(null.lis
3ba0 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e t).;;..'().;;.......(funcall.fun
3bc0 63 74 69 6f 6e 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 6d 61 6c 79 ction.(car.list)).;;.......(maly
3be0 6f 6e 2d 6d 61 70 63 20 66 75 6e 63 74 69 6f 6e 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 0a on-mapc.function.(cdr.list))))).
3c00 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 61 70 63 61 6e 29 0a 3b 3b 20 20 20 20 .;;.(if.(fboundp.'mapcan).;;....
3c20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 27 6d 61 70 63 61 .(defalias.'malyon-mapcan.'mapca
3c40 6e 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 28 66 75 n).;;...(defun.malyon-mapcan.(fu
3c60 6e 63 74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 nction.list).;;....."Apply.fun.t
3c80 6f 20 65 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 72 67 73 20 6e 63 6f 6e 63 27 69 6e o.every.element.of.args.nconc'in
3ca0 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 g.the.result.".;;.....(if.(null.
3cc0 6c 69 73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 66 list).;;..'().;;.......(nconc.(f
3ce0 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 09 uncall.function.(car.list)).;;..
3d00 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 28 63 64 .....(malyon-mapcan.function.(cd
3d20 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 65 20 r.list))))))...;.Do.not.use.the.
3d40 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 6d 75 6c 74 69 62 79 built-in.conversion.via.'multiby
3d60 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f te-char-to-unibyte..(defun.malyo
3d80 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 79 74 65 20 28 63 68 61 n-multibyte-char-to-unibyte.(cha
3da0 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 r)..."Convert.a.multibyte.charac
3dc0 74 65 72 20 74 6f 20 75 6e 69 62 79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 65 66 75 6e ter.to.unibyte."...char)..(defun
3de0 20 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 .malyon-point-max.(&optional.buf
3e00 66 65 72 29 0a 20 20 22 47 65 74 20 74 68 65 20 70 6f 69 6e 74 2d 6d 61 78 20 6f 66 20 74 68 65 fer)..."Get.the.point-max.of.the
3e20 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f .given.buffer."...(save-excursio
3e40 6e 0a 20 20 20 20 28 69 66 20 62 75 66 66 65 72 20 28 73 65 74 2d 62 75 66 66 65 72 20 62 75 66 n.....(if.buffer.(set-buffer.buf
3e60 66 65 72 29 29 0a 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 fer)).....(point-max)))..(defun.
3e80 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 28 66 72 61 6d 65 20 26 72 malyon-redisplay-frame.(frame.&r
3ea0 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 52 65 64 69 73 70 6c 61 79 20 74 68 65 20 67 69 76 est.ignore)..."Redisplay.the.giv
3ec0 65 6e 20 66 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 72 65 64 69 73 en.frame."...(if.(fboundp.'redis
3ee0 70 6c 61 79 2d 66 72 61 6d 65 29 0a 20 20 20 20 20 20 28 72 65 64 69 73 70 6c 61 79 2d 66 72 61 play-frame).......(redisplay-fra
3f00 6d 65 20 66 72 61 6d 65 20 69 67 6e 6f 72 65 29 29 29 0a 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f me.frame.ignore)))...;;.(if.(fbo
3f20 75 6e 64 70 20 27 72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 undp.'remove).;;.....(defalias.'
3f40 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 27 72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 28 64 65 66 malyon-remove.'remove).;;...(def
3f60 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 28 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 0a un.malyon-remove.(element.list).
3f80 3b 3b 20 20 20 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 ;;....."Remove.the.element.from.
3fa0 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c the.list.".;;.....(cond.((null.l
3fc0 69 73 74 29 0a 3b 3b 20 09 20 20 20 27 28 29 29 0a 3b 3b 20 09 20 20 28 28 65 71 20 65 6c 65 6d ist).;;.....'()).;;....((eq.elem
3fe0 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 09 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 ent.(car.list)).;;.....(malyon-r
4000 65 6d 6f 76 65 20 65 6c 65 6d 65 6e 74 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 3b 3b 20 09 20 emove.element.(cdr.list))).;;...
4020 20 28 28 65 71 75 61 6c 20 65 6c 65 6d 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 .((equal.element.(car.list)).;;.
4040 09 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 65 6c 65 6d 65 6e 74 20 28 63 64 72 20 ....(malyon-remove.element.(cdr.
4060 6c 69 73 74 29 29 29 0a 3b 3b 20 09 20 20 28 74 0a 3b 3b 20 09 20 20 20 28 63 6f 6e 73 20 28 63 list))).;;....(t.;;.....(cons.(c
4080 61 72 20 6c 69 73 74 29 0a 3b 3b 20 09 09 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 65 6c ar.list).;;....(malyon-remove.el
40a0 65 6d 65 6e 74 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 65 67 61 63 ement.(cdr.list)))))))..;;.legac
40c0 79 20 74 68 69 6e 67 2e 2e 2e 20 6e 6f 72 6d 61 6c 6c 79 20 74 68 69 73 20 69 73 20 61 20 6e 6f y.thing....normally.this.is.a.no
40e0 6f 70 20 66 6f 72 20 46 53 46 20 45 6d 61 63 73 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 op.for.FSF.Emacs.(defun.malyon-s
4100 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 28 6b 65 79 6d 61 70 20 6e 61 6d 65 29 0a 20 20 22 et-keymap-name.(keymap.name)..."
4120 53 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6b 65 79 6d 61 70 2e 22 0a 20 20 28 Set.the.name.of.the.keymap."...(
4140 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 29 0a 20 20 if.(fboundp.'set-keymap-name)...
4160 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6b 65 79 6d 61 70 20 6e 61 6d 65 ....(set-keymap-name.keymap.name
4180 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d )))..;;.(if.(fboundp.'string-to-
41a0 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 73 list).;;.....(defalias.'malyon-s
41c0 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 29 0a 3b tring-to-list.'string-to-list).;
41e0 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 ;...(defun.malyon-string-to-list
4200 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e .(s).;;....."Convert.a.string.in
4220 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 3b 3b 20 20 20 20 to.a.list.of.characters.".;;....
4240 20 28 6c 65 74 20 28 28 69 20 28 2d 20 28 6c 65 6e 67 74 68 20 73 29 20 31 29 29 20 28 6c 20 27 .(let.((i.(-.(length.s).1)).(l.'
4260 28 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 30 20 69 29 0a 3b 3b ())).;;.......(while.(<=.0.i).;;
4280 20 09 28 73 65 74 71 20 6c 20 28 63 6f 6e 73 20 28 61 72 65 66 20 73 20 69 29 20 6c 29 0a 3b 3b ..(setq.l.(cons.(aref.s.i).l).;;
42a0 20 09 20 20 20 20 20 20 69 20 28 2d 20 69 20 31 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 6c 29 29 ........i.(-.i.1))).;;.......l))
42c0 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 )..;;.(if.(fboundp.'string-to-ve
42e0 63 74 6f 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 73 ctor).;;.....(defalias.'malyon-s
4300 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f tring-to-vector.'string-to-vecto
4320 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d r).;;...(defun.malyon-string-to-
4340 76 65 63 74 6f 72 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74 72 vector.(s).;;....."Convert.a.str
4360 69 6e 67 20 69 6e 74 6f 20 61 20 76 65 63 74 6f 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e ing.into.a.vector.of.characters.
4380 22 0a 3b 3b 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 20 30 29 20 28 6c 20 28 6c 65 6e 67 74 68 ".;;.....(let*.((i.0).(l.(length
43a0 20 73 29 29 20 28 76 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 6c 20 30 29 29 29 0a 3b 3b 20 20 .s)).(v.(make-vector.l.0))).;;..
43c0 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 29 0a 3b 3b 20 09 28 61 73 65 74 20 76 20 .....(while.(<.i.l).;;..(aset.v.
43e0 69 20 28 61 72 65 66 20 73 20 69 29 29 0a 3b 3b 20 09 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 i.(aref.s.i)).;;..(setq.i.(+.1.i
4400 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 76 29 29 29 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 ))).;;.......v)))..;.Do.not.use.
4420 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 75 6e 69 the.built-in.conversion.via.'uni
4440 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d byte-char-to-multibyte..(defun.m
4460 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65 20 alyon-unibyte-char-to-multibyte.
4480 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 75 6e 69 62 79 74 65 20 63 68 61 72 (char)..."Convert.a.unibyte.char
44a0 61 63 74 65 72 20 74 6f 20 6d 75 6c 74 69 62 79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 acter.to.multibyte."...char)..(d
44c0 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 28 76 20 62 65 efun.malyon-vector-to-list.(v.be
44e0 67 69 6e 20 65 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 65 gin.end)..."Return.a.list.of.ele
4500 6d 65 6e 74 73 20 69 6e 20 76 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 5b 62 65 67 69 6e 2c 20 ments.in.v.in.the.range.[begin,.
4520 65 6e 64 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 27 28 29 29 29 0a 20 20 20 end)."...(let.((result.'()))....
4540 20 28 77 68 69 6c 65 20 28 3c 20 62 65 67 69 6e 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74 .(while.(<.begin.end).......(set
4560 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 28 61 72 65 66 20 76 20 62 65 67 69 6e 29 20 72 65 q.result.(cons.(aref.v.begin).re
4580 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 69 6e 20 28 2b 20 31 20 62 65 sult)).......(setq.begin.(+.1.be
45a0 67 69 6e 29 29 29 0a 20 20 20 20 28 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 0a gin))).....(reverse.result)))...
45c0 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 (defun.malyon-window-displayed-h
45e0 65 69 67 68 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 77 69 6e 64 6f 77 29 0a 20 20 22 47 65 74 20 eight.(&optional.window)..."Get.
4600 74 68 65 20 68 65 69 67 68 74 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 64 69 73 70 6c the.height.of.the.window's.displ
4620 61 79 65 64 20 72 65 67 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77 69 ayed.region."...(if.(fboundp.'wi
4640 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 77 69 ndow-displayed-height).......(wi
4660 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 20 77 69 6e 64 6f 77 29 0a 20 20 ndow-displayed-height.window)...
4680 20 20 28 2d 20 28 77 69 6e 64 6f 77 2d 68 65 69 67 68 74 29 20 31 29 29 29 0a 0a 28 64 65 66 75 ..(-.(window-height).1)))..(defu
46a0 6e 20 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 28 70 72 n.malyon-yes-or-no-p-minibuf.(pr
46c0 6f 6d 70 74 29 0a 20 20 22 41 73 6b 20 61 20 79 65 73 20 6f 72 20 6e 6f 20 71 75 65 73 74 69 6f ompt)..."Ask.a.yes.or.no.questio
46e0 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d n."...(if.(fboundp.'yes-or-no-p-
4700 6d 69 6e 69 62 75 66 29 0a 20 20 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 minibuf).......(yes-or-no-p-mini
4720 62 75 66 20 70 72 6f 6d 70 74 29 0a 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 70 72 6f buf.prompt).....(yes-or-no-p.pro
4740 6d 70 74 29 29 29 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 mpt)))..;;.global.variables.for.
4760 74 68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d the.malyon.mode..(defvar.malyon-
4780 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 53 79 6e 74 61 78 20 74 61 62 6c 65 syntax-table.nil..."Syntax.table
47a0 20 75 73 65 64 20 77 68 69 6c 65 20 69 6e 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 28 73 61 6d 65 .used.while.in.malyon.mode.(same
47c0 20 61 73 20 69 6e 20 74 65 78 74 2d 6d 6f 64 65 29 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e .as.in.text-mode).")..(if.malyon
47e0 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 -syntax-table.....'()...(setq.ma
4800 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d 74 lyon-syntax-table.(make-syntax-t
4820 61 62 6c 65 29 29 0a 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c able))...(modify-syntax-entry.?\
4840 22 20 22 2e 20 20 20 22 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 "."....".malyon-syntax-table)...
4860 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 5c 20 22 2e 20 20 20 22 20 (modify-syntax-entry.?\\."....".
4880 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 6d 6f 64 69 66 79 2d 73 malyon-syntax-table)...(modify-s
48a0 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 27 20 20 22 77 20 20 20 22 20 6d 61 6c 79 6f 6e 2d 73 79 yntax-entry.?'.."w...".malyon-sy
48c0 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 ntax-table))..(defvar.malyon-key
48e0 6d 61 70 2d 72 65 61 64 20 6e 69 6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 6f map-read.nil..."Keymap.for.malyo
4900 6e 20 6d 6f 64 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 69 6e 74 6f 20 61 20 n.mode.for.reading.input.into.a.
4920 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 buffer.")..(defvar.malyon-histor
4940 79 2d 73 61 76 65 64 2d 75 70 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64 20 62 69 6e 64 y-saved-up.nil..."The.saved.bind
4960 69 6e 67 20 66 6f 72 20 74 68 65 20 75 70 20 61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 64 65 ing.for.the.up.arrow.key.")..(de
4980 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20 6e fvar.malyon-history-saved-down.n
49a0 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 il..."The.saved.binding.for.the.
49c0 64 6f 77 6e 20 61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 down.arrow.key.")..(if.malyon-ke
49e0 79 6d 61 70 2d 72 65 61 64 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e ymap-read.....'()...(setq.malyon
4a00 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 -keymap-read.(make-sparse-keymap
4a20 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61 6c ))...(malyon-set-keymap-name.mal
4a40 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 yon-keymap-read.'malyon-keymap-r
4a60 65 61 64 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 ead)...(setq.malyon-history-save
4a80 64 2d 75 70 20 20 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 75 70 5d 29 d-up...(global-key-binding.[up])
4aa0 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 )...(setq.malyon-history-saved-d
4ac0 6f 77 6e 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 64 6f 77 6e 5d 29 29 own.(global-key-binding.[down]))
4ae0 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 ...(define-key.malyon-keymap-rea
4b00 64 20 22 5c 72 22 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 75 74 29 d."\r"........'malyon-end-input)
4b20 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 ...(define-key.malyon-keymap-rea
4b40 64 20 5b 75 70 5d 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 d.[up]........'malyon-history-pr
4b60 65 76 69 6f 75 73 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f evious-char)...(define-key.malyo
4b80 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 6f 77 6e 5d 20 20 20 20 20 20 27 6d 61 6c 79 6f n-keymap-read.[down]......'malyo
4ba0 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b n-history-next-char)...(define-k
4bc0 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 70 22 20 20 20 20 ey.malyon-keymap-read."\M-p"....
4be0 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 2d 63 68 61 72 29 ..'malyon-history-previous-char)
4c00 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 ...(define-key.malyon-keymap-rea
4c20 64 20 22 5c 4d 2d 6e 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 d."\M-n"......'malyon-history-ne
4c40 78 74 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 xt-char)...(define-key.malyon-ke
4c60 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 61 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 62 65 ymap-read."\C-a"......'malyon-be
4c80 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d ginning-of-line)...(define-key.m
4ca0 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 77 22 20 20 20 20 20 20 27 6d alyon-keymap-read."\C-w"......'m
4cc0 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 alyon-kill-region)...(define-key
4ce0 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 6b 22 20 20 20 20 20 20 .malyon-keymap-read."\C-k"......
4d00 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 6c 69 6e 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 'malyon-kill-line)...(define-key
4d20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 64 22 20 20 20 20 20 20 .malyon-keymap-read."\M-d"......
4d40 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 'malyon-kill-word)...(define-key
4d60 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 79 22 20 20 20 20 20 20 .malyon-keymap-read."\C-y"......
4d80 27 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 'malyon-yank)...(define-key.maly
4da0 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 79 22 20 20 20 20 20 20 27 6d 61 6c 79 on-keymap-read."\M-y"......'maly
4dc0 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f on-yank-pop)...(define-key.malyo
4de0 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 64 22 20 20 20 20 20 20 27 6d 61 6c 79 6f n-keymap-read."\C-d"......'malyo
4e00 6e 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c n-delete-char)...(define-key.mal
4e20 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 64 22 20 20 20 20 20 20 20 20 27 6d 61 6c yon-keymap-read."\d"........'mal
4e40 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 65 66 yon-backward-delete-char)...(def
4e60 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 65 6c 5d ine-key.malyon-keymap-read.[del]
4e80 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 .......'malyon-delete-char)...(d
4ea0 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 62 61 efine-key.malyon-keymap-read.[ba
4ec0 63 6b 73 70 61 63 65 5d 20 27 6d 61 6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 ckspace].'malyon-backward-delete
4ee0 2d 63 68 61 72 29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 -char)...(substitute-key-definit
4f00 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d ion.(lookup-key.(current-global-
4f20 6d 61 70 29 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 map)."a").......................
4f40 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 .......'malyon-self-insert-comma
4f60 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd..............................
4f80 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 malyon-keymap-read.(current-glob
4fa0 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 al-map)))..(defvar.malyon-keymap
4fc0 2d 72 65 61 64 63 68 61 72 20 6e 69 6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 -readchar.nil..."Keymap.for.maly
4fe0 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 22 29 on.mode.for.waiting.for.input.")
5000 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 0a 20 20 20 ..(if.malyon-keymap-readchar....
5020 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 .'()...(setq.malyon-keymap-readc
5040 68 61 72 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 28 6d 61 6c har.(make-sparse-keymap))...(mal
5060 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 yon-set-keymap-name.malyon-keyma
5080 70 2d 72 65 61 64 63 68 61 72 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 p-readchar.'malyon-keymap-readch
50a0 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d ar)...(define-key.malyon-keymap-
50c0 72 65 61 64 63 68 61 72 20 22 5c 72 22 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 29 readchar."\r".'malyon-wait-char)
50e0 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c ...(substitute-key-definition.(l
5100 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 ookup-key.(current-global-map)."
5120 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a").............................
5140 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'malyon-wait-char..............
5160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 ................malyon-keymap-re
5180 61 64 63 68 61 72 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 adchar.(current-global-map)))..(
51a0 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 6e 69 6c 0a 20 20 defvar.malyon-keymap-more.nil...
51c0 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 72 6f 77 "Keymap.for.malyon.mode.for.brow
51e0 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 65 78 74 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e sing.through.text.")..(if.malyon
5200 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c -keymap-more.....'()...(setq.mal
5220 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 yon-keymap-more.(make-sparse-key
5240 6d 61 70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 map))...(malyon-set-keymap-name.
5260 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 malyon-keymap-more.'malyon-keyma
5280 70 2d 6d 6f 72 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 p-more)...(define-key.malyon-key
52a0 6d 61 70 2d 6d 6f 72 65 20 22 5c 72 22 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 29 map-more."\r".'malyon-more-char)
52c0 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c ...(substitute-key-definition.(l
52e0 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 ookup-key.(current-global-map)."
5300 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a").............................
5320 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'malyon-more-char..............
5340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f ................malyon-keymap-mo
5360 72 65 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66 76 re.(current-global-map)))..(defv
5380 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 6e 69 6c ar.malyon-keymap-more-status.nil
53a0 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 ..."Keymap.for.malyon.mode.for.b
53c0 72 6f 77 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 rowsing.through.the.status.buffe
53e0 72 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 r.")..(if.malyon-keymap-more-sta
5400 74 75 73 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 tus.....'()...(setq.malyon-keyma
5420 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 p-more-status.(make-sparse-keyma
5440 70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61 p))...(malyon-set-keymap-name.ma
5460 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 27 6d 61 6c 79 6f 6e 2d lyon-keymap-more-status.'malyon-
5480 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 keymap-more-status)...(define-ke
54a0 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 22 5c 72 22 y.malyon-keymap-more-status."\r"
54c0 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 29 0a 20 20 28 73 75 .'malyon-more-char-status)...(su
54e0 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d bstitute-key-definition.(lookup-
5500 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 61 22 29 0a 20 20 key.(current-global-map)."a")...
5520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 ...........................'maly
5540 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 on-more-char-status.............
5560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d .................malyon-keymap-m
5580 6f 72 65 2d 73 74 61 74 75 73 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 ore-status.(current-global-map))
55a0 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 0a 20 20 )..(defface.malyon-face-plain...
55c0 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 42 61 73 69 63 '((t.:inherit.default))..."Basic
55e0 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 .face.for.game.text."...:group.'
5600 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62 6f malyon)..(defface.malyon-face-bo
5620 6c 64 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 62 6f 6c 64 29 29 0a 20 20 22 42 6f 6c ld...'((t.:inherit.bold))..."Bol
5640 64 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 d.face.for.game.text."...:group.
5660 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 65 'malyon)..(defface.malyon-face-e
5680 72 72 6f 72 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 65 72 72 6f 72 29 29 0a 20 20 22 rror...'((t.:inherit.error))..."
56a0 46 61 63 65 20 66 6f 72 20 67 61 6d 65 20 65 72 72 6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 Face.for.game.errors."...:group.
56c0 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 'malyon)..(defface.malyon-face-i
56e0 74 61 6c 69 63 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 69 74 61 6c 69 63 29 29 0a 20 talic...'((t.:inherit.italic))..
5700 20 22 49 74 61 6c 69 63 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20 20 ."Italic.face.for.game.text."...
5720 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e :group.'malyon)..(defface.malyon
5740 2d 66 61 63 65 2d 72 65 76 65 72 73 65 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 -face-reverse...'((t.:inherit.de
5760 66 61 75 6c 74 20 3a 69 6e 76 65 72 73 65 2d 76 69 64 65 6f 20 74 29 29 0a 20 20 22 46 61 63 65 fault.:inverse-video.t))..."Face
5780 20 66 6f 72 20 72 65 76 65 72 73 65 2d 76 69 64 65 6f 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f .for.reverse-video.text."...:gro
57a0 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 up.'malyon)..(defvar.malyon-face
57c0 73 0a 20 20 27 28 28 30 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 0a 20 20 s...'((0...malyon-face-plain)...
57e0 20 20 28 31 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 29 0a 20 20 20 20 ..(1...malyon-face-reverse).....
5800 28 32 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62 6f 6c 64 29 0a 20 20 20 20 28 34 20 2e 20 (2...malyon-face-bold).....(4...
5820 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 74 61 6c 69 63 29 0a 20 20 20 20 28 38 20 2e 20 6d 61 6c malyon-face-italic).....(8...mal
5840 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 29 0a 20 20 22 41 6e 20 61 73 73 6f 63 69 61 74 69 yon-face-plain))..."An.associati
5860 6f 6e 20 6c 69 73 74 20 6f 66 20 74 65 78 74 20 66 61 63 65 73 20 75 73 65 64 20 62 79 20 74 68 on.list.of.text.faces.used.by.th
5880 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e e.malyon.mode.")..(defvar.malyon
58a0 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f 72 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 69 -print-separator.nil..."A.flag.i
58c0 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 72 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 2a ndicating.whether.to.print.the.*
58e0 20 2a 20 2a 20 73 65 70 61 72 61 74 6f 72 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e .*.*.separator.")..(defun.malyon
5900 2d 62 65 67 69 6e 2d 73 65 63 74 69 6f 6e 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 65 63 -begin-section.()..."Print.a.sec
5920 74 69 6f 6e 20 64 69 76 69 64 65 72 20 61 6e 64 20 62 65 67 69 6e 20 61 20 6e 65 77 20 73 65 63 tion.divider.and.begin.a.new.sec
5940 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 tion."...(if.malyon-print-separa
5960 74 6f 72 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 27 tor.......(progn.........(mapc.'
5980 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e 20 malyon-putchar-transcript.'(?\n.
59a0 3f 5c 6e 20 3f 2a 20 3f 20 20 3f 2a 20 3f 20 20 3f 2a 29 29 0a 20 20 20 20 20 20 20 20 28 63 65 ?\n.?*.?..?*.?..?*)).........(ce
59c0 6e 74 65 72 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f 6e nter-line).........(mapc.'malyon
59e0 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e 20 3f 5c 6e 29 29 0a -putchar-transcript.'(?\n.?\n)).
5a00 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 ........(setq.malyon-print-separ
5a20 61 74 6f 72 20 6e 69 6c 29 29 29 0a 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 ator.nil)))...(narrow-to-region.
5a40 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 69 66 20 6d (point-max).(point-max)))..(if.m
5a60 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 alyon-whitespace.....'()...(setq
5a80 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e .malyon-whitespace.(list.(malyon
5aa0 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -char-to-int.?.)................
5ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f .................(malyon-char-to
5ae0 2d 69 6e 74 20 3f 5c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -int.?\t).......................
5b00 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 5c ..........(malyon-char-to-int.?\
5b20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n)..............................
5b40 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 5c 72 29 29 29 29 0a 0a ...(malyon-char-to-int.?\r))))..
5b60 3b 3b 20 6d 65 6d 6f 72 79 20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20 6d ;;.memory.utilities..(defsubst.m
5b80 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 61 alyon-read-byte.(address)..."Rea
5ba0 64 20 61 20 62 79 74 65 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 d.a.byte.at.address.in.the.story
5bc0 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20 20 .file."...(if.(<=.0.address)....
5be0 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 ...(aref.malyon-story-file.addre
5c00 73 73 29 0a 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 ss).....(aref.malyon-story-file.
5c20 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 (+.65536.address))))..(defsubst.
5c40 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 malyon-store-byte.(address.value
5c60 29 0a 20 20 22 53 74 6f 72 65 20 61 20 62 79 74 65 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 )..."Store.a.byte.at.address.in.
5c80 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 the.story.file."...(if.(<=.0.add
5ca0 72 65 73 73 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 ress).......(aset.malyon-story-f
5cc0 69 6c 65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 0a ile.address.(logand.255.value)).
5ce0 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 ....(aset.malyon-story-file.(+.6
5d00 35 35 33 36 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 5536.address).(logand.255.value)
5d20 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 )))..(defsubst.malyon-read-word.
5d40 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 61 64 20 61 20 77 6f 72 64 20 61 74 20 61 64 64 72 (address)..."Read.a.word.at.addr
5d60 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c ess.in.the.story.file."...(if.(<
5d80 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 =.0.address).......(logior.(lsh.
5da0 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73 29 (aref.malyon-story-file.address)
5dc0 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 .8)...............(aref.malyon-s
5de0 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6c tory-file.(+.1.address))).....(l
5e00 6f 67 69 6f 72 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 ogior.(lsh.(aref.malyon-story-fi
5e20 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73 73 29 29 20 38 29 0a 20 20 20 20 20 20 20 le.(+.65536.address)).8)........
5e40 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 .....(aref.malyon-story-file.(+.
5e60 36 35 35 33 37 20 61 64 64 72 65 73 73 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 65537.address)))))..(defsubst.ma
5e80 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a lyon-store-word.(address.value).
5ea0 20 20 22 53 74 6f 72 65 20 61 20 77 6f 72 64 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 .."Store.a.word.at.address.in.th
5ec0 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72 65 e.story.file."...(if.(<=.0.addre
5ee0 73 73 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d ss).......(progn.........(aset.m
5f00 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e 64 alyon-story-file.address.(logand
5f20 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 .255.(lsh.value.-8))).........(a
5f40 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72 65 set.malyon-story-file.(+.1.addre
5f60 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 61 73 ss).(logand.255.value))).....(as
5f80 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 et.malyon-story-file.(+.65536.ad
5fa0 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 20 2d 38 dress).(logand.255.(lsh.value.-8
5fc0 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 ))).....(aset.malyon-story-file.
5fe0 28 2b 20 36 35 35 33 37 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 (+.65537.address).(logand.255.va
6000 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 lue))))..(defsubst.malyon-read-c
6020 6f 64 65 2d 62 79 74 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74 ode-byte.()..."Read.the.next.byt
6040 65 20 61 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 6c 6f 63 61 74 69 6f e.at.the.program.counter.locatio
6060 6e 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 n."...(setq.malyon-instruction-p
6080 6f 69 6e 74 65 72 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 ointer.(+.malyon-instruction-poi
60a0 6e 74 65 72 20 31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2d 20 nter.1))...(malyon-read-byte.(-.
60c0 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 31 29 29 29 0a malyon-instruction-pointer.1))).
60e0 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 .(defsubst.malyon-read-code-word
6100 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 77 6f 72 64 20 61 74 20 74 68 65 .()..."Read.the.next.word.at.the
6120 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 6c 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28 73 .program.counter.location."...(s
6140 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 etq.malyon-instruction-pointer.(
6160 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29 29 +.malyon-instruction-pointer.2))
6180 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2d 20 6d 61 6c 79 6f 6e 2d 69 ...(malyon-read-word.(-.malyon-i
61a0 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29 29 29 0a 0a 28 64 65 66 73 75 62 nstruction-pointer.2)))..(defsub
61c0 73 74 20 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 20 28 29 0a 20 20 22 50 6f 70 20 61 20 st.malyon-pop-stack.()..."Pop.a.
61e0 76 61 6c 75 65 20 6f 66 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 20 28 69 66 20 28 3e 20 30 value.off.the.stack."...(if.(>.0
6200 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 6d 61 .malyon-stack-pointer).......(ma
6220 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 73 74 61 63 6b 20 75 6e 64 65 72 66 6c 6f lyon-fatal-error."stack.underflo
6240 77 2e 22 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 w."))...(setq.malyon-stack-point
6260 65 72 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 er.(-.malyon-stack-pointer.1))..
6280 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 2b 20 6d 61 6c 79 6f 6e 2d 73 74 .(aref.malyon-stack.(+.malyon-st
62a0 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 ack-pointer.1)))..(defsubst.maly
62c0 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 on-read-local-variable.(variable
62e0 29 0a 20 20 22 52 65 61 64 20 61 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 )..."Read.a.local.variable."...(
6300 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 2b 20 76 61 72 69 61 62 6c 65 20 6d 61 aref.malyon-stack.(+.variable.ma
6320 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 lyon-frame-pointer)))..(defsubst
6340 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 .malyon-read-global-variable.(va
6360 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c riable)..."Read.a.global.variabl
6380 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f e."...(malyon-read-word.(+.malyo
63a0 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 2a 20 32 20 76 61 72 69 61 62 6c 65 n-global-variables.(*.2.variable
63c0 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 ))))..(defsubst.malyon-read-vari
63e0 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64 20 61 20 76 61 72 69 61 62 able.(variable)..."Read.a.variab
6400 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 76 61 72 69 61 62 6c 65 20 30 29 20 20 28 6d le."...(cond.((=.variable.0)..(m
6420 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 76 61 alyon-pop-stack)).........((<.va
6440 72 69 61 62 6c 65 20 31 36 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76 61 riable.16).(malyon-read-local-va
6460 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20 20 riable.variable)).........(t....
6480 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 ...........(malyon-read-global-v
64a0 61 72 69 61 62 6c 65 20 28 2d 20 76 61 72 69 61 62 6c 65 20 31 36 29 29 29 29 29 0a 0a 28 64 65 ariable.(-.variable.16)))))..(de
64c0 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65 29 fsubst.malyon-push-stack.(value)
64e0 0a 20 20 22 50 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b 2e ..."Push.a.value.onto.the.stack.
6500 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 28 "...(setq.malyon-stack-pointer.(
6520 2b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 20 28 61 73 +.malyon-stack-pointer.1))...(as
6540 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 et.malyon-stack.malyon-stack-poi
6560 6e 74 65 72 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 nter.value))..(defsubst.malyon-s
6580 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 20 76 61 tore-local-variable.(variable.va
65a0 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 6e 20 61 20 6c 6f 63 61 6c lue)..."Store.a.value.in.a.local
65c0 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b .variable."...(aset.malyon-stack
65e0 20 28 2b 20 76 61 72 69 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 .(+.variable.malyon-frame-pointe
6600 72 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f r).value))..(defsubst.malyon-sto
6620 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c re-global-variable.(variable.val
6640 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 6e 20 61 20 67 6c 6f 62 61 6c ue)..."Store.a.value.in.a.global
6660 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 .variable."...(malyon-store-word
6680 20 28 2b 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 2a 20 32 .(+.malyon-global-variables.(*.2
66a0 20 76 61 72 69 61 62 6c 65 29 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d .variable)).value))..(defsubst.m
66c0 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 20 76 61 6c 75 65 29 alyon-store-variable.(var.value)
66e0 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 61 20 76 61 72 69 61 62 6c ..."Store.the.value.in.a.variabl
6700 65 2e 22 0a 20 20 28 73 65 74 71 20 76 61 6c 75 65 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 e."...(setq.value.(logand.65535.
6720 76 61 6c 75 65 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20 28 6d 61 6c value))...(cond.((=.var.0)..(mal
6740 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 yon-push-stack.value)).........(
6760 28 3c 20 76 61 72 20 31 36 29 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 (<.var.16).(malyon-store-local-v
6780 61 72 69 61 62 6c 65 20 76 61 72 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 ariable.var.value)).........(t..
67a0 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 ........(malyon-store-global-var
67c0 69 61 62 6c 65 20 28 2d 20 76 61 72 20 31 36 29 20 76 61 6c 75 65 29 29 29 29 0a 0a 3b 3b 20 6c iable.(-.var.16).value))))..;;.l
67e0 69 73 74 20 6f 66 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f ist.of.opcodes..(defvar.malyon-o
6800 70 63 6f 64 65 73 0a 20 20 5b 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d pcodes...[malyon-opcode-nop....m
6820 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c alyon-opcode-je..............mal
6840 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a yon-opcode-jl....malyon-opcode-j
6860 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 g..............malyon-opcode-dec
6880 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 -chk....malyon-opcode-inc-chk...
68a0 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f ......malyon-opcode-jin....malyo
68c0 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d n-opcode-test............malyon-
68e0 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 opcode-or....malyon-opcode-and..
6900 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 ...........malyon-opcode-test-at
6920 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20 20 tr....malyon-opcode-set-attr....
6940 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20 20 ....malyon-opcode-clear-attr....
6960 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d 61 malyon-opcode-store...........ma
6980 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e lyon-opcode-insert-obj....malyon
69a0 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f -opcode-loadw...........malyon-o
69c0 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 pcode-loadb....malyon-opcode-get
69e0 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 -prop........malyon-opcode-get-p
6a00 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 rop-addr....malyon-opcode-get-ne
6a20 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20 6d xt-prop...malyon-opcode-add....m
6a40 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c alyon-opcode-sub.............mal
6a60 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d yon-opcode-mul....malyon-opcode-
6a80 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f div.............malyon-opcode-mo
6aa0 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20 20 d....malyon-opcode-calls........
6ac0 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e ...malyon-opcode-calln....malyon
6ae0 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f -opcode-set-color.......malyon-o
6b00 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 pcode-throw....malyon-opcode-nop
6b20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 .............malyon-opcode-nop..
6b40 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 ..malyon-opcode-nop.............
6b60 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f malyon-opcode-nop....malyon-opco
6b80 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 de-je..............malyon-opcode
6ba0 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 20 20 -jl....malyon-opcode-jg.........
6bc0 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 6d 61 .....malyon-opcode-dec-chk....ma
6be0 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 6c 79 lyon-opcode-inc-chk.........maly
6c00 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 on-opcode-jin....malyon-opcode-t
6c20 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a est............malyon-opcode-or.
6c40 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 ...malyon-opcode-and............
6c60 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 .malyon-opcode-test-attr....maly
6c80 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e on-opcode-set-attr........malyon
6ca0 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 -opcode-clear-attr....malyon-opc
6cc0 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 ode-store...........malyon-opcod
6ce0 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f e-insert-obj....malyon-opcode-lo
6d00 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 adw...........malyon-opcode-load
6d20 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 20 20 b....malyon-opcode-get-prop.....
6d40 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 0a 20 ...malyon-opcode-get-prop-addr..
6d60 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 20 20 ..malyon-opcode-get-next-prop...
6d80 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f malyon-opcode-add....malyon-opco
6da0 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 de-sub.............malyon-opcode
6dc0 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 20 20 -mul....malyon-opcode-div.......
6de0 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f ......malyon-opcode-mod....malyo
6e00 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d n-opcode-calls...........malyon-
6e20 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 opcode-calln....malyon-opcode-se
6e40 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f t-color.......malyon-opcode-thro
6e60 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 w....malyon-opcode-nop..........
6e80 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f ...malyon-opcode-nop....malyon-o
6ea0 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 pcode-nop.............malyon-opc
6ec0 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20 20 ode-nop....malyon-opcode-je.....
6ee0 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c .........malyon-opcode-jl....mal
6f00 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f yon-opcode-jg..............malyo
6f20 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 n-opcode-dec-chk....malyon-opcod
6f40 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d e-inc-chk.........malyon-opcode-
6f60 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20 20 jin....malyon-opcode-test.......
6f80 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d .....malyon-opcode-or....malyon-
6fa0 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 opcode-and.............malyon-op
6fc0 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d code-test-attr....malyon-opcode-
6fe0 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c set-attr........malyon-opcode-cl
7000 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 ear-attr....malyon-opcode-store.
7020 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f ..........malyon-opcode-insert-o
7040 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20 20 bj....malyon-opcode-loadw.......
7060 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f ....malyon-opcode-loadb....malyo
7080 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d n-opcode-get-prop........malyon-
70a0 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f opcode-get-prop-addr....malyon-o
70c0 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 pcode-get-next-prop...malyon-opc
70e0 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20 20 ode-add....malyon-opcode-sub....
7100 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 .........malyon-opcode-mul....ma
7120 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 lyon-opcode-div.............maly
7140 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 on-opcode-mod....malyon-opcode-c
7160 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c alls...........malyon-opcode-cal
7180 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 ln....malyon-opcode-set-color...
71a0 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f ....malyon-opcode-throw....malyo
71c0 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d n-opcode-nop.............malyon-
71e0 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 opcode-nop....malyon-opcode-nop.
7200 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 ............malyon-opcode-nop...
7220 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d .malyon-opcode-je..............m
7240 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 alyon-opcode-jl....malyon-opcode
7260 2d 6a 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 -jg..............malyon-opcode-d
7280 65 63 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 ec-chk....malyon-opcode-inc-chk.
72a0 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c ........malyon-opcode-jin....mal
72c0 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f yon-opcode-test............malyo
72e0 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 n-opcode-or....malyon-opcode-and
7300 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d .............malyon-opcode-test-
7320 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 attr....malyon-opcode-set-attr..
7340 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 ......malyon-opcode-clear-attr..
7360 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 ..malyon-opcode-store...........
7380 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 malyon-opcode-insert-obj....maly
73a0 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e on-opcode-loadw...........malyon
73c0 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 -opcode-loadb....malyon-opcode-g
73e0 65 74 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 et-prop........malyon-opcode-get
7400 2d 70 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d -prop-addr....malyon-opcode-get-
7420 6e 65 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 next-prop...malyon-opcode-add...
7440 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d .malyon-opcode-sub.............m
7460 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 alyon-opcode-mul....malyon-opcod
7480 65 2d 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d e-div.............malyon-opcode-
74a0 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 mod....malyon-opcode-calls......
74c0 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 .....malyon-opcode-calln....maly
74e0 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e on-opcode-set-color.......malyon
7500 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e -opcode-throw....malyon-opcode-n
7520 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 op.............malyon-opcode-nop
7540 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 ....malyon-opcode-nop...........
7560 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 ..malyon-opcode-jz....malyon-opc
7580 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 ode-get-sibling.....malyon-opcod
75a0 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 e-get-child....malyon-opcode-get
75c0 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 -parent......malyon-opcode-get-p
75e0 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20 20 rop-len....malyon-opcode-inc....
7600 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d 61 .........malyon-opcode-dec....ma
7620 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c 79 lyon-opcode-print-addr......maly
7640 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 on-opcode-calls....malyon-opcode
7660 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 -remove-obj......malyon-opcode-p
7680 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20 20 rint-obj....malyon-opcode-ret...
76a0 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20 20 ..........malyon-opcode-jump....
76c0 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d 61 malyon-opcode-print-paddr.....ma
76e0 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 lyon-opcode-load....malyon-opcod
7700 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d e-calln...........malyon-opcode-
7720 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 jz....malyon-opcode-get-sibling.
7740 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20 6d ....malyon-opcode-get-child....m
7760 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61 6c alyon-opcode-get-parent......mal
7780 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79 6f yon-opcode-get-prop-len....malyo
77a0 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d n-opcode-inc.............malyon-
77c0 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e opcode-dec....malyon-opcode-prin
77e0 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a t-addr......malyon-opcode-calls.
7800 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20 20 ...malyon-opcode-remove-obj.....
7820 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 .malyon-opcode-print-obj....maly
7840 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e on-opcode-ret.............malyon
7860 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 -opcode-jump....malyon-opcode-pr
7880 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 int-paddr.....malyon-opcode-load
78a0 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20 20 ....malyon-opcode-calln.........
78c0 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 ..malyon-opcode-jz....malyon-opc
78e0 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 ode-get-sibling.....malyon-opcod
7900 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 e-get-child....malyon-opcode-get
7920 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 -parent......malyon-opcode-get-p
7940 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20 20 rop-len....malyon-opcode-inc....
7960 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d 61 .........malyon-opcode-dec....ma
7980 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c 79 lyon-opcode-print-addr......maly
79a0 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 on-opcode-calls....malyon-opcode
79c0 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 -remove-obj......malyon-opcode-p
79e0 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20 20 rint-obj....malyon-opcode-ret...
7a00 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20 20 ..........malyon-opcode-jump....
7a20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d 61 malyon-opcode-print-paddr.....ma
7a40 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 lyon-opcode-load....malyon-opcod
7a60 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d e-calln...........malyon-opcode-
7a80 72 74 72 75 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 20 20 20 rtrue....malyon-opcode-rfalse...
7aa0 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 0a 20 20 20 6d 61 .......malyon-opcode-print....ma
7ac0 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 72 65 74 20 20 20 20 20 20 20 6d 61 6c 79 lyon-opcode-print-ret.......maly
7ae0 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 on-opcode-nop....malyon-opcode-i
7b00 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c llegal.........malyon-opcode-ill
7b20 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 20 20 egal....malyon-opcode-restart...
7b40 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 2d 70 6f 70 70 65 64 0a 20 ......malyon-opcode-ret-popped..
7b60 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 20 20 20 20 20 20 20 20 20 20 20 ..malyon-opcode-catch...........
7b80 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 malyon-opcode-quit....malyon-opc
7ba0 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 ode-new-line........malyon-opcod
7bc0 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69 66 e-illegal....malyon-opcode-verif
7be0 79 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c y..........malyon-opcode-illegal
7c00 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69 72 61 63 79 20 20 20 20 20 20 20 20 ....malyon-opcode-piracy........
7c20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 ..malyon-opcode-nop....malyon-op
7c40 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f code-je..............malyon-opco
7c60 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 de-jl....malyon-opcode-jg.......
7c80 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 .......malyon-opcode-dec-chk....
7ca0 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 malyon-opcode-inc-chk.........ma
7cc0 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 lyon-opcode-jin....malyon-opcode
7ce0 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f -test............malyon-opcode-o
7d00 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 r....malyon-opcode-and..........
7d20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 ...malyon-opcode-test-attr....ma
7d40 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 lyon-opcode-set-attr........maly
7d60 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f on-opcode-clear-attr....malyon-o
7d80 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 pcode-store...........malyon-opc
7da0 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d ode-insert-obj....malyon-opcode-
7dc0 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f loadw...........malyon-opcode-lo
7de0 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 adb....malyon-opcode-get-prop...
7e00 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 .....malyon-opcode-get-prop-addr
7e20 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 ....malyon-opcode-get-next-prop.
7e40 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 ..malyon-opcode-add....malyon-op
7e60 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f code-sub.............malyon-opco
7e80 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 de-mul....malyon-opcode-div.....
7ea0 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c ........malyon-opcode-mod....mal
7ec0 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f yon-opcode-calls...........malyo
7ee0 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d n-opcode-calln....malyon-opcode-
7f00 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 set-color.......malyon-opcode-th
7f20 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 row....malyon-opcode-nop........
7f40 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e .....malyon-opcode-nop....malyon
7f60 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f -opcode-nop.............malyon-o
7f80 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f pcode-calls....malyon-opcode-sto
7fa0 72 65 77 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 rew..........malyon-opcode-store
7fc0 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 20 20 20 20 b....malyon-opcode-put-prop.....
7fe0 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 65 61 64 0a 20 20 20 6d 61 6c 79 6f 6e ...malyon-opcode-aread....malyon
8000 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 68 61 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f -opcode-print-char......malyon-o
8020 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6e 75 6d 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 pcode-print-num....malyon-opcode
8040 2d 72 61 6e 64 6f 6d 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 -random..........malyon-opcode-p
8060 75 73 68 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 6c 6c 20 20 20 20 20 20 20 ush....malyon-opcode-pull.......
8080 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 0a .....malyon-opcode-split-window.
80a0 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 20 20 20 20 ...malyon-opcode-set-window.....
80c0 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f .malyon-opcode-calls....malyon-o
80e0 70 63 6f 64 65 2d 65 72 61 73 65 2d 77 69 6e 64 6f 77 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 pcode-erase-window....malyon-opc
8100 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d ode-erase-line....malyon-opcode-
8120 73 65 74 2d 63 75 72 73 6f 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 set-cursor......malyon-opcode-ge
8140 74 2d 63 75 72 73 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 t-cursor....malyon-opcode-set-te
8160 78 74 2d 73 74 79 6c 65 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 2d 6d xt-style..malyon-opcode-buffer-m
8180 6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 ode....malyon-opcode-output-stre
81a0 61 6d 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d 0a am...malyon-opcode-input-stream.
81c0 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 ...malyon-opcode-nop............
81e0 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 61 64 2d 63 68 61 72 0a 20 20 20 6d 61 6c 79 .malyon-opcode-read-char....maly
8200 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c 79 6f 6e on-opcode-scan-table......malyon
8220 2d 6f 70 63 6f 64 65 2d 6e 6f 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c -opcode-not....malyon-opcode-cal
8240 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e ln...........malyon-opcode-calln
8260 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 20 20 20 20 20 ....malyon-opcode-tokenise......
8280 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 6e 63 6f 64 65 2d 74 65 78 74 0a 20 20 20 6d ..malyon-opcode-encode-text....m
82a0 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c alyon-opcode-copy-table......mal
82c0 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 74 61 62 6c 65 0a 20 20 20 6d 61 6c 79 6f 6e yon-opcode-print-table....malyon
82e0 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 6d 61 6c 79 6f 6e 2d 6f -opcode-check-arg-count.malyon-o
8300 70 63 6f 64 65 2d 73 61 76 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 pcode-save....malyon-opcode-rest
8320 6f 72 65 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73 68 ore.........malyon-opcode-log-sh
8340 69 66 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20 20 ift....malyon-opcode-art-shift..
8360 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 66 6f 6e 74 0a 20 20 20 6d .....malyon-opcode-set-font....m
8380 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61 6c alyon-opcode-illegal.........mal
83a0 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 yon-opcode-illegal....malyon-opc
83c0 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 ode-illegal.........malyon-opcod
83e0 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 2d e-illegal....malyon-opcode-save-
8400 75 6e 64 6f 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 undo.......malyon-opcode-restore
8420 2d 75 6e 64 6f 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e 69 -undo....malyon-opcode-print-uni
8440 63 6f 64 65 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63 6f code...malyon-opcode-check-unico
8460 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 de....malyon-opcode-nop.........
8480 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d ....malyon-opcode-nop....malyon-
84a0 6f 70 63 6f 64 65 2d 6e 6f 70 5d 0a 20 20 22 41 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 6b opcode-nop]..."A.vector.of.all.k
84c0 6e 6f 77 6e 20 6c 65 67 61 6c 20 5a 2d 63 6f 64 65 20 6f 70 63 6f 64 65 73 2e 22 29 0a 0a 3b 3b nown.legal.Z-code.opcodes.")..;;
84e0 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c .initialization..(defun.malyon-l
8500 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 6d 69 6e 20 6d 61 78 29 0a oad-story-from-buffer.(min.max).
8520 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73 74 6f 72 79 20 69 6e 74 6f 20 61 6e 20 69 .."Load.a.Z-code.story.into.an.i
8540 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d nternal.vector."...(setq.malyon-
8560 73 74 6f 72 79 2d 66 69 6c 65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 0a 20 20 20 story-file.(string-to-vector....
8580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d ........................(buffer-
85a0 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 6d 69 6e 20 6d 61 78 29 substring-no-properties.min.max)
85c0 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 20 3f 5c 5e 41 20 31 29 29 0a 20 20 20 20 20 ))...(if.(not.(eq.?\^A.1))......
85e0 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 .(let.((i.0)).........(while.(<.
8600 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a 20 20 i.(length.malyon-story-file))...
8620 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a ........(aset.malyon-story-file.
8640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................i...............
8660 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 61 72 65 66 20 6d 61 6c 79 ..(malyon-char-to-int.(aref.maly
8680 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 on-story-file.i)))...........(se
86a0 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 0a 20 20 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c tq.i.(+.1.i)))))...)..(defun.mal
86c0 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f 61 yon-load-file.(file-name)..."Loa
86e0 64 20 61 20 62 69 6e 61 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 d.a.binary.file.into.the.current
8700 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 .buffer."...(malyon-disable-mult
8720 69 62 79 74 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 ibyte)...(malyon-erase-buffer)..
8740 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 .(let.((coding-system-for-read.'
8760 62 69 6e 61 72 79 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e binary)).....(insert-file-conten
8780 74 73 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f ts.file-name)))..(defconst.malyo
87a0 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65 63 0a 20 20 27 28 28 3a 69 64 20 20 20 20 20 73 74 n-iff-chunk-spec...'((:id.....st
87c0 72 20 34 29 0a 20 20 20 20 28 3a 6c 65 6e 67 74 68 20 75 33 32 29 29 0a 20 20 22 44 65 73 63 72 r.4).....(:length.u32))..."Descr
87e0 69 70 74 69 6f 6e 20 6f 66 20 61 6e 20 49 46 46 20 63 68 75 6e 6b 20 68 65 61 64 65 72 2e 22 29 iption.of.an.IFF.chunk.header.")
8800 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d 52 49 64 78 2d 73 70 65 63 0a 20 20 27 ..(defconst.malyon-RIdx-spec...'
8820 28 28 3a 6e 75 6d 20 75 33 32 29 0a 20 20 20 20 28 3a 72 65 73 6f 75 72 63 65 73 20 72 65 70 65 ((:num.u32).....(:resources.repe
8840 61 74 20 28 3a 6e 75 6d 29 20 28 3a 75 73 61 67 65 20 73 74 72 20 34 29 20 28 3a 6e 75 6d 62 65 at.(:num).(:usage.str.4).(:numbe
8860 72 20 75 33 32 29 20 28 3a 73 74 61 72 74 20 75 33 32 29 29 29 0a 20 20 22 44 65 73 63 72 69 70 r.u32).(:start.u32)))..."Descrip
8880 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 49 64 78 20 63 68 75 6e 6b 2e 22 29 0a 0a 28 64 65 66 75 tion.of.the.RIdx.chunk.")..(defu
88a0 6e 20 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 28 73 70 65 63 20 73 74 61 72 74 20 6c 65 6e 67 n.malyon-unpack.(spec.start.leng
88c0 74 68 29 0a 20 20 22 55 6e 70 61 63 6b 20 4c 45 4e 47 54 48 20 62 79 74 65 73 20 61 74 20 30 2d th)..."Unpack.LENGTH.bytes.at.0-
88e0 62 61 73 65 64 20 6f 66 66 73 65 74 20 53 54 41 52 54 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 based.offset.START.according.to.
8900 53 50 45 43 2e 22 0a 20 20 28 62 69 6e 64 61 74 2d 75 6e 70 61 63 6b 20 73 70 65 63 20 28 62 75 SPEC."...(bindat-unpack.spec.(bu
8920 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 31 2b ffer-substring-no-properties.(1+
8940 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .start).........................
8960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b ..............................(+
8980 20 31 20 73 74 61 72 74 20 6c 65 6e 67 74 68 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 .1.start.length))))..(defun.maly
89a0 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 on-load-blorb-file.(file-name)..
89c0 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 42 6c 6f 72 62 20 66 69 6c 65 20 69 6e 74 6f 20 ."Load.a.Z-code.Blorb.file.into.
89e0 61 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e 22 0a 20 20 28 72 65 71 75 69 72 65 20 an.internal.vector."...(require.
8a00 27 62 69 6e 64 61 74 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 20 20 28 'bindat)...(require.'cl-lib)...(
8a20 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 with-temp-buffer.....(malyon-loa
8a40 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 74 d-file.file-name).....;;.Check.t
8a60 68 65 20 73 69 67 6e 61 74 75 72 65 2e 20 20 4d 75 73 74 20 62 65 20 61 6e 20 49 46 46 20 66 69 he.signature...Must.be.an.IFF.fi
8a80 6c 65 20 6f 66 20 74 79 70 65 20 49 46 52 53 0a 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67 20 le.of.type.IFRS.....;;.starting.
8aa0 77 69 74 68 20 61 6e 20 52 49 64 78 20 63 68 75 6e 6b 2e 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 with.an.RIdx.chunk......(or.(and
8ac0 20 28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 .(string=."FORM".(buffer-substri
8ae0 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 31 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 ng-no-properties.1.5))..........
8b00 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 49 46 52 53 52 49 64 78 22 20 28 62 75 66 66 65 72 2d ....(string=."IFRSRIdx".(buffer-
8b20 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 39 20 31 37 29 29 29 0a substring-no-properties.9.17))).
8b40 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 42 6c 6f 72 62 20 66 69 6c 65 ........(error."Not.a.Blorb.file
8b60 22 29 29 0a 20 20 20 20 3b 3b 20 55 6e 70 61 63 6b 20 74 68 65 20 52 49 64 78 20 63 68 75 6e 6b ")).....;;.Unpack.the.RIdx.chunk
8b80 2c 20 66 69 6e 64 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 63 6b 2c 20 61 6e 64 20 75 6e 70 61 ,.find.the.Exec.chunck,.and.unpa
8ba0 63 6b 20 69 74 73 20 68 65 61 64 65 72 2e 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 72 69 64 78 2d ck.its.header......(let*.((ridx-
8bc0 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66 header.(malyon-unpack.malyon-iff
8be0 2d 63 68 75 6e 6b 2d 73 70 65 63 20 31 32 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 -chunk-spec.12.8))............(r
8c00 69 64 78 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e idx........(malyon-unpack.malyon
8c20 2d 52 49 64 78 2d 73 70 65 63 20 32 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -RIdx-spec.20...................
8c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 .....................(cdr.(assq.
8c60 3a 6c 65 6e 67 74 68 20 72 69 64 78 2d 68 65 61 64 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 :length.ridx-header)))).........
8c80 20 20 20 28 65 78 65 63 20 28 63 6c 2d 66 69 6e 64 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 ...(exec.(cl-find-if............
8ca0 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(function................
8cc0 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(lambda.(r).................
8ce0 20 20 20 20 20 28 61 6e 64 20 28 3d 20 30 20 28 63 64 72 20 28 61 73 73 71 20 3a 6e 75 6d 62 65 .....(and.(=.0.(cdr.(assq.:numbe
8d00 72 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.r)))..........................
8d20 20 28 73 74 72 69 6e 67 3d 20 22 45 78 65 63 22 20 28 63 64 72 20 28 61 73 73 71 20 3a 75 73 61 .(string=."Exec".(cdr.(assq.:usa
8d40 67 65 20 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 ge.r))))))...................(cd
8d60 72 20 28 61 73 73 71 20 3a 72 65 73 6f 75 72 63 65 73 20 72 69 64 78 29 29 29 29 0a 20 20 20 20 r.(assq.:resources.ridx)))).....
8d80 20 20 20 20 20 20 20 28 73 74 6f 72 79 2d 73 74 61 72 74 20 28 63 64 72 20 28 61 73 73 71 20 3a .......(story-start.(cdr.(assq.:
8da0 73 74 61 72 74 20 65 78 65 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 2d 68 start.exec)))............(exec-h
8dc0 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66 2d eader.(malyon-unpack.malyon-iff-
8de0 63 68 75 6e 6b 2d 73 70 65 63 20 73 74 6f 72 79 2d 73 74 61 72 74 20 38 29 29 29 0a 20 20 20 20 chunk-spec.story-start.8))).....
8e00 20 20 3b 3b 20 45 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 6b 20 ..;;.Ensure.that.the.Exec.chunk.
8e20 69 73 20 5a 2d 63 6f 64 65 2e 0a 20 20 20 20 20 20 28 6f 72 20 28 73 74 72 69 6e 67 3d 20 22 5a is.Z-code........(or.(string=."Z
8e40 43 4f 44 22 20 28 63 64 72 20 28 61 73 73 71 20 3a 69 64 20 65 78 65 63 2d 68 65 61 64 65 72 29 COD".(cdr.(assq.:id.exec-header)
8e60 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 5a 2d 63 6f 64 ))...........(error."Not.a.Z-cod
8e80 65 20 42 6c 6f 72 62 20 66 69 6c 65 22 29 29 0a 20 20 20 20 20 20 3b 3b 20 4c 6f 61 64 20 74 68 e.Blorb.file")).......;;.Load.th
8ea0 65 20 5a 2d 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 63 68 75 6e 6b 2e 0a 20 20 20 20 20 20 28 e.Z-code.from.the.chunk........(
8ec0 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 setq.malyon-story-file-name.file
8ee0 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d -name).......(malyon-load-story-
8f00 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 2b 20 39 20 73 74 6f 72 79 2d 73 74 61 72 74 29 0a 20 20 from-buffer.(+.9.story-start)...
8f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8f40 20 20 20 28 2b 20 39 20 73 74 6f 72 79 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...(+.9.story-start.............
8f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 ............................(cdr
8f80 20 28 61 73 73 71 20 3a 6c 65 6e 67 74 68 20 65 78 65 63 2d 68 65 61 64 65 72 29 29 29 29 29 29 .(assq.:length.exec-header))))))
8fa0 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c 65 )..(defun.malyon-load-story-file
8fc0 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73 74 .(file-name)..."Load.a.Z-code.st
8fe0 6f 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 ory.file.into.an.internal.vector
9000 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 ."...(with-temp-buffer.....(maly
9020 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 on-load-file.file-name).....(set
9040 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 q.malyon-story-file-name.file-na
9060 6d 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d me).....(malyon-load-story-from-
9080 62 75 66 66 65 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 buffer.(point-min).(point-max)))
90a0 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 20 28 29 0a 20 )..(defun.malyon-initialize.()..
90c0 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 ."Initialize.the.Z-code.interpre
90e0 74 65 72 2e 22 0a 3b 20 20 28 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65 29 0a 20 20 28 ter.".;..(malyon-trace-file)...(
9100 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 setq.malyon-game-state-quetzal.t
9120 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 29 0a 20 )...(malyon-initialize-status)..
9140 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 29 0a .(malyon-initialize-transcript).
9160 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 29 0a 20 20 ..(malyon-initialize-windows)...
9180 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72 29 (malyon-initialize-story-header)
91a0 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73 29 ...(malyon-initialize-registers)
91c0 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 29 0a 20 ...(malyon-initialize-opcodes)..
91e0 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 63 6c 65 61 72 29 0a 20 20 28 73 65 74 71 20 .(malyon-history-clear)...(setq.
9200 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 28 6d 61 6c 79 6f malyon-game-state-restart.(malyo
9220 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e n-current-game-state))...(malyon
9240 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 -print-header))..(defun.malyon-i
9260 6e 69 74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a nitialize-status.()..."Initializ
9280 65 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 e.the.status.buffer."...(setq.ma
92a0 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 lyon-status-buffer.(get-buffer-c
92c0 72 65 61 74 65 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 29 0a 20 20 28 73 77 69 74 63 reate."Malyon.Status"))...(switc
92e0 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 h-to-buffer.malyon-status-buffer
9300 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 28 6b 69 6c )...(malyon-erase-buffer)...(kil
9320 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20 63 l-all-local-variables)...(setq.c
9340 75 72 73 6f 72 2d 69 6e 2d 6e 6f 6e 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 73 20 6e 69 ursor-in-non-selected-windows.ni
9360 6c 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 l)...(setq.mode-line-format.nil)
9380 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f ...(setq.malyon-status-buffer-po
93a0 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 int.(point))...(setq.malyon-stat
93c0 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 30 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f us-buffer-lines.0)...(setq.malyo
93e0 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e 69 n-status-buffer-delayed-split.ni
9400 6c 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 l)...(use-local-map.malyon-keyma
9420 70 2d 72 65 61 64 29 0a 20 20 28 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6d 61 6c 79 p-read)...(set-syntax-table.maly
9440 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6e 61 on-syntax-table)...(setq.mode-na
9460 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20 28 73 65 74 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 me."Malyon")...(setq.major-mode.
9480 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6d 61 6c 79 'malyon-mode)...(run-hooks.'maly
94a0 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e on-mode-hook))..(defun.malyon-in
94c0 69 74 69 61 6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 20 28 29 0a 20 20 22 49 6e 69 74 69 61 itialize-transcript.()..."Initia
94e0 6c 69 7a 65 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 lize.the.transcript.buffer."...(
9500 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 67 setq.malyon-transcript-buffer.(g
9520 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63 72 et-buffer-create."Malyon.Transcr
9540 69 70 74 22 29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f ipt"))...(switch-to-buffer.malyo
9560 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 n-transcript-buffer)...(malyon-e
9580 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 28 6b 69 6c 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 rase-buffer)...(kill-all-local-v
95a0 61 72 69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 ariables)...(setq.malyon-last-cu
95c0 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 rsor-position-after-input.......
95e0 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 ..(malyon-point-max.malyon-trans
9600 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 cript-buffer))...(use-local-map.
9620 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 29 0a 20 20 28 73 65 74 2d 73 79 6e 74 61 malyon-keymap-read)...(set-synta
9640 78 2d 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 x-table.malyon-syntax-table)...(
9660 73 65 74 71 20 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 setq.fill-column.malyon-max-colu
9680 6d 6e 29 0a 20 20 28 61 75 74 6f 2d 66 69 6c 6c 2d 6d 6f 64 65 20 31 29 0a 20 20 28 73 65 74 71 mn)...(auto-fill-mode.1)...(setq
96a0 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20 28 73 65 74 71 20 6d 61 6a .mode-name."Malyon")...(setq.maj
96c0 6f 72 2d 6d 6f 64 65 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20 20 28 72 75 6e 2d 68 6f 6f or-mode.'malyon-mode)...(run-hoo
96e0 6b 73 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d ks.'malyon-mode-hook))..(defun.m
9700 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 20 28 29 0a 20 20 22 49 alyon-initialize-windows.()..."I
9720 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 nitialize.the.window.configurati
9740 6f 6e 20 66 6f 72 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 0a 20 20 28 73 65 74 71 20 6d on.for.the.z.machine."...(setq.m
9760 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 alyon-transcript-buffer-buffered
9780 20 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 .t)...(malyon-set-window-configu
97a0 72 61 74 69 6f 6e 20 30 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 ration.0)...(malyon-opcode-set-w
97c0 69 6e 64 6f 77 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c indow.0))..(defun.malyon-initial
97e0 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a ize-story-header.()..."Initializ
9800 65 73 20 74 68 65 20 68 65 61 64 65 72 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 6f es.the.header.section.of.the.sto
9820 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 31 ry.file."...(malyon-store-byte.1
9840 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 6d 61 ......................(if.(>=.ma
9860 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 lyon-story-version.5)...........
9880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............28...............
98a0 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 23 78 32 30 20 28 6c 6f 67 61 6e 64 20 23 62 .........(logior.#x20.(logand.#b
98c0 31 31 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29 29 29 29 29 0a 20 20 28 111.(malyon-read-byte.1)))))...(
98e0 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 31 36 20 28 6c 6f 67 61 6e 64 20 34 34 30 malyon-store-byte.16.(logand.440
9900 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 36 29 29 29 0a 20 20 28 6d 61 6c 79 .(malyon-read-byte.16)))...(maly
9920 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 on-store-byte.30.1)...(malyon-st
9940 6f 72 65 2d 62 79 74 65 20 33 31 20 36 35 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d ore-byte.31.65)...(malyon-store-
9960 62 79 74 65 20 33 32 20 32 35 35 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 byte.32.255)...(malyon-store-byt
9980 65 20 33 33 20 28 2d 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 20 31 29 29 0a 20 20 e.33.(-.malyon-max-column.1))...
99a0 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 34 20 28 2d 20 6d 61 6c 79 6f 6e 2d (malyon-store-word.34.(-.malyon-
99c0 6d 61 78 2d 63 6f 6c 75 6d 6e 20 31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 max-column.1))...(malyon-store-w
99e0 6f 72 64 20 33 36 20 32 35 35 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 ord.36.255)...(malyon-store-word
9a00 20 33 38 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 39 20 31 .38.1)...(malyon-store-word.39.1
9a20 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 34 34 20 30 29 0a 20 20 28 )...(malyon-store-byte.44.0)...(
9a40 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 34 35 20 30 29 0a 20 20 28 6d 61 6c 79 6f malyon-store-byte.45.0)...(malyo
9a60 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 35 30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f n-store-byte.50.1)...(malyon-sto
9a80 72 65 2d 62 79 74 65 20 35 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e re-byte.51.0))..(defun.malyon-in
9aa0 69 74 69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c itialize-registers.()..."Initial
9ac0 69 7a 65 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 27 73 20 69 6e 74 65 72 6e 61 6c 20 72 ize.the.interpreter's.internal.r
9ae0 65 67 69 73 74 65 72 73 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 egisters."...(setq.malyon-stack.
9b00 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 30 32 34 20 30 29 29 0a 20 20 28 73 65 74 71 20 6d 61 (make-vector.1024.0))...(setq.ma
9b20 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 2d 31 29 0a 20 20 28 6d 61 6c 79 6f 6e lyon-stack-pointer.-1)...(malyon
9b40 2d 70 75 73 68 2d 69 6e 69 74 69 61 6c 2d 66 72 61 6d 65 29 0a 20 20 28 73 65 74 71 20 6d 61 6c -push-initial-frame)...(setq.mal
9b60 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 yon-frame-pointer.malyon-stack-p
9b80 6f 69 6e 74 65 72 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 ointer)...(setq.malyon-instructi
9ba0 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 36 29 29 on-pointer.(malyon-read-word.6))
9bc0 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 ...(setq.malyon-global-variables
9be0 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 32 29 29 0a 20 20 28 73 65 74 71 20 .(malyon-read-word.12))...(setq.
9c00 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 malyon-object-table.(malyon-read
9c20 2d 77 6f 72 64 20 31 30 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 -word.10))...(cond.((<.malyon-st
9c40 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 ory-version.5)..........(setq.ma
9c60 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 39 29 0a lyon-object-table-entry-size.9).
9c80 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f .........(setq.malyon-object-pro
9ca0 70 65 72 74 69 65 73 20 20 20 20 20 20 20 33 31 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 perties.......31)..........(setq
9cc0 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 20 .malyon-object-property-offset..
9ce0 37 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 7)).........(t..........(setq.ma
9d00 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 31 34 29 lyon-object-table-entry-size.14)
9d20 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 ..........(setq.malyon-object-pr
9d40 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 36 33 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 operties.......63)..........(set
9d60 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 q.malyon-object-property-offset.
9d80 20 31 32 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 .12)))...(setq.malyon-abbreviati
9da0 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 34 29 29 0a 20 20 28 69 66 ons.(malyon-read-word.24))...(if
9dc0 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 .(<.malyon-story-version.5).....
9de0 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 28 7a 65 72 6f 70 ..(setq.malyon-score-game.(zerop
9e00 20 28 6c 6f 67 61 6e 64 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29 29 .(logand.2.(malyon-read-byte.1))
9e20 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 )))...(setq.malyon-packed-multip
9e40 6c 69 65 72 0a 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 61 73 73 71 20 6d 61 6c 79 6f 6e 2d lier.........(cadr.(assq.malyon-
9e60 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 27 28 28 33 20 32 29 20 28 35 20 34 29 20 28 38 20 38 story-version.'((3.2).(5.4).(8.8
9e80 29 29 29 29 29 0a 20 20 28 69 66 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d )))))...(if.(or.(<.malyon-story-
9ea0 76 65 72 73 69 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 version.5).(zerop.(malyon-read-w
9ec0 6f 72 64 20 35 32 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 6c 70 ord.52))).......(setq.malyon-alp
9ee0 68 61 62 65 74 20 28 63 6f 6e 63 61 74 20 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 habet.(concat."abcdefghijklmnopq
9f00 72 73 74 75 76 77 78 79 7a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rstuvwxyz"......................
9f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 ..............."ABCDEFGHIJKLMNOP
9f40 51 52 53 54 55 56 57 58 59 5a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 QRSTUVWXYZ".....................
9f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 5c 6e 30 31 32 33 34 35 36 37 38 39 2e 2c ................".\n0123456789.,
9f80 21 3f 5f 23 27 5c 22 2f 5c 5c 2d 3a 28 29 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 !?_#'\"/\\-:()")).....(setq.maly
9fa0 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 37 38 20 3f 20 29 29 on-alphabet.(make-string.78.?.))
9fc0 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 .....(let.((i.0)).......(while.(
9fe0 3c 20 69 20 37 38 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 61 6c 70 <.i.78).........(aset.malyon-alp
a000 68 61 62 65 74 20 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 habet.i...............(malyon-re
a020 61 64 2d 62 79 74 65 20 28 2b 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 35 ad-byte.(+.i.(malyon-read-word.5
a040 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 2)))).........(setq.i.(+.1.i))))
a060 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 65 2d 74 )...(malyon-initialize-unicode-t
a080 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 able)...(setq.malyon-dictionary.
a0a0 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 38 29 29 0a 20 20 28 73 65 74 71 20 6d 61 (malyon-read-word.8))...(setq.ma
a0c0 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 0a 20 20 20 lyon-dictionary-entry-length....
a0e0 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 .....(malyon-read-byte..........
a100 28 2b 20 31 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 28 6d 61 6c 79 6f 6e 2d 72 (+.1.malyon-dictionary.(malyon-r
a120 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 ead-byte.malyon-dictionary))))..
a140 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 .(setq.malyon-dictionary-num-ent
a160 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 0a 20 ries.........(malyon-read-word..
a180 20 20 20 20 20 20 20 20 28 2b 20 32 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 28 ........(+.2.malyon-dictionary.(
a1a0 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 malyon-read-byte.malyon-dictiona
a1c0 72 79 29 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 ry))))...(setq.malyon-dictionary
a1e0 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 2b 20 34 20 6d 61 6c 79 6f 6e 2d 64 69 63 -entries.........(+.4.malyon-dic
a200 74 69 6f 6e 61 72 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e tionary.(malyon-read-byte.malyon
a220 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 -dictionary)))...(setq.malyon-di
a240 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 20 28 69 66 20 28 3c 20 6d 61 6c 79 ctionary-word-length.(if.(<.maly
a260 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 33 20 35 29 29 0a 20 20 28 73 65 74 on-story-version.5).3.5))...(set
a280 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 q.malyon-current-face.'malyon-fa
a2a0 63 65 2d 70 6c 61 69 6e 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 ce-plain)...(setq.malyon-print-s
a2c0 65 70 61 72 61 74 6f 72 20 6e 69 6c 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 eparator.nil)...(malyon-initiali
a2e0 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 ze-output-streams))..(defun.maly
a300 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 20 28 29 0a 20 20 22 49 6e 69 74 on-initialize-opcodes.()..."Init
a320 69 61 6c 69 7a 65 20 74 68 65 20 6f 70 63 6f 64 65 20 74 61 62 6c 65 20 75 73 65 64 20 62 79 20 ialize.the.opcode.table.used.by.
a340 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c the.story.file."...(cond.((<.mal
a360 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 28 61 yon-story-version.5)..........(a
a380 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27 6d 61 6c 79 6f 6e 2d 6f set.malyon-opcodes.143.'malyon-o
a3a0 70 63 6f 64 65 2d 6e 6f 74 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e pcode-not)..........(aset.malyon
a3c0 2d 6f 70 63 6f 64 65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 -opcodes.181.'malyon-opcode-save
a3e0 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 )..........(aset.malyon-opcodes.
a400 31 38 32 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 29 0a 20 20 20 20 182.'malyon-opcode-restore).....
a420 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 35 20 27 6d .....(aset.malyon-opcodes.185.'m
a440 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 6f 70 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 alyon-opcode-pop)..........(aset
a460 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 38 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f .malyon-opcodes.188.'malyon-opco
a480 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 de-show-status)).........(t.....
a4a0 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27 6d .....(aset.malyon-opcodes.143.'m
a4c0 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 alyon-opcode-calln)..........(as
a4e0 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f 70 et.malyon-opcodes.181.'malyon-op
a500 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c code-illegal)..........(aset.mal
a520 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 32 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 yon-opcodes.182.'malyon-opcode-i
a540 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 llegal)..........(aset.malyon-op
a560 63 6f 64 65 73 20 31 38 35 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 29 0a codes.185.'malyon-opcode-catch).
a580 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 63 68 6e 69 63 61 6c 6c 79 2c 20 31 38 38 20 28 73 68 .........;;.Technically,.188.(sh
a5a0 6f 77 5f 73 74 61 74 75 73 29 20 69 73 20 76 33 20 6f 6e 6c 79 2c 20 62 75 74 20 56 65 72 73 69 ow_status).is.v3.only,.but.Versi
a5c0 6f 6e 20 35 20 52 65 6c 65 61 73 65 20 32 33 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20 57 on.5.Release.23..........;;.of.W
a5e0 69 73 68 62 72 69 6e 67 65 72 20 63 6f 6e 74 61 69 6e 73 20 69 74 20 62 79 20 61 63 63 69 64 65 ishbringer.contains.it.by.accide
a600 6e 74 2c 20 73 6f 20 74 72 65 61 74 20 69 74 20 61 73 20 4e 4f 50 20 69 6e 73 74 65 61 64 2e 0a nt,.so.treat.it.as.NOP.instead..
a620 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 .........(aset.malyon-opcodes.18
a640 38 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 8.'malyon-opcode-nop))))..(defun
a660 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 50 72 69 6e 74 .malyon-print-header.()..."Print
a680 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 68 65 61 64 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e .malyon.mode.header.information.
a6a0 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c "...(malyon-opcode-set-text-styl
a6c0 65 20 32 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63 6f 6e 63 61 74 20 22 4d 61 e.2)...(malyon-print.(concat."Ma
a6e0 6c 79 6f 6e 20 56 20 22 20 6d 61 6c 79 6f 6e 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 6d 61 6c lyon.V.".malyon-version))...(mal
a700 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c 65 20 30 29 0a 20 20 28 yon-opcode-set-text-style.0)...(
a720 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 malyon-newline)...(malyon-print.
a740 22 41 20 7a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69 6f "A.z-code.interpreter.for.versio
a760 6e 20 33 2c 20 35 2c 20 61 6e 64 20 38 20 67 61 6d 65 73 2e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e n.3,.5,.and.8.games.")...(malyon
a780 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 31 -newline)...(malyon-print."(c).1
a7a0 39 39 39 2d 32 30 31 31 20 62 79 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 74 65 72 2e 999-2011.by.Peter.Ilberg.<peter.
a7c0 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 ilberg@gmail.com>")...(malyon-ne
a7e0 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 32 30 31 36 wline)...(malyon-print."(c).2016
a800 20 62 79 20 45 72 69 6b 20 53 65 6c 62 65 72 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f .by.Erik.Selberg.<erik@selberg.o
a820 72 67 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 rg>")...(malyon-newline)...(maly
a840 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 3b 3b 20 63 6c 65 61 6e 75 70 0a 0a 28 64 65 66 75 6e on-newline))..;;.cleanup..(defun
a860 20 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 20 28 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 74 .malyon-cleanup.()..."Clean.up.t
a880 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f he.Z-code.interpreter."...(malyo
a8a0 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 63 6c 65 61 6e 75 70 20 n-hide-internal-errors."cleanup.
a8c0 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 73 65 74 71 20 failed.".....(progn.......(setq.
a8e0 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 malyon-story-file.nil).......(se
a900 74 71 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6e tq.malyon-window-configuration.n
a920 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 il).......(setq.malyon-game-stat
a940 65 2d 72 65 73 74 61 72 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f e-restart.nil).......(setq.malyo
a960 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 69 66 n-game-state-undo.nil).......(if
a980 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 0a 20 20 .(get-buffer."Malyon.Status")...
a9a0 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 ........(kill-buffer.(get-buffer
a9c0 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 67 ."Malyon.Status"))).......(if.(g
a9e0 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 0a 20 et-buffer."Malyon.Transcript")..
aa00 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 .........(progn.............(swi
aa20 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 6f tch-to-buffer.(get-buffer."Malyo
aa40 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c n.Transcript")).............(mal
aa60 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 yon-redisplay-frame.(selected-fr
aa80 61 6d 65 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 6f 74 68 65 ame).t).............(delete-othe
aaa0 72 2d 77 69 6e 64 6f 77 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 r-windows.(get-buffer-window.(cu
aac0 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 rrent-buffer))).............(wid
aae0 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 2d 6d 6f 64 65 29 29 29 0a 20 20 en).............(text-mode)))...
ab00 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e ....(setq.malyon-status-buffer.n
ab20 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 il).......(setq.malyon-transcrip
ab40 74 2d 62 75 66 66 65 72 20 6e 69 6c 29 29 29 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 68 61 6e 64 6c t-buffer.nil))))..;;.error.handl
ab60 69 6e 67 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 28 ing..(defun.malyon-fatal-error.(
ab80 6d 65 73 73 61 67 65 29 0a 20 20 22 50 72 69 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 message)..."Print.error.message.
aba0 61 6e 64 20 61 62 6f 72 74 2e 22 0a 20 20 28 73 65 74 71 20 6d 65 73 73 61 67 65 20 28 63 6f 6e and.abort."...(setq.message.(con
abc0 63 61 74 20 22 4d 61 6c 79 6f 6e 20 66 61 74 61 6c 20 65 72 72 6f 72 3a 20 22 20 6d 65 73 73 61 cat."Malyon.fatal.error:.".messa
abe0 67 65 29 29 0a 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 77 69 ge))...(unwind-protect.......(wi
ac00 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 th-current-buffer.malyon-transcr
ac20 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 ipt-buffer.........(goto-char.(p
ac40 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 oint-max)).........(newline)....
ac60 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 .....(newline).........(put-text
ac80 2d 70 72 6f 70 65 72 74 79 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -property.0.....................
aca0 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 .......(length.message).........
acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 0a 20 20 20 20 20 20 20 ...................'face........
ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 ....................'malyon-face
ad00 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -error..........................
ad20 20 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 6d 65 73 73 61 ..message).........(insert.messa
ad40 67 65 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 0a 20 20 20 20 28 6d 61 6c 79 ge).........(newline)).....(maly
ad60 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 on-cleanup).....(malyon-redispla
ad80 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 29 20 74 29 0a 20 20 20 20 y-frame.(selected-frame).t).....
ada0 28 65 72 72 6f 72 20 6d 65 73 73 61 67 65 29 29 29 0a 0a 3b 3b 20 63 6f 6e 76 65 72 73 69 6f 6e (error.message)))..;;.conversion
adc0 20 6f 66 20 7a 73 63 69 69 20 74 6f 20 61 73 63 69 69 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 .of.zscii.to.ascii..(defvar.maly
ade0 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 41 6e 20 61 72 72 61 79 on-unicode-table.nil..."An.array
ae00 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 6c 61 74 .mapping.zscii.characters.to.lat
ae20 69 6e 2d 31 20 6f 6e 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 65 66 in-1.ones.")..(defvar.malyon-def
ae40 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 64 65 ault-unicode-table.nil..."The.de
ae60 66 61 75 6c 74 20 61 72 72 61 79 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20 63 68 61 72 61 63 fault.array.mapping.zscii.charac
ae80 74 65 72 73 20 74 6f 20 6c 61 74 69 6e 2d 31 20 6f 6e 65 73 2e 22 29 0a 0a 28 69 66 20 6d 61 6c ters.to.latin-1.ones.")..(if.mal
aea0 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a 20 20 20 20 27 28 yon-default-unicode-table.....'(
aec0 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 )...(setq.malyon-default-unicode
aee0 2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 5b 33 32 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 -table.........[32..........0...
af00 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 20 20 20 20 3b 20 20 20 0...0...0...0...0...0.......;...
af20 31 20 2d 20 20 20 37 0a 20 20 20 20 20 20 20 20 20 38 20 20 20 30 20 20 20 30 20 20 20 30 20 20 1.-...7..........8...0...0...0..
af40 20 30 20 20 20 31 30 20 20 30 20 20 20 30 20 20 20 3b 20 20 20 38 20 2d 20 20 31 35 0a 20 20 20 .0...10..0...0...;...8.-..15....
af60 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 ......0...0...0...0...0...0...0.
af80 20 20 30 20 20 20 3b 20 20 31 36 20 2d 20 20 32 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 ..0...;..16.-..23..........0...0
afa0 20 20 20 30 20 20 20 33 39 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 20 32 34 ...0...39..0...0...0...0...;..24
afc0 20 2d 20 20 33 31 0a 20 20 20 20 20 20 20 20 20 33 32 20 20 33 33 20 20 33 34 20 20 33 35 20 20 .-..31..........32..33..34..35..
afe0 33 36 20 20 33 37 20 20 33 38 20 20 33 39 20 20 3b 20 20 33 32 20 2d 20 20 33 39 0a 20 20 20 20 36..37..38..39..;..32.-..39.....
b000 20 20 20 20 20 34 30 20 20 34 31 20 20 34 32 20 20 34 33 20 20 34 34 20 20 34 35 20 20 34 36 20 .....40..41..42..43..44..45..46.
b020 20 34 37 20 20 3b 20 20 34 30 20 2d 20 20 34 37 0a 20 20 20 20 20 20 20 20 20 34 38 20 20 34 39 .47..;..40.-..47..........48..49
b040 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 33 20 20 35 34 20 20 35 35 20 20 3b 20 20 34 38 20 ..50..51..52..53..54..55..;..48.
b060 2d 20 20 35 35 0a 20 20 20 20 20 20 20 20 20 35 36 20 20 35 37 20 20 35 38 20 20 35 39 20 20 36 -..55..........56..57..58..59..6
b080 30 20 20 36 31 20 20 36 32 20 20 36 33 20 20 3b 20 20 35 36 20 2d 20 20 36 33 0a 20 20 20 20 20 0..61..62..63..;..56.-..63......
b0a0 20 20 20 20 36 34 20 20 36 35 20 20 36 36 20 20 36 37 20 20 36 38 20 20 36 39 20 20 37 30 20 20 ....64..65..66..67..68..69..70..
b0c0 37 31 20 20 3b 20 20 36 34 20 2d 20 20 37 31 0a 20 20 20 20 20 20 20 20 20 37 32 20 20 37 33 20 71..;..64.-..71..........72..73.
b0e0 20 37 34 20 20 37 35 20 20 37 36 20 20 37 37 20 20 37 38 20 20 37 39 20 20 3b 20 20 37 32 20 2d .74..75..76..77..78..79..;..72.-
b100 20 20 37 39 0a 20 20 20 20 20 20 20 20 20 38 30 20 20 38 31 20 20 38 32 20 20 38 33 20 20 38 34 ..79..........80..81..82..83..84
b120 20 20 38 35 20 20 38 36 20 20 38 37 20 20 3b 20 20 38 30 20 2d 20 20 38 37 0a 20 20 20 20 20 20 ..85..86..87..;..80.-..87.......
b140 20 20 20 38 38 20 20 38 39 20 20 39 30 20 20 39 31 20 20 39 32 20 20 39 33 20 20 39 34 20 20 39 ...88..89..90..91..92..93..94..9
b160 35 20 20 3b 20 20 38 38 20 2d 20 20 39 35 0a 20 20 20 20 20 20 20 20 20 39 36 20 20 39 37 20 20 5..;..88.-..95..........96..97..
b180 39 38 20 20 39 39 20 20 31 30 30 20 31 30 31 20 31 30 32 20 31 30 33 20 3b 20 20 39 36 20 2d 20 98..99..100.101.102.103.;..96.-.
b1a0 31 30 33 0a 20 20 20 20 20 20 20 20 20 31 30 34 20 31 30 35 20 31 30 36 20 31 30 37 20 31 30 38 103..........104.105.106.107.108
b1c0 20 31 30 39 20 31 31 30 20 31 31 31 20 3b 20 31 30 34 20 2d 20 31 31 31 0a 20 20 20 20 20 20 20 .109.110.111.;.104.-.111........
b1e0 20 20 31 31 32 20 31 31 33 20 31 31 34 20 31 31 35 20 31 31 36 20 31 31 37 20 31 31 38 20 31 31 ..112.113.114.115.116.117.118.11
b200 39 20 3b 20 31 31 32 20 2d 20 31 31 39 0a 20 20 20 20 20 20 20 20 20 31 32 30 20 31 32 31 20 31 9.;.112.-.119..........120.121.1
b220 32 32 20 31 32 33 20 31 32 34 20 31 32 35 20 31 32 36 20 30 20 20 20 3b 20 31 32 30 20 2d 20 31 22.123.124.125.126.0...;.120.-.1
b240 32 37 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 27..........0...0...0...0...0...
b260 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 31 32 38 20 2d 20 31 33 35 0a 20 20 20 20 20 20 20 20 0...0...0...;.128.-.135.........
b280 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 .0...0...0...0...0...0...0...0..
b2a0 20 3b 20 31 33 36 20 2d 20 31 34 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 34 38 20 20 34 39 .;.136.-.143..........0...48..49
b2c0 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 33 20 20 35 34 20 20 3b 20 31 34 34 20 2d 20 31 35 ..50..51..52..53..54..;.144.-.15
b2e0 31 0a 20 20 20 20 20 20 20 20 20 35 35 20 20 35 36 20 20 35 37 20 20 32 32 38 20 32 34 36 20 32 1..........55..56..57..228.246.2
b300 35 32 20 31 39 36 20 32 31 34 20 3b 20 31 35 32 20 2d 20 31 35 39 0a 20 20 20 20 20 20 20 20 20 52.196.214.;.152.-.159..........
b320 32 32 30 20 32 32 33 20 31 38 37 20 31 37 31 20 32 33 35 20 32 33 39 20 32 35 35 20 32 30 33 20 220.223.187.171.235.239.255.203.
b340 3b 20 31 36 30 20 2d 20 31 36 37 0a 20 20 20 20 20 20 20 20 20 32 30 37 20 32 32 35 20 32 33 33 ;.160.-.167..........207.225.233
b360 20 32 33 37 20 32 34 33 20 32 35 30 20 32 35 33 20 31 39 33 20 3b 20 31 36 38 20 2d 20 31 37 35 .237.243.250.253.193.;.168.-.175
b380 0a 20 20 20 20 20 20 20 20 20 32 30 31 20 32 30 35 20 32 31 31 20 32 31 38 20 32 32 31 20 32 32 ..........201.205.211.218.221.22
b3a0 34 20 32 33 32 20 32 33 36 20 3b 20 31 37 36 20 2d 20 31 38 33 0a 20 20 20 20 20 20 20 20 20 32 4.232.236.;.176.-.183..........2
b3c0 34 32 20 32 34 39 20 31 39 32 20 32 30 30 20 32 30 34 20 32 31 30 20 32 31 37 20 32 32 36 20 3b 42.249.192.200.204.210.217.226.;
b3e0 20 31 38 34 20 2d 20 31 39 31 0a 20 20 20 20 20 20 20 20 20 32 33 34 20 32 33 38 20 32 34 34 20 .184.-.191..........234.238.244.
b400 32 35 31 20 31 39 34 20 32 30 32 20 32 30 36 20 32 31 32 20 3b 20 31 39 32 20 2d 20 31 39 39 0a 251.194.202.206.212.;.192.-.199.
b420 20 20 20 20 20 20 20 20 20 32 31 39 20 32 32 39 20 31 39 37 20 32 34 38 20 32 31 36 20 32 32 37 .........219.229.197.248.216.227
b440 20 32 34 31 20 32 34 35 20 3b 20 32 30 30 20 2d 20 32 30 37 0a 20 20 20 20 20 20 20 20 20 31 39 .241.245.;.200.-.207..........19
b460 35 20 32 30 39 20 32 31 33 20 32 33 30 20 31 39 38 20 32 33 31 20 31 39 39 20 32 35 34 20 3b 20 5.209.213.230.198.231.199.254.;.
b480 32 30 38 20 2d 20 32 31 35 0a 20 20 20 20 20 20 20 20 20 32 34 30 20 32 32 32 20 32 30 38 20 31 208.-.215..........240.222.208.1
b4a0 36 33 20 36 33 20 20 36 33 20 20 31 36 31 20 31 39 31 20 3b 20 32 31 36 20 2d 20 32 32 33 0a 20 63.63..63..161.191.;.216.-.223..
b4c0 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 ........0...0...0...0...0...0...
b4e0 30 20 20 20 30 20 20 20 3b 20 32 32 34 20 2d 20 32 33 31 0a 20 20 20 20 20 20 20 20 20 30 20 20 0...0...;.224.-.231..........0..
b500 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 32 .0...0...0...0...0...0...0...;.2
b520 33 32 20 2d 20 32 33 39 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 32.-.239..........0...0...0...0.
b540 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 32 34 30 20 2d 20 32 34 37 0a 20 20 ..0...0...0...0...;.240.-.247...
b560 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 .......0...0...0...0...0...0...0
b580 20 20 20 30 20 20 20 3b 20 32 34 38 20 2d 20 32 35 35 0a 20 20 20 20 20 20 20 20 20 5d 29 29 0a ...0...;.248.-.255..........])).
b5a0 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 .(defun.malyon-initialize-unicod
b5c0 65 2d 74 61 62 6c 65 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 7a 73 e-table.()..."Initializes.the.zs
b5e0 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 61 62 6c 65 2e cii-to-unicode.conversion.table.
b600 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a 20 "...(setq.malyon-unicode-table..
b620 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 64 65 66 .......(copy-sequence.malyon-def
b640 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 65 ault-unicode-table))...(let*.((e
b660 78 74 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 35 34 29 29 0a 20 20 20 20 xt...(malyon-read-word.54)).....
b680 20 20 20 20 20 28 6c 65 6e 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 65 78 74 29 20 30 20 28 6d .....(len...(if.(zerop.ext).0.(m
b6a0 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 alyon-read-word.ext)))..........
b6c0 28 74 61 62 6c 65 20 28 69 66 20 28 3c 20 6c 65 6e 20 33 29 20 20 20 30 20 28 6d 61 6c 79 6f 6e (table.(if.(<.len.3)...0.(malyon
b6e0 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 65 78 74 20 36 29 29 29 29 29 0a 20 20 20 20 28 69 66 -read-word.(+.ext.6))))).....(if
b700 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 .(or.(<.malyon-story-version.5).
b720 28 7a 65 72 6f 70 20 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 (zerop.table)).........'()......
b740 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 .(let.((i.0)).........(while.(<.
b760 69 20 39 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 i.96)...........(aset.malyon-uni
b780 63 6f 64 65 2d 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 code-table.(+.155.i).(malyon-cha
b7a0 72 2d 74 6f 2d 69 6e 74 20 3f 3f 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 r-to-int.??))...........(setq.i.
b7c0 28 2b 20 31 20 69 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 20 28 6d 61 6c 79 (+.1.i)))).......(setq.len.(maly
b7e0 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 on-read-byte.table)).......(let.
b800 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 29 ((i.0)).........(while.(<.i.len)
b820 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d ...........(aset.malyon-unicode-
b840 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 table.(+.155.i).................
b860 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 74 61 62 6c 65 20 31 20 69 29 29 (malyon-read-word.(+.table.1.i))
b880 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 29 )...........(setq.i.(+.1.i))))))
b8a0 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e 69 )..(defsubst.malyon-zscii-to-uni
b8c0 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 20 61 20 7a 73 63 69 69 20 code.(char)..."Converts.a.zscii.
b8e0 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 6e 69 63 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 6f 72 character.to.unicode."...(if.(or
b900 20 28 3c 20 63 68 61 72 20 30 29 20 28 3e 20 63 68 61 72 20 32 35 35 29 29 0a 20 20 20 20 20 20 .(<.char.0).(>.char.255)).......
b920 3f 3f 0a 20 20 20 20 28 6c 65 74 20 28 28 75 6e 69 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 75 ??.....(let.((uni.(aref.malyon-u
b940 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 nicode-table.char))).......(if.(
b960 7a 65 72 6f 70 20 75 6e 69 29 0a 20 20 20 20 20 20 20 20 20 20 3f 3f 0a 20 20 20 20 20 20 20 20 zerop.uni)...........??.........
b980 28 6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 (malyon-unibyte-char-to-multibyt
b9a0 65 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 75 6e 69 29 29 29 29 29 29 0a e.(malyon-int-to-char.uni)))))).
b9c0 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 .(defsubst.malyon-unicode-to-zsc
b9e0 69 69 20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 20 61 20 75 6e 69 63 6f 64 65 20 ii.(char)..."Converts.a.unicode.
ba00 63 68 61 72 61 63 74 65 72 20 74 6f 20 7a 73 63 69 69 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 character.to.zscii."...(setq.cha
ba20 72 20 28 6d 61 6c 79 6f 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 r.(malyon-multibyte-char-to-unib
ba40 79 74 65 20 63 68 61 72 29 29 0a 20 20 28 73 65 74 71 20 63 68 61 72 20 28 69 66 20 28 63 68 61 yte.char))...(setq.char.(if.(cha
ba60 72 61 63 74 65 72 70 20 63 68 61 72 29 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e racterp.char).(malyon-char-to-in
ba80 74 20 63 68 61 72 29 20 63 68 61 72 29 29 0a 20 20 28 69 66 20 28 3d 20 31 33 20 63 68 61 72 29 t.char).char))...(if.(=.13.char)
baa0 0a 20 20 20 20 20 20 3f 5c 72 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 31 29 20 28 66 6f 75 6e .......?\r.....(let.((i.1).(foun
bac0 64 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 20 69 20 32 35 35 d.0)).......(while.(and.(<.i.255
bae0 29 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 ).(zerop.found)).........(if.(=.
bb00 63 68 61 72 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 char.(aref.malyon-unicode-table.
bb20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 6f 75 6e 64 20 69 29 29 0a i)).............(setq.found.i)).
bb40 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a 20 20 20 20 20 20 ........(setq.i.(+.i.1))).......
bb60 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 66 6f 75 6e 64 29 29 29 29 0a 0a 3b (malyon-int-to-char.found))))..;
bb80 3b 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e ;.output.streams..(defvar.malyon
bba0 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 6e 69 6c 0a 20 20 22 56 61 6c 69 64 20 6f 75 74 -output-streams.nil..."Valid.out
bbc0 70 75 74 20 73 74 72 65 61 6d 73 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e put.streams.for.the.interpreter.
bbe0 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d ")..(defvar.malyon-output-stream
bc00 73 2d 74 61 62 6c 65 73 20 6e 69 6c 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 61 63 74 69 76 65 s-tables.nil..."A.list.of.active
bc20 20 74 61 62 6c 65 73 20 66 6f 72 20 73 74 72 65 61 6d 20 33 2e 22 29 0a 0a 28 64 65 66 75 6e 20 .tables.for.stream.3.")..(defun.
bc40 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 malyon-initialize-output-streams
bc60 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 .()..."Initializes.the.output.st
bc80 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 reams."...(setq.malyon-output-st
bca0 72 65 61 6d 73 20 27 28 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 reams.'())...(setq.malyon-output
bcc0 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 20 27 28 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 -streams-tables.'())...(malyon-a
bce0 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d dd-output-stream.1.0))..(defun.m
bd00 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 28 73 74 alyon-output-stream-function.(st
bd20 72 65 61 6d 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 6f 75 74 70 75 74 20 66 75 6e 63 ream)..."Returns.the.output.func
bd40 74 69 6f 6e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 65 tion.representing.the.given.stre
bd60 61 6d 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 31 20 73 74 72 65 61 6d 29 20 28 69 66 20 28 am."...(cond.((=.1.stream).(if.(
bd80 7a 65 72 6f 70 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 zerop.malyon-current-window)....
bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 70 .......................'malyon-p
bdc0 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 utchar-transcript...............
bde0 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 ..........'malyon-putchar-status
be00 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 32 20 73 74 72 65 61 6d 29 20 27 6d 61 6c 79 6f 6e )).........((=.2.stream).'malyon
be20 2d 70 75 74 63 68 61 72 2d 70 72 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 -putchar-printer)))..(defun.maly
be40 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 28 73 74 72 65 61 6d 20 74 61 62 on-add-output-stream.(stream.tab
be60 6c 65 29 0a 20 20 22 41 64 64 20 61 20 6e 65 77 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 22 le)..."Add.a.new.output.stream."
be80 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e ...(if.(=.stream.3).......(progn
bea0 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 .........(setq.malyon-output-str
bec0 65 61 6d 73 2d 74 61 62 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 eams-tables...............(cons.
bee0 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c table.malyon-output-streams-tabl
bf00 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 es)).........(malyon-store-word.
bf20 74 61 62 6c 65 20 30 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 6d table.0)).....(let.((function.(m
bf40 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74 72 alyon-output-stream-function.str
bf60 65 61 6d 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 eam))).......(setq.malyon-output
bf80 2d 73 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 -streams.............(if.(member
bfa0 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 .function.malyon-output-streams)
bfc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 .................malyon-output-s
bfe0 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63 74 treams...............(cons.funct
c000 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 29 29 0a ion.malyon-output-streams)))))).
c020 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74 72 .(defun.malyon-remove-output-str
c040 65 61 6d 20 28 73 74 72 65 61 6d 29 0a 20 20 22 52 65 6d 6f 76 65 20 61 6e 20 6f 75 74 70 75 74 eam.(stream)..."Remove.an.output
c060 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20 20 .stream."...(if.(=.stream.3)....
c080 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 ...(setq.malyon-output-streams-t
c0a0 61 62 6c 65 73 20 28 63 64 72 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 ables.(cdr.malyon-output-streams
c0c0 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 -tables)).....(setq.malyon-outpu
c0e0 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65 6d 6f 76 65 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 t-streams....(remove.(malyon-out
c100 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74 72 65 61 6d 29 0a 09 09 09 20 put-stream-function.stream).....
c120 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 0a 0a 28 64 65 66 75 malyon-output-streams))))..(defu
c140 6e 20 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 28 n.malyon-update-output-streams.(
c160 29 0a 20 20 22 55 70 64 61 74 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 20 77 68 65 6e 20 )..."Update.output.streams.when.
c180 74 68 65 20 6f 75 74 70 75 74 20 77 69 6e 64 6f 77 20 68 61 73 20 63 68 61 6e 67 65 64 2e 22 0a the.output.window.has.changed.".
c1a0 20 20 28 6c 65 74 20 28 28 6f 6e 65 20 28 6f 72 20 28 6d 65 6d 62 65 72 20 27 6d 61 6c 79 6f 6e ..(let.((one.(or.(member.'malyon
c1c0 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 -putchar-transcript.malyon-outpu
c1e0 74 2d 73 74 72 65 61 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d t-streams)..................(mem
c200 62 65 72 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 20 20 20 20 20 6d ber.'malyon-putchar-status.....m
c220 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 0a 20 20 20 20 28 73 65 alyon-output-streams)))).....(se
c240 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65 6d tq.malyon-output-streams....(rem
c260 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a 09 ove.'malyon-putchar-transcript..
c280 09 09 20 28 72 65 6d 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 ...(remove.'malyon-putchar-statu
c2a0 73 0a 09 09 09 09 09 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 0a s......malyon-output-streams))).
c2c0 20 20 20 20 28 69 66 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 64 2d ....(if.one.........(malyon-add-
c2e0 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31 20 30 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 output-stream.1.0))))..(defsubst
c300 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 63 68 61 72 29 0a .malyon-output-character.(char).
c320 20 20 22 4f 75 74 70 75 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e 20 .."Output.a.single.character.on.
c340 61 6c 6c 20 61 63 74 69 76 65 20 73 74 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 all.active.streams."...(setq.cha
c360 72 20 28 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 68 61 72 29 r.(malyon-zscii-to-unicode.char)
c380 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 )...(if.malyon-output-streams-ta
c3a0 62 6c 65 73 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 61 62 6c 65 bles.......(malyon-putchar-table
c3c0 20 63 68 61 72 20 28 63 61 72 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 .char.(car.malyon-output-streams
c3e0 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 73 29 20 -tables)).....(mapc.(lambda.(s).
c400 28 66 75 6e 63 61 6c 6c 20 73 20 63 68 61 72 29 29 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d (funcall.s.char)).malyon-output-
c420 73 74 72 65 61 6d 73 29 29 29 0a 0a 3b 3b 20 70 72 69 6e 74 69 6e 67 20 74 65 78 74 0a 0a 28 64 streams)))..;;.printing.text..(d
c440 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 20 28 61 62 62 72 65 76 20 78 29 efsubst.malyon-abbrev.(abbrev.x)
c460 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 61 62 62 72 65 76 69 61 74 69 6f 6e 2e 22 0a 20 20 28 6d ..."Print.an.abbreviation."...(m
c480 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 0a 20 20 20 28 2a 20 32 20 28 6d 61 6c 79 6f alyon-print-ztext....(*.2.(malyo
c4a0 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 n-read-word.(+.malyon-abbreviati
c4c0 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ons.............................
c4e0 20 28 2a 20 32 20 28 2b 20 78 20 28 2a 20 33 32 20 28 31 2d 20 61 62 62 72 65 76 29 29 29 29 29 .(*.2.(+.x.(*.32.(1-.abbrev)))))
c500 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 20 28 29 0a 20 ))))..(defun.malyon-newline.()..
c520 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 ."Print.a.newline."...(if.(eq.ma
c540 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 lyon-status-buffer.(current-buff
c560 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 er)).......(goto-char.malyon-sta
c580 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 tus-buffer-point).....(goto-char
c5a0 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d .(point-max)))...(malyon-output-
c5c0 63 68 61 72 61 63 74 65 72 20 3f 5c 72 29 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d character.?\r)...(if.(eq.malyon-
c5e0 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a status-buffer.(current-buffer)).
c600 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 ......(setq.malyon-status-buffer
c620 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d -point.(point)).....(goto-char.m
c640 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 alyon-last-cursor-position-after
c660 2d 69 6e 70 75 74 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 -input))...(malyon-redisplay-fra
c680 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 29 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 me.(selected-frame).nil))..(defu
c6a0 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 50 72 69 6e 74 n.malyon-print.(object)..."Print
c6c0 20 74 65 78 74 2e 22 20 0a 20 20 28 6c 65 74 20 28 28 74 65 78 74 20 28 69 66 20 28 63 68 61 72 .text."....(let.((text.(if.(char
c6e0 61 63 74 65 72 70 20 6f 62 6a 65 63 74 29 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6f acterp.object).(char-to-string.o
c700 62 6a 65 63 74 29 20 6f 62 6a 65 63 74 29 29 0a 09 28 73 74 61 72 74 29 29 0a 20 20 20 20 28 69 bject).object))..(start)).....(i
c720 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 f.(eq.malyon-transcript-buffer.(
c740 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 current-buffer)).........(goto-c
c760 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 har.(point-max)).......(goto-cha
c780 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 29 0a 20 r.malyon-status-buffer-point))..
c7a0 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c ...(setq.start.(point)).....(mal
c7c0 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 73 74 72 69 6e 67 2d 74 6f 2d yon-print-characters.(string-to-
c7e0 6c 69 73 74 20 74 65 78 74 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 list.text)).....(put-text-proper
c800 74 79 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 63 75 ty.start.(point).'face.malyon-cu
c820 72 72 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 rrent-face).....(if.(eq.malyon-s
c840 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 tatus-buffer.(current-buffer))..
c860 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 .......(setq.malyon-status-buffe
c880 72 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 r-point.(point)).......(goto-cha
c8a0 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 r.malyon-last-cursor-position-af
c8c0 74 65 72 2d 69 6e 70 75 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 ter-input))))..(defun.malyon-pri
c8e0 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 74 65 78 74 29 0a 20 20 22 50 72 69 6e 74 20 61 20 nt-characters.(text)..."Print.a.
c900 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 6d 61 70 63 20 27 6d 61 list.of.characters."...(mapc.'ma
c920 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 74 65 78 74 29 29 0a 0a 28 64 lyon-output-character.text))..(d
c940 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 28 efsubst.malyon-print-state-new.(
c960 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64 65 29 0a 20 20 22 char.shift.abbr.zscii.zcode)..."
c980 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 70 72 69 6e 74 20 73 74 61 74 65 2e 22 0a 20 20 28 Generate.a.new.print.state."...(
c9a0 6c 69 73 74 20 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64 65 list.char.shift.abbr.zscii.zcode
c9c0 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 ))..(defsubst.malyon-print-state
c9e0 2d 69 6e 69 74 69 61 6c 20 28 29 0a 20 20 22 52 65 74 75 72 6e 73 20 61 6e 20 69 6e 69 74 69 61 -initial.()..."Returns.an.initia
ca00 6c 20 73 74 61 74 65 20 66 6f 72 20 74 68 65 20 7a 74 65 78 74 20 64 65 63 6f 64 65 72 2e 22 0a l.state.for.the.ztext.decoder.".
ca20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 2d 36 ..(malyon-print-state-new.nil.-6
ca40 20 30 20 30 20 30 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 .0.0.0))..(defsubst.malyon-print
ca60 2d 73 74 61 74 65 2d 6e 65 78 74 20 28 78 20 69 67 6e 6f 72 65 20 73 68 69 66 74 20 61 62 62 72 -state-next.(x.ignore.shift.abbr
ca80 20 7a 73 63 69 69 20 7a 29 0a 20 20 22 50 72 69 6e 74 20 73 74 61 74 65 20 74 72 61 6e 73 69 74 .zscii.z)..."Print.state.transit
caa0 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 7a 73 63 69 69 ion.function."...(cond.((=.zscii
cac0 20 32 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 .2)..........(malyon-print-state
cae0 2d 6e 65 77 20 28 2b 20 7a 20 78 29 20 2d 36 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 -new.(+.z.x).-6.0.0.0)).........
cb00 28 28 3d 20 7a 73 63 69 69 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 ((=.zscii.1)..........(malyon-pr
cb20 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20 20 20 20 2d 36 20 30 20 32 20 28 2a 20 int-state-new.nil.....-6.0.2.(*.
cb40 33 32 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20 61 62 62 72 20 30 29 0a 20 20 20 20 32.x))).........((>.abbr.0).....
cb60 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 20 61 62 62 72 20 78 29 0a 20 20 20 20 .....(malyon-abbrev.abbr.x).....
cb80 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61 6c .....(malyon-print-state-initial
cba0 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 )).........((=.x.0)..........(ma
cbc0 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 3f 20 20 20 20 20 20 20 2d 36 20 lyon-print-state-new.?.......-6.
cbe0 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 78 20 34 29 0a 20 20 20 20 20 20 20 0.0.0)).........((<.x.4)........
cc00 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20 20 ..(malyon-print-state-new.nil...
cc20 20 20 2d 36 20 78 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 34 29 0a 20 20 ..-6.x.0.0)).........((=.x.4)...
cc40 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e .......(malyon-print-state-new.n
cc60 69 6c 20 20 20 20 20 32 30 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 il.....20.0.0.0)).........((=.x.
cc80 35 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 5)..........(malyon-print-state-
cca0 6e 65 77 20 6e 69 6c 20 20 20 20 20 34 36 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 new.nil.....46.0.0.0)).........(
ccc0 28 61 6e 64 20 28 3d 20 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20 36 29 29 0a 20 20 20 20 20 (and.(=.shift.46).(=.x.6))......
cce0 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 ....(malyon-print-state-new.nil.
cd00 20 20 20 20 2d 36 20 30 20 31 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 ....-6.0.1.0)).........((and.(=.
cd20 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c shift.46).(=.x.7))..........(mal
cd40 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 3f 5c 72 20 20 20 20 20 2d 36 20 30 yon-print-state-new.?\r.....-6.0
cd60 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 .0.0)).........(t..........(maly
cd80 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 on-print-state-new...........(ar
cda0 65 66 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 2b 20 73 68 69 66 74 20 78 29 29 20 ef.malyon-alphabet.(+.shift.x)).
cdc0 2d 36 20 30 20 30 20 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e -6.0.0.0))))..(defun.malyon-prin
cde0 74 2d 74 65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 6e 74 20 74 65 78 74 20 61 t-text.(address)..."Print.text.a
ce00 74 20 61 64 64 72 65 73 73 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 61 64 64 72 65 73 73 t.address.and.return.the.address
ce20 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 79 74 65 2e 22 0a 20 20 28 6c 65 74 20 .of.the.following.byte."...(let.
ce40 28 28 73 74 61 72 74 29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 ((start)).....(if.(eq.malyon-tra
ce60 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 nscript-buffer.(current-buffer))
ce80 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 .........(goto-char.(point-max))
cea0 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d .......(goto-char.malyon-status-
cec0 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 buffer-point)).....(setq.start.(
cee0 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f point)).....(setq.address.(malyo
cf00 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 70 75 74 n-print-ztext.address)).....(put
cf20 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66 61 -text-property.start.(point).'fa
cf40 63 65 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 69 66 20 ce.malyon-current-face).....(if.
cf60 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e (eq.malyon-status-buffer.(curren
cf80 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d t-buffer)).........(setq.malyon-
cfa0 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 status-buffer-point.(point))....
cfc0 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 ...(goto-char.malyon-last-cursor
cfe0 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 29 29 0a 20 20 20 20 28 6d 61 6c -position-after-input)).....(mal
d000 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 yon-redisplay-frame.(selected-fr
d020 61 6d 65 29 20 6e 69 6c 29 0a 20 20 20 20 61 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 ame).nil).....address))..(defun.
d040 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 malyon-print-ztext.(address)..."
d060 50 72 69 6e 74 20 74 68 65 20 7a 74 65 78 74 20 73 74 6f 72 65 64 20 61 74 20 74 68 65 20 67 69 Print.the.ztext.stored.at.the.gi
d080 76 65 6e 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 69 67 68 20 30 29 20 28 ven.address."...(let.((high.0).(
d0a0 6c 6f 77 29 20 28 61 29 20 28 62 29 20 28 63 29 20 28 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d low).(a).(b).(c).(state.(malyon-
d0c0 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61 6c 29 29 29 0a 20 20 20 20 28 77 68 69 6c print-state-initial))).....(whil
d0e0 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 68 69 67 68 29 29 0a 20 20 20 20 e.(zerop.(logand.128.high)).....
d100 20 20 28 73 65 74 71 20 68 69 67 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 ..(setq.high.(malyon-read-byte.a
d120 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 77 20 20 28 6d 61 6c 79 6f ddress)).......(setq.low..(malyo
d140 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 n-read-byte.(+.1.address))).....
d160 20 20 28 73 65 74 71 20 61 20 20 20 20 28 6c 6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 68 69 67 ..(setq.a....(logand.31.(lsh.hig
d180 68 20 2d 32 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 20 20 20 20 28 6c 6f 67 61 6e 64 h.-2))).......(setq.b....(logand
d1a0 20 33 31 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 68 69 67 68 20 33 29 20 28 6c 73 68 20 6c 6f .31.(logior.(lsh.high.3).(lsh.lo
d1c0 77 20 2d 35 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 20 20 20 20 28 6c 6f 67 61 6e w.-5)))).......(setq.c....(logan
d1e0 64 20 33 31 20 6c 6f 77 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61 70 d.31.low)).......(setq.state.(ap
d200 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 61 20 73 ply.'malyon-print-state-next.a.s
d220 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d 61 tate)).......(if.(car.state).(ma
d240 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74 65 lyon-output-character.(car.state
d260 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d 61 ))).......(setq.state.(apply.'ma
d280 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 62 20 73 74 61 74 65 29 29 0a lyon-print-state-next.b.state)).
d2a0 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f 75 ......(if.(car.state).(malyon-ou
d2c0 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20 20 tput-character.(car.state)))....
d2e0 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70 72 ...(setq.state.(apply.'malyon-pr
d300 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 63 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 int-state-next.c.state)).......(
d320 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 if.(car.state).(malyon-output-ch
d340 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 aracter.(car.state))).......(set
d360 71 20 61 64 64 72 65 73 73 20 28 2b 20 32 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 61 64 q.address.(+.2.address))).....ad
d380 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 dress))..(defun.malyon-putchar-t
d3a0 72 61 6e 73 63 72 69 70 74 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 ranscript.(char)..."Print.a.sing
d3c0 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 le.character.in.the.transcript.w
d3e0 69 6e 64 6f 77 2e 22 0a 20 20 28 69 66 20 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 72 20 3f indow."...(if.(char-equal.char.?
d400 5c 6e 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a 20 20 20 20 28 69 6e 73 65 72 \n).......(newline.1).....(inser
d420 74 20 63 68 61 72 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 t.char).....(setq.malyon-print-s
d440 65 70 61 72 61 74 6f 72 20 28 6e 75 6c 6c 20 28 6d 65 6d 62 65 72 20 63 68 61 72 20 6d 61 6c 79 eparator.(null.(member.char.maly
d460 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 29 29 29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 6d 61 6c on-whitespace))))...(if.(and.mal
d480 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 0a 20 yon-transcript-buffer-buffered..
d4a0 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 63 ..........(>.(current-column).(c
d4c0 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f urrent-fill-column))).......(pro
d4e0 67 6e 0a 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 gn.........(end-of-line)........
d500 20 28 66 6f 72 77 61 72 64 2d 77 6f 72 64 20 2d 31 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 .(forward-word.-1).........(if.(
d520 3c 20 30 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 <.0.(current-column))...........
d540 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c ..(newline.1)).........(end-of-l
d560 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 ine))))..(defun.malyon-putchar-s
d580 74 61 74 75 73 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 tatus.(char)..."Print.a.single.c
d5a0 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 77 69 6e 64 6f 77 2e 22 0a haracter.in.the.status.window.".
d5c0 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 ..(if.malyon-status-buffer-delay
d5e0 65 64 2d 73 70 6c 69 74 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6d ed-split.......(progn.........(m
d600 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 6d 61 6c 79 6f alyon-split-buffer-windows.malyo
d620 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a 20 n-status-buffer-delayed-split)..
d640 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 28 69 66 20 .......(other-window.1)))...(if.
d660 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 72 20 3f 5c 6e 29 0a 20 20 20 20 20 20 28 70 72 6f (char-equal.char.?\n).......(pro
d680 67 6e 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 gn.........(beginning-of-line)..
d6a0 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 .......(forward-line.1).........
d6c0 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 (if.(=.(point).(point-max)).....
d6e0 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 29 29 0a 20 20 20 20 ........(forward-line.-1))).....
d700 28 69 66 20 28 3e 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 63 75 72 72 65 6e 74 (if.(>.(current-column).(current
d720 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 -fill-column)).........'()......
d740 20 28 69 6e 73 65 72 74 20 63 68 61 72 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 .(insert.char).......(delete-cha
d760 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 r.1))))..(defun.malyon-putchar-t
d780 61 62 6c 65 20 28 63 68 61 72 20 74 61 62 6c 65 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e able.(char.table)..."Print.a.sin
d7a0 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 61 20 74 61 62 6c 65 2e 22 0a 20 20 28 gle.character.into.a.table."...(
d7c0 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 setq.char.(malyon-unicode-to-zsc
d7e0 69 69 20 63 68 61 72 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 ii.char))...(malyon-store-byte.(
d800 2b 20 32 20 74 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62 6c +.2.table.(malyon-read-word.tabl
d820 65 29 29 20 63 68 61 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 74 e)).char)...(malyon-store-word.t
d840 61 62 6c 65 20 28 2b 20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62 6c able.(+.1.(malyon-read-word.tabl
d860 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 70 72 69 e))))..(defun.malyon-putchar-pri
d880 6e 74 65 72 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 68 nter.(char)..."Print.a.single.ch
d8a0 61 72 61 63 74 65 72 20 6f 6e 74 6f 20 61 20 70 72 69 6e 74 65 72 2e 22 29 3b 20 6e 6f 74 20 79 aracter.onto.a.printer.");.not.y
d8c0 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 0a 3b 3b 20 6d 6f 72 65 0a 0a 28 64 65 66 76 61 72 et.implemented..;;.more..(defvar
d8e0 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 6e 69 6c .malyon-more-continue-keymap.nil
d900 0a 20 20 22 54 68 65 20 6b 65 79 6d 61 70 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 63 6f 6e ..."The.keymap.with.which.to.con
d920 74 69 6e 75 65 20 61 66 74 65 72 20 4d 6f 72 65 20 68 61 73 20 66 69 6e 69 73 68 65 64 2e 22 29 tinue.after.More.has.finished.")
d940 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 20 28 6b 65 79 6d 61 70 29 0a 20 20 ..(defun.malyon-more.(keymap)...
d960 22 45 6e 74 65 72 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c "Enter.More.mode."...(if.(eq.mal
d980 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 yon-status-buffer.(current-buffe
d9a0 72 29 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70 29 r)).......(use-local-map.keymap)
d9c0 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e .....(if.(<.malyon-story-version
d9e0 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29 29 .5).(malyon-opcode-show-status))
da00 0a 20 20 20 20 28 69 66 20 28 3c 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 6d 61 6c 79 6f 6e 2d .....(if.(<.(count-lines.malyon-
da20 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 last-cursor-position-after-input
da40 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e .(point-max))............(malyon
da60 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 -window-displayed-height))......
da80 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 ...(progn...........(malyon-adju
daa0 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 73 65 2d 6c 6f st-transcript)...........(use-lo
dac0 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 cal-map.keymap)).......(goto-cha
dae0 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 r.malyon-last-cursor-position-af
db00 74 65 72 2d 69 6e 70 75 74 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c ter-input).......(beginning-of-l
db20 69 6e 65 29 0a 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 28 73 ine).......(recenter.1).......(s
db40 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 etq.malyon-more-continue-keymap.
db60 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c keymap).......(use-local-map.mal
db80 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 yon-keymap-more).......(message.
dba0 22 5b 4d 6f 72 65 5d 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 "[More]"))))..(defun.malyon-more
dbc0 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 29 0a 20 20 22 45 6e 74 65 72 20 4d 6f 72 65 20 -status-buffer.()..."Enter.More.
dbe0 6d 6f 64 65 20 66 6f 72 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 mode.for.the.status.buffer."...(
dc00 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 setq.malyon-more-continue-keymap
dc20 20 28 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 29 0a 20 20 28 75 73 65 2d 6c 6f 63 .(current-local-map))...(use-loc
dc40 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 al-map.malyon-keymap-more-status
dc60 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 65 5d 22 29 0a 20 20 28 74 68 72 6f 77 20 )...(message."[More]")...(throw.
dc80 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 'malyon-end-of-interpreter-loop.
dca0 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 69 6e 67 2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 3b 3b 20 'malyon-waiting-for-input))..;;.
dcc0 69 6e 70 75 74 20 68 69 73 74 6f 72 79 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 input.history..(defvar.malyon-hi
dce0 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 54 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 story.nil..."The.input.history."
dd00 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 )..(defun.malyon-history-previou
dd20 73 20 28 29 0a 20 20 22 4d 6f 76 65 20 6f 6e 65 20 65 6e 74 72 79 20 75 70 20 69 6e 20 74 68 65 s.()..."Move.one.entry.up.in.the
dd40 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 65 76 20 28 .input.history."...(let.((prev.(
dd60 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a 20 20 20 20 20 20 20 20 aref.malyon-history.0)).........
dd80 28 63 75 72 72 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a 20 (curr.(aref.malyon-history.1))..
dda0 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 .......(next.(aref.malyon-histor
ddc0 79 20 32 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 70 72 65 76 29 0a 20 20 20 20 20 y.2))).....(if.(null.prev)......
dde0 20 20 20 63 75 72 72 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f ...curr.......(aset.malyon-histo
de00 72 79 20 32 20 28 69 66 20 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20 6e ry.2.(if.curr.(cons.curr.next).n
de20 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 ext)).......(aset.malyon-history
de40 20 30 20 28 63 64 72 20 70 72 65 76 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f .0.(cdr.prev)).......(aset.malyo
de60 6e 2d 68 69 73 74 6f 72 79 20 31 20 28 63 61 72 20 70 72 65 76 29 29 29 29 29 0a 0a 28 64 65 66 n-history.1.(car.prev)))))..(def
de80 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4d 6f 76 un.malyon-history-next.()..."Mov
dea0 65 20 6f 6e 65 20 65 6e 74 72 79 20 64 6f 77 6e 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 e.one.entry.down.in.the.input.hi
dec0 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 65 76 20 28 61 72 65 66 20 6d 61 6c 79 story."...(let.((prev.(aref.maly
dee0 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 20 28 61 72 on-history.0)).........(curr.(ar
df00 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 6e ef.malyon-history.1)).........(n
df20 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 29 29 29 0a 20 20 ext.(aref.malyon-history.2)))...
df40 20 20 28 69 66 20 28 6e 75 6c 6c 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 63 75 72 72 0a 20 ..(if.(null.next).........curr..
df60 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 20 28 69 66 20 .....(aset.malyon-history.0.(if.
df80 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 70 72 65 76 29 20 70 72 65 76 29 29 0a 20 20 20 curr.(cons.curr.prev).prev))....
dfa0 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 20 28 63 64 72 20 6e ...(aset.malyon-history.2.(cdr.n
dfc0 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 ext)).......(aset.malyon-history
dfe0 20 31 20 28 63 61 72 20 6e 65 78 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e .1.(car.next)))))..(defun.malyon
e000 2d 68 69 73 74 6f 72 79 2d 63 6c 65 61 72 20 28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 69 -history-clear.()..."Clear.the.i
e020 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 nput.history."...(setq.malyon-hi
e040 73 74 6f 72 79 20 28 76 65 63 74 6f 72 20 27 28 29 20 6e 69 6c 20 27 28 29 29 29 29 0a 0a 28 64 story.(vector.'().nil.'())))..(d
e060 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 69 6e 73 65 72 74 20 28 65 6e 74 72 efun.malyon-history-insert.(entr
e080 79 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 65 6e 74 72 79 20 69 6e 74 6f 20 74 68 65 20 69 y)..."Insert.an.entry.into.the.i
e0a0 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 65 76 20 28 61 nput.history."...(let*.((prev.(a
e0c0 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a 09 20 28 63 75 72 72 20 28 ref.malyon-history.0))...(curr.(
e0e0 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a 09 20 28 6e 65 78 74 20 aref.malyon-history.1))...(next.
e100 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 29 29 0a 09 20 28 6c 20 20 20 (aref.malyon-history.2))...(l...
e120 20 28 72 65 6d 6f 76 65 20 65 6e 74 72 79 0a 09 09 09 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 .(remove.entry..........(append.
e140 28 6e 72 65 76 65 72 73 65 20 70 72 65 76 29 0a 09 09 09 09 20 20 20 20 20 20 28 69 66 20 63 75 (nreverse.prev)...........(if.cu
e160 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20 6e 65 78 74 29 29 29 29 0a 09 20 28 rr.(cons.curr.next).next))))...(
e180 63 75 74 20 20 28 2d 20 28 6c 65 6e 67 74 68 20 6c 29 20 31 39 29 29 29 0a 20 20 20 20 28 77 68 cut..(-.(length.l).19))).....(wh
e1a0 69 6c 65 20 28 3e 20 63 75 74 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 20 20 28 63 ile.(>.cut.0).......(setq.l...(c
e1c0 64 72 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 74 20 28 2d 20 63 75 74 20 31 29 29 dr.l).............cut.(-.cut.1))
e1e0 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 0a 09 20 20 ).....(aset.malyon-history.0....
e200 28 72 65 6d 6f 76 65 20 6e 69 6c 20 28 72 65 6d 6f 76 65 20 22 22 20 28 63 6f 6e 73 20 65 6e 74 (remove.nil.(remove."".(cons.ent
e220 72 79 20 28 6e 72 65 76 65 72 73 65 20 6c 29 29 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 ry.(nreverse.l))))).....(aset.ma
e240 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 20 6e 69 6c 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 lyon-history.1.nil).....(aset.ma
e260 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 20 27 28 29 29 29 29 0a 0a 3b 3b 20 64 69 63 74 69 6f lyon-history.2.'())))..;;.dictio
e280 6e 61 72 79 20 6c 6f 6f 6b 75 70 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 nary.lookup..(defun.malyon-dicti
e2a0 6f 6e 61 72 79 2d 77 6f 72 64 20 28 63 68 61 72 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 onary-word.(chars)..."Convert.a.
e2c0 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 61 20 64 69 63 74 69 6f list.of.characters.into.a.dictio
e2e0 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28 6c 69 73 74 20 28 63 61 72 20 28 63 61 72 20 63 68 nary.word."...(list.(car.(car.ch
e300 61 72 73 29 29 0a 09 28 6c 65 6e 67 74 68 20 63 68 61 72 73 29 0a 09 28 6d 61 6c 79 6f 6e 2d 65 ars))..(length.chars)..(malyon-e
e320 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 61 70 70 65 6e 64 20 28 63 ncode-dictionary-word.(append.(c
e340 6c 2d 6d 61 70 63 61 6e 20 27 63 64 72 20 63 68 61 72 73 29 0a 09 09 09 09 09 20 20 20 20 20 20 l-mapcan.'cdr.chars)............
e360 20 27 28 35 20 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 .'(5.5.5.5.5.5.5.5)))))..(defsub
e380 73 74 20 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 28 73 74 6f 70 20 st.malyon-join-characters.(stop.
e3a0 6c 69 73 74 29 0a 20 20 22 4a 6f 69 6e 73 20 74 68 72 65 65 20 7a 74 65 78 74 20 63 68 61 72 61 list)..."Joins.three.ztext.chara
e3c0 63 74 65 72 73 20 69 6e 74 6f 20 74 77 6f 20 62 79 74 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 cters.into.two.bytes."...(let.((
e3e0 61 20 28 63 61 72 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 09 28 62 20 28 63 61 64 72 a.(car..........list))..(b.(cadr
e400 20 20 6c 69 73 74 29 29 0a 09 28 63 20 28 63 6c 2d 63 61 64 64 72 20 6c 69 73 74 29 29 0a 09 28 ..list))..(c.(cl-caddr.list))..(
e420 78 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 6f 70 29 20 30 20 31 32 38 29 29 29 0a 20 20 20 20 x.(if.(zerop.stop).0.128))).....
e440 28 6c 69 73 74 20 28 6c 6f 67 69 6f 72 20 78 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 6f 67 (list.(logior.x.(logand.255.(log
e460 69 6f 72 20 28 6c 73 68 20 61 20 32 29 20 28 6c 73 68 20 62 20 2d 33 29 29 29 29 0a 20 20 20 20 ior.(lsh.a.2).(lsh.b.-3)))).....
e480 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 62 ......(logand.255.(logior.(lsh.b
e4a0 20 35 29 20 63 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 .5).c)))))..(defun.malyon-encode
e4c0 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 -dictionary-word.(l)..."Converts
e4e0 20 61 20 6c 69 73 74 20 6f 66 20 7a 74 65 78 74 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f .a.list.of.ztext.characters.into
e500 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 .a.dictionary.word."...(let*.((f
e520 69 72 73 74 20 20 6c 29 0a 09 20 28 73 65 63 6f 6e 64 20 28 63 6c 2d 63 64 64 64 72 20 66 69 72 irst..l)...(second.(cl-cdddr.fir
e540 73 74 29 29 0a 09 20 28 74 68 69 72 64 20 20 28 63 6c 2d 63 64 64 64 72 20 73 65 63 6f 6e 64 29 st))...(third..(cl-cdddr.second)
e560 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 )).....(apply.'vector...........
e580 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a .(if.(<.malyon-story-version.5).
e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6d 61 6c 79 6f 6e 2d 6a ...............(append.(malyon-j
e5c0 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 30 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20 20 oin-characters.0.first).........
e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 ...............(malyon-join-char
e600 61 63 74 65 72 73 20 31 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 acters.1.second))..............(
e620 61 70 70 65 6e 64 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 30 append.(malyon-join-characters.0
e640 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 .first)......................(ma
e660 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 30 20 73 65 63 6f 6e 64 29 0a 20 lyon-join-characters.0.second)..
e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e ....................(malyon-join
e6a0 2d 63 68 61 72 61 63 74 65 72 73 20 31 20 74 68 69 72 64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 -characters.1.third))))))..(defu
e6c0 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 28 64 69 63 74 20 63 6f 64 65 29 0a 20 20 22 4c n.malyon-lookup.(dict.code)..."L
e6e0 6f 6f 6b 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 63 6f 64 65 20 69 6e 20 74 68 65 20 64 69 ook.for.the.given.code.in.the.di
e700 63 74 69 6f 6e 61 72 79 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 61 64 64 72 65 73 73 2e ctionary.and.return.its.address.
e720 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 63 6f 64 65 29 20 20 20 20 20 20 20 20 20 20 20 "...(cond.((not.code)...........
e740 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 64 69 63 74 29 20 20 20 20 ......0).........((not.dict)....
e760 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 .............(malyon-binary-sear
e780 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 64 69 63 74 20 6d 61 6c 79 6f ch.code)).........((=.dict.malyo
e7a0 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 20 28 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 n-dictionary).(malyon-binary-sea
e7c0 72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 rch.code)).........(t...........
e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73 65 ...............(malyon-linear-se
e800 61 72 63 68 20 64 69 63 74 20 63 6f 64 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 arch.dict.code))))..(defsubst.ma
e820 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 28 77 6f 72 64 20 61 64 64 72 65 73 73 lyon-compare-words.(word.address
e840 29 0a 20 20 22 43 6f 6d 70 61 72 65 73 20 74 68 65 20 67 69 76 65 6e 20 77 6f 72 64 20 74 6f 20 )..."Compares.the.given.word.to.
e860 74 68 65 20 77 6f 72 64 20 73 74 6f 72 65 64 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 the.word.stored.at.address."...(
e880 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6a 20 61 64 64 72 65 73 73 29 let*.((i.0)..........(j.address)
e8a0 0a 20 20 20 20 20 20 20 20 20 28 78 20 28 61 72 65 66 20 77 6f 72 64 20 69 29 29 0a 20 20 20 20 ..........(x.(aref.word.i)).....
e8c0 20 20 20 20 20 28 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a 20 .....(y.(malyon-read-byte.j)))..
e8e0 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 2f 3d 20 78 20 79 29 20 28 3d 20 69 ...(while.(not.(or.(/=.x.y).(=.i
e900 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 29 29 .malyon-dictionary-word-length))
e920 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 ).......(setq.i.(+.1.i).........
e940 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 20 28 61 72 65 ....j.(+.1.j).............x.(are
e960 66 20 77 6f 72 64 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 20 28 6d 61 6c 79 6f 6e 2d f.word.i).............y.(malyon-
e980 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a 20 20 20 20 28 2d 20 78 20 79 29 29 29 0a 0a 3b 3b read-byte.j))).....(-.x.y)))..;;
e9a0 20 73 65 61 72 63 68 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e .search.functions..(defun.malyon
e9c0 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20 28 63 6f 64 65 29 0a 20 20 22 42 69 6e 61 72 79 20 -binary-search.(code)..."Binary.
e9e0 73 65 61 72 63 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 6d 61 69 6e 20 64 69 63 74 69 6f 6e 61 search.through.the.main.dictiona
ea00 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 6f 77 65 72 20 20 20 30 29 0a 20 20 20 20 20 20 ry."...(let*.((lower...0).......
ea20 20 20 20 28 75 70 70 65 72 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 ...(upper...(-.malyon-dictionary
ea40 2d 6e 75 6d 2d 65 6e 74 72 69 65 73 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 65 64 69 61 -num-entries.1))..........(media
ea60 6e 20 20 28 2f 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72 29 20 32 29 29 0a 20 20 20 20 20 20 n..(/.(+.lower.upper).2)).......
ea80 20 20 20 28 65 6e 74 72 79 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 ...(entry...(+.malyon-dictionary
eaa0 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a -entries......................(*
eac0 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 .malyon-dictionary-entry-length.
eae0 6d 65 64 69 61 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c median)))..........(looking.(mal
eb00 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a yon-compare-words.code.entry))).
eb20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 3e 20 6c 6f 77 65 72 20 75 70 70 ....(while.(not.(or.(>.lower.upp
eb40 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 er).(zerop.looking))).......(set
eb60 71 20 6c 6f 77 65 72 20 20 20 28 69 66 20 28 3c 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2b 20 6d q.lower...(if.(<.0.looking).(+.m
eb80 65 64 69 61 6e 20 31 29 20 6c 6f 77 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 70 70 65 edian.1).lower).............uppe
eba0 72 20 20 20 28 69 66 20 28 3e 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2d 20 6d 65 64 69 61 6e 20 r...(if.(>.0.looking).(-.median.
ebc0 31 29 20 75 70 70 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 64 69 61 6e 20 20 28 2f 1).upper).............median..(/
ebe0 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(+.lower.upper).2).............
ec00 65 6e 74 72 79 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 entry...(+.malyon-dictionary-ent
ec20 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 6d ries........................(*.m
ec40 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6d 65 alyon-dictionary-entry-length.me
ec60 64 69 61 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c 79 dian)).............looking.(maly
ec80 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a 20 on-compare-words.code.entry)))..
eca0 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 20 65 6e 74 72 79 20 30 29 29 ...(if.(zerop.looking).entry.0))
ecc0 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73 65 61 72 63 68 20 28 )..(defun.malyon-linear-search.(
ece0 64 69 63 74 69 6f 6e 61 72 79 20 63 6f 64 65 29 0a 20 20 22 4c 69 6e 65 61 72 20 73 65 61 72 63 dictionary.code)..."Linear.searc
ed00 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 67 69 76 65 6e 20 64 69 63 74 69 6f 6e 61 72 79 2e 22 h.through.the.given.dictionary."
ed20 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d ...(let*.((length..(malyon-read-
ed40 62 79 74 65 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 byte.(+.dictionary.1............
ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c ............................(mal
ed80 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 yon-read-byte.dictionary))))....
eda0 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 ......(number..(malyon-read-word
edc0 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(+.dictionary.2................
ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d ........................(malyon-
ee00 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 read-byte.dictionary))))........
ee20 20 20 28 65 6e 74 72 69 65 73 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 34 20 28 6d 61 6c 79 ..(entries.(+.dictionary.4.(maly
ee40 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 20 20 20 on-read-byte.dictionary)))......
ee60 20 20 20 20 28 69 20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 ....(i.......0)..........(entry.
ee80 20 20 28 2b 20 65 6e 74 72 69 65 73 20 28 2a 20 6c 65 6e 67 74 68 20 69 29 29 29 0a 20 20 20 20 ..(+.entries.(*.length.i))).....
eea0 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f .....(looking.(malyon-compare-wo
eec0 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f rds.code.entry))).....(while.(no
eee0 74 20 28 6f 72 20 28 3e 3d 20 69 20 6e 75 6d 62 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 t.(or.(>=.i.number).(zerop.looki
ef00 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 20 20 20 20 20 20 28 2b 20 31 20 69 ng))).......(setq.i.......(+.1.i
ef20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 20 20 28 2b 20 65 6e 74 72 69 65 73 ).............entry...(+.entries
ef40 20 28 2a 20 6c 65 6e 67 74 68 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 69 .(*.length.i)).............looki
ef60 6e 67 20 28 6d 61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65 6e ng.(malyon-compare-words.code.en
ef80 74 72 79 29 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 20 65 try))).....(if.(zerop.looking).e
efa0 6e 74 72 79 20 30 29 29 29 0a 0a 3b 3b 20 65 6e 63 6f 64 69 6e 67 20 74 65 78 74 20 61 6e 64 20 ntry.0)))..;;.encoding.text.and.
efc0 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d lexical.analysis..(defun.malyon-
efe0 73 70 6c 69 74 2d 6c 69 73 74 20 28 73 65 70 20 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 78 split-list.(sep.list.&optional.x
f000 29 0a 20 20 22 53 70 6c 69 74 20 61 20 6c 69 73 74 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 )..."Split.a.list.into.sublists.
f020 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 73 65 70 61 72 61 74 6f 72 73 2e 22 as.indicated.by.the.separators."
f040 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 ...(cond.((null.list)..........(
f060 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 list.(nreverse.x))).........((eq
f080 20 73 65 70 20 28 63 61 72 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 .sep.(car.list))..........(cons.
f0a0 28 6e 72 65 76 65 72 73 65 20 78 29 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 (nreverse.x).(malyon-split-list.
f0c0 73 65 70 20 28 63 64 72 20 6c 69 73 74 29 20 27 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 sep.(cdr.list).'()))).........(t
f0e0 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 73 65 70 ..........(malyon-split-list.sep
f100 20 28 63 64 72 20 6c 69 73 74 29 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 29 .(cdr.list).(cons.(car.list).x))
f120 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 73 2d 74 6f )))..(defun.malyon-characters-to
f140 2d 77 6f 72 64 73 20 28 6c 69 73 74 29 0a 20 20 22 54 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f -words.(list)..."Turn.the.list.o
f160 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 77 6f 72 64 f.characters.into.a.list.of.word
f180 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 s."...(mapcar.'malyon-dictionary
f1a0 2d 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 20 27 28 29 20 28 6d 61 6c -word...........(delete.'().(mal
f1c0 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 yon-split-list.'malyon-word-sepa
f1e0 72 61 74 6f 72 20 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e rator.list))))..(defsubst.malyon
f200 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 20 28 63 20 73 29 0a 20 20 22 52 65 74 75 72 6e 73 -char-in-string.(c.s)..."Returns
f220 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 63 20 69 6e 20 73 20 69 66 20 66 6f 75 6e 64 2c 20 6f .the.index.of.c.in.s.if.found,.o
f240 72 20 6c 65 6e 67 74 68 20 6f 66 20 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 r.length.of.s."...(let.((i.0))..
f260 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 3d 20 69 20 28 6c 65 6e 67 74 68 20 ...(while.(not.(or.(=.i.(length.
f280 73 29 29 20 28 3d 20 63 20 28 61 72 65 66 20 73 20 69 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 s)).(=.c.(aref.s.i)))).......(se
f2a0 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 69 29 29 0a 0a 28 64 65 66 73 75 62 73 tq.i.(+.1.i))).....i))..(defsubs
f2c0 74 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 28 63 29 0a 20 t.malyon-encode-into-ztext.(c)..
f2e0 20 22 43 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 7a 74 65 78 74 ."Convert.a.character.into.ztext
f300 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d ."...(let*.((index.(malyon-char-
f320 69 6e 2d 73 74 72 69 6e 67 20 63 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 29 29 0a 20 20 in-string.c.malyon-alphabet))...
f340 20 20 20 20 20 20 20 28 73 68 69 66 74 20 28 66 6c 6f 6f 72 20 69 6e 64 65 78 20 32 36 29 29 0a .......(shift.(floor.index.26)).
f360 20 20 20 20 20 20 20 20 20 28 63 68 61 72 20 20 28 2b 20 36 20 28 6d 6f 64 20 69 6e 64 65 78 20 .........(char..(+.6.(mod.index.
f380 32 36 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 73 68 69 66 74 20 32 29 20 28 6c 26)))).....(cond.((>.shift.2).(l
f3a0 69 73 74 20 35 20 36 20 28 6c 6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 63 20 2d 35 29 29 20 28 ist.5.6.(logand.31.(lsh.c.-5)).(
f3c0 6c 6f 67 61 6e 64 20 33 31 20 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 73 68 69 logand.31.c)))...........((=.shi
f3e0 66 74 20 32 29 20 28 6c 69 73 74 20 35 20 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 ft.2).(list.5.char))...........(
f400 28 3d 20 73 68 69 66 74 20 31 29 20 28 6c 69 73 74 20 34 20 63 68 61 72 29 29 0a 20 20 20 20 20 (=.shift.1).(list.4.char))......
f420 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 63 68 61 72 29 29 29 29 .....(t...........(list.char))))
f440 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 73 69 6e 67 6c 65 2d 63 )..(defun.malyon-encode-single-c
f460 68 61 72 61 63 74 65 72 20 28 74 65 72 6d 69 6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72 73 haracter.(terminating-characters
f480 20 63 68 61 72 29 0a 20 20 22 45 6e 63 6f 64 65 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 .char)..."Encode.a.character.int
f4a0 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 63 61 72 20 63 68 61 72 o.ztext."...(let.((pos.(car.char
f4c0 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 20 20 28 63 64 72 20 63 68 61 72 29 29 29 0a 20 20 20 )).........(c...(cdr.char)))....
f4e0 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 72 20 63 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 .(cond.((member.c.malyon-whitesp
f500 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77 6f ace)............(list.'malyon-wo
f520 72 64 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62 65 rd-separator))...........((membe
f540 72 20 63 20 74 65 72 6d 69 6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72 73 29 0a 20 20 20 20 r.c.terminating-characters).....
f560 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 61 .......(list.'malyon-word-separa
f580 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 70 6f 73 20 28 tor..................(cons.pos.(
f5a0 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63 29 29 0a 20 20 20 malyon-encode-into-ztext.c))....
f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 ..............'malyon-word-separ
f5e0 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 ator))...........(t.(list.(cons.
f600 70 6f 73 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63 29 pos.(malyon-encode-into-ztext.c)
f620 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 63 68 61 ))))))..(defun.malyon-encode-cha
f640 72 61 63 74 65 72 2d 6c 69 73 74 20 28 64 69 63 74 20 6c 69 73 74 29 0a 20 20 22 45 6e 63 6f 64 racter-list.(dict.list)..."Encod
f660 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 7a 74 e.the.list.of.characters.into.zt
f680 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 28 69 ext."...(let.((l.'()).........(i
f6a0 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 .0)).....(while.(<.i.(malyon-rea
f6c0 64 2d 62 79 74 65 20 64 69 63 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 63 6f 6e d-byte.dict)).......(setq.l.(con
f6e0 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 64 69 63 74 20 31 20 69 29 s.(malyon-read-byte.(+.dict.1.i)
f700 29 20 6c 29 0a 09 20 20 20 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 63 6c 2d 6d 61 ).l)......i.(+.1.i))).....(cl-ma
f720 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d pcan.(lambda.(x).(malyon-encode-
f740 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 6c 20 78 29 29 20 6c 69 73 74 29 29 29 0a 0a single-character.l.x)).list)))..
f760 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67 74 68 20 28 61 64 64 72 65 (defun.malyon-text-length.(addre
f780 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 ss)..."Return.the.length.of.the.
f7a0 69 6e 70 75 74 20 74 65 78 74 2e 22 0a 20 20 28 69 66 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 input.text."...(if.(>=.malyon-st
f7c0 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 ory-version.5).......(malyon-rea
f7e0 64 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6c 65 74 20 28 d-byte.(+.1.address)).....(let.(
f800 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 (i.0)).......(while.(not.(zerop.
f820 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 69 20 31 20 61 64 64 72 65 73 73 (malyon-read-byte.(+.i.1.address
f840 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a 20 )))).........(setq.i.(+.i.1)))..
f860 20 20 20 20 20 69 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f .....i)))..(defun.malyon-text-to
f880 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 43 6f 6e -character-list.(address)..."Con
f8a0 76 65 72 74 20 74 68 65 20 69 6e 70 75 74 20 74 65 78 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 vert.the.input.text.into.a.list.
f8c0 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 20 20 20 28 6d of.characters."...(let.((i....(m
f8e0 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67 74 68 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 alyon-text-length.address)).....
f900 20 20 20 20 28 74 65 78 74 20 27 28 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30 20 ....(text.'())).....(while.(<.0.
f920 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 63 6f 6e 73 0a 20 20 20 20 20 20 i).......(setq.text.(cons.......
f940 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d ............(cons.(if.(<.malyon-
f960 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 69 20 28 2b 20 31 20 69 29 29 0a 20 20 20 20 story-version.5).i.(+.1.i)).....
f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 ....................(malyon-read
f9a0 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -byte..........................(
f9c0 2b 20 69 20 61 64 64 72 65 73 73 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d +.i.address.(if.(<.malyon-story-
f9e0 76 65 72 73 69 6f 6e 20 35 29 20 30 20 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 version.5).0.1))))..............
fa00 20 20 20 20 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 20 20 20 28 2d 20 69 .....text).............i....(-.i
fa20 20 31 29 29 29 0a 20 20 20 20 74 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d .1))).....text))..(defun.malyon-
fa40 74 65 78 74 2d 74 6f 2d 77 6f 72 64 73 20 28 61 64 64 72 65 73 73 20 64 69 63 74 69 6f 6e 61 72 text-to-words.(address.dictionar
fa60 79 29 0a 20 20 22 54 75 72 6e 20 7a 74 65 78 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 y)..."Turn.ztext.into.a.list.of.
fa80 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 73 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 dictionary.words."...(malyon-cha
faa0 72 61 63 74 65 72 73 2d 74 6f 2d 77 6f 72 64 73 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f racters-to-words....(malyon-enco
fac0 64 65 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 69 66 20 64 69 63 74 69 6f 6e 61 72 79 de-character-list.(if.dictionary
fae0 20 64 69 63 74 69 6f 6e 61 72 79 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 0a 20 .dictionary.malyon-dictionary)..
fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fb20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 61 (malyon-text-to-character-list.a
fb40 64 64 72 65 73 73 29 29 29 29 0a 0a 3b 3b 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74 ddress))))..;;.window.management
fb60 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 67 ..(defvar.malyon-status-buffer-g
fb80 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 73 69 67 6e rew-this-turn.nil..."A.flag.sign
fba0 61 6c 6c 69 6e 67 20 69 66 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 67 72 65 77 alling.if.the.status.buffer.grew
fbc0 20 74 68 69 73 20 74 75 72 6e 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 61 64 6a .this.turn.")..(defun.malyon-adj
fbe0 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 20 28 29 0a 20 20 22 41 64 6a 75 73 74 20 74 68 65 20 ust-transcript.()..."Adjust.the.
fc00 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 74 65 78 74 2e position.of.the.transcript.text.
fc20 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d "...(with-current-buffer.malyon-
fc40 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 transcript-buffer.....(setq.maly
fc60 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 on-status-buffer-grew-this-turn.
fc80 6e 69 6c 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 nil).....(goto-char.(point-max))
fca0 0a 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 2d 20 28 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 .....(recenter.(-.(malyon-window
fcc0 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 20 32 29 29 29 29 0a 0a 28 64 65 66 75 6e -displayed-height).2))))..(defun
fce0 20 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 73 .malyon-prepare-status-buffer.(s
fd00 74 61 74 75 73 29 0a 20 20 22 46 69 6c 6c 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 tatus)..."Fill.the.status.buffer
fd20 20 77 69 74 68 20 65 6d 70 74 79 20 6c 69 6e 65 73 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 .with.empty.lines."...(with-curr
fd40 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a ent-buffer.malyon-status-buffer.
fd60 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 73 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 ....(let.((lines.(count-lines.(p
fd80 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 oint-min).(point-max))).........
fda0 20 20 28 6e 65 77 20 20 20 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 ..(new...status)).......(if.(zer
fdc0 6f 70 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 op.lines)...........(newline.1))
fde0 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 .......(goto-char.(point-max))..
fe00 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 75 73 20 28 2d 20 73 74 61 74 75 73 20 6c 69 6e 65 .....(setq.status.(-.status.line
fe20 73 20 2d 31 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 73 74 61 74 75 73 20 30 29 s.-1)).......(while.(>.status.0)
fe40 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2b .........(insert.(make-string.(+
fe60 20 33 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20 20 .3.malyon-max-column).?.))......
fe80 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 ...(newline.1).........(setq.sta
fea0 74 75 73 20 28 2d 20 73 74 61 74 75 73 20 31 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 tus.(-.status.1))).......(goto-c
fec0 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d har.(point-min)).......(forward-
fee0 6c 69 6e 65 20 28 2b 20 31 20 6e 65 77 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 line.(+.1.new)).......(kill-regi
ff00 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 69 on.(point).(point-max)).......(i
ff20 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2b 20 33 20 6d 61 6c 79 6f 6e 2d 6d nsert.(make-string.(+.3.malyon-m
ff40 61 78 2d 63 6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 ax-column).?.)).......(newline.1
ff60 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 ))))..(defun.malyon-restore-wind
ff80 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 74 ow-configuration.()..."Restore.t
ffa0 68 65 20 73 61 76 65 64 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a he.saved.window.configuration.".
ffc0 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 ..(let.((buffer.(window-buffer.(
ffe0 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 29 29 29 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 selected-window)))).....(if.maly
10000 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 on-window-configuration.........
10020 28 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 61 6c 79 6f 6e (set-window-configuration.malyon
10040 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 28 63 6f 6e -window-configuration)).....(con
10060 64 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 62 75 66 66 d.((eq.malyon-status-buffer.buff
10080 65 72 29 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 20 20 er).....(other-window.1)).......
100a0 20 20 20 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 ....((eq.malyon-transcript-buffe
100c0 72 20 62 75 66 66 65 72 29 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 r.buffer).(goto-char.(point-max)
100e0 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 2d )))))..(defun.malyon-set-window-
10100 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 73 74 61 74 75 73 29 0a 20 20 22 53 65 74 20 75 70 configuration.(status)..."Set.up
10120 20 74 68 65 20 6e 65 77 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a .the.new.window.configuration.".
10140 20 20 28 63 6f 6e 64 20 28 28 3c 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 ..(cond.((<.status.malyon-status
10160 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 -buffer-lines)..........(setq.ma
10180 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 lyon-status-buffer-delayed-split
101a0 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 .status)..........(if.malyon-sta
101c0 74 75 73 2d 62 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 0a 20 20 20 20 20 20 tus-buffer-grew-this-turn.......
101e0 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 .......(malyon-more-status-buffe
10200 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d 73 r))).........((>.status.malyon-s
10220 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 tatus-buffer-lines)..........(ma
10240 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75 73 lyon-split-buffer-windows.status
10260 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 )..........(setq.malyon-status-b
10280 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 74 29 29 0a 20 20 20 20 20 20 20 uffer-grew-this-turn.t))........
102a0 20 28 28 6e 6f 74 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 .((not.malyon-window-configurati
102c0 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 on)..........(malyon-split-buffe
102e0 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c r-windows.status))))..(defun.mal
10300 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 28 73 74 61 74 75 73 yon-split-buffer-windows.(status
10320 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 62 75 66 66 65 72 20 77 69 6e 64 6f 77 73 2e 0a 54 )..."Split.the.buffer.windows..T
10340 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 67 65 74 73 20 27 73 74 61 74 75 73 27 20 6c he.status.buffer.gets.'status'.l
10360 69 6e 65 73 20 77 68 69 6c 65 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 ines.while.the.transcript.buffer
10380 0a 67 65 74 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 6c 69 6e 65 73 2e 22 0a 20 20 28 64 .gets.the.remaining.lines."...(d
103a0 65 6c 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d elete-other-windows.(get-buffer-
103c0 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 28 73 65 74 window.(current-buffer)))...(set
103e0 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 73 74 61 q.malyon-status-buffer-lines.sta
10400 74 75 73 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 tus)...(setq.malyon-status-buffe
10420 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e 69 6c 29 0a 20 20 28 69 66 20 28 7a 65 72 6f r-delayed-split.nil)...(if.(zero
10440 70 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 28 73 70 6c 69 74 2d 77 p.status).......'().....(split-w
10460 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e indow.(get-buffer-window.(curren
10480 74 2d 62 75 66 66 65 72 29 29 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 t-buffer)).status).....(switch-t
104a0 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 0a 20 o-buffer.malyon-status-buffer)..
104c0 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 ...(malyon-prepare-status-buffer
104e0 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d .status).....(malyon-opcode-set-
10500 63 75 72 73 6f 72 20 31 20 31 29 0a 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 cursor.1.1).....(other-window.1)
10520 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 )...(switch-to-buffer.malyon-tra
10540 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 77 nscript-buffer)...(setq.malyon-w
10560 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 63 75 72 72 65 6e 74 2d 77 69 6e indow-configuration.(current-win
10580 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 29 29 0a 0a 3b 3b 20 67 65 74 74 69 6e 67 dow-configuration)))..;;.getting
105a0 20 61 6e 64 20 73 65 74 74 69 6e 67 20 74 68 65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 0a 0a .and.setting.the.machine.state..
105c0 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 (defun.malyon-current-game-state
105e0 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 .()..."Return.the.current.state.
10600 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 76 65 63 74 6f 72 20 6d of.the.interpreter."...(vector.m
10620 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 alyon-instruction-pointer.......
10640 20 20 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 ....malyon-stack-pointer........
10660 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 ...malyon-frame-pointer.........
10680 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 0a 20 ..(copy-sequence.malyon-stack)..
106a0 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 73 .........(copy-sequence.malyon-s
106c0 74 6f 72 79 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 tory-file)...........malyon-game
106e0 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d -state-quetzal))..(defun.malyon-
10700 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a 20 20 22 49 6e 73 74 61 6c set-game-state.(state)..."Instal
10720 6c 73 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 74 65 20 61 73 20 74 68 65 20 6e 65 77 20 73 74 ls.the.given.state.as.the.new.st
10740 61 74 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 73 65 74 71 ate.of.the.interpreter."...(setq
10760 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 20 20 20 20 .malyon-instruction-pointer.....
10780 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e ..(aref.state.0))...(setq.malyon
107a0 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 -stack-pointer.............(aref
107c0 20 73 74 61 74 65 20 31 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d .state.1))...(setq.malyon-frame-
107e0 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 pointer.............(aref.state.
10800 32 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 63 6f 70 79 2d 73 2))...(setq.malyon-stack.(copy-s
10820 65 71 75 65 6e 63 65 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 33 29 29 29 0a 20 20 equence......(aref.state.3)))...
10840 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 63 6f 70 79 2d 73 65 (setq.malyon-story-file.(copy-se
10860 71 75 65 6e 63 65 20 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 29 0a 20 20 28 73 65 74 71 20 quence.(aref.state.4)))...(setq.
10880 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 20 20 20 20 20 20 malyon-game-state-quetzal.......
108a0 20 28 61 72 65 66 20 73 74 61 74 65 20 35 29 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 .(aref.state.5))...(with-current
108c0 2d 62 75 66 66 65 72 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 -buffer..malyon-status-buffer...
108e0 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 ..(malyon-erase-buffer.malyon-st
10900 61 74 75 73 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 atus-buffer).....(malyon-split-b
10920 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 30 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f uffer-windows.0).....(setq.malyo
10940 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 n-last-cursor-position-after-inp
10960 75 74 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 6d ut...........(malyon-point-max.m
10980 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b 20 alyon-transcript-buffer))))..;;.
109a0 66 69 6c 65 20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e file.utilities..(defsubst.malyon
109c0 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 62 79 74 65 29 0a 20 20 22 57 72 -write-byte-to-file.(byte)..."Wr
109e0 69 74 65 20 61 20 62 79 74 65 20 74 6f 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 ite.a.byte.to.a.file."...(insert
10a00 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 62 79 74 65 29 20 31 29 29 0a 0a 28 64 65 -char.(logand.255.byte).1))..(de
10a20 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 fsubst.malyon-write-word-to-file
10a40 20 28 77 6f 72 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 77 6f 72 64 20 74 6f 20 74 68 65 20 6c .(word)..."Write.a.word.to.the.l
10a60 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 ast.opened.file."...(insert-char
10a80 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 77 6f 72 64 20 2d 38 29 29 20 31 29 0a 20 .(logand.255.(lsh.word.-8)).1)..
10aa0 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 77 6f 72 64 29 20 .(insert-char.(logand.255.word).
10ac0 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 1))..(defsubst.malyon-write-dwor
10ae0 64 2d 74 6f 2d 66 69 6c 65 20 28 64 77 6f 72 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 64 77 6f d-to-file.(dword)..."Write.a.dwo
10b00 72 64 20 74 6f 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 rd.to.the.last.opened.file."...(
10b20 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f insert-char.(logand.255.(lsh.dwo
10b40 72 64 20 2d 32 34 29 29 20 31 29 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 rd.-24)).1)...(insert-char.(loga
10b60 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72 64 20 2d 31 36 29 29 20 31 29 0a 20 20 28 69 6e nd.255.(lsh.dword.-16)).1)...(in
10b80 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72 64 sert-char.(logand.255.(lsh.dword
10ba0 20 2d 38 29 29 20 31 29 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 .-8)).1)...(insert-char.(logand.
10bc0 32 35 35 20 64 77 6f 72 64 29 20 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 255.dword).1))..(defsubst.malyon
10be0 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 28 69 64 29 0a 20 20 22 -write-chunk-id-to-file.(id)..."
10c00 57 72 69 74 65 20 61 20 71 75 65 74 7a 61 6c 20 63 68 75 6e 6b 20 69 64 20 74 6f 20 74 68 65 20 Write.a.quetzal.chunk.id.to.the.
10c20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 20 69 64 29 last.opened.file."...(insert.id)
10c40 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 )..(defsubst.malyon-read-byte-fr
10c60 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 om-file.()..."Read.the.next.byte
10c80 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20 .from.a.file."...(if.(=.(point).
10ca0 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 66 6f 72 77 61 72 (point-max)).......0.....(forwar
10cc0 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e d-char.1).....(malyon-char-to-in
10ce0 74 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 t.(char-before))))..(defsubst.ma
10d00 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 lyon-read-word-from-file.()..."R
10d20 65 61 64 20 74 68 65 20 6e 65 78 74 20 77 6f 72 64 20 66 72 6f 6d 20 74 68 65 20 6c 61 73 74 20 ead.the.next.word.from.the.last.
10d40 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 opened.file."...(logior.(lsh.(ma
10d60 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 20 28 6d 61 lyon-read-byte-from-file).8).(ma
10d80 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 0a 28 64 65 lyon-read-byte-from-file)))..(de
10da0 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 fsubst.malyon-read-dword-from-fi
10dc0 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 64 77 6f 72 64 20 66 72 6f le.()..."Read.the.next.dword.fro
10de0 6d 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 6c 6f 67 69 m.the.last.opened.file."...(logi
10e00 6f 72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 or.(lsh.(malyon-read-byte-from-f
10e20 69 6c 65 29 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d ile).24)...........(lsh.(malyon-
10e40 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 31 36 29 0a 20 20 20 20 20 20 20 read-byte-from-file).16)........
10e60 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 ...(lsh.(malyon-read-byte-from-f
10e80 69 6c 65 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 ile).8)...........(malyon-read-b
10ea0 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 yte-from-file)))..(defsubst.maly
10ec0 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 on-read-chunk-id-from-file.()...
10ee0 22 52 65 61 64 20 61 20 71 75 65 74 7a 61 6c 20 63 68 75 6e 6b 20 69 64 20 66 72 6f 6d 20 74 68 "Read.a.quetzal.chunk.id.from.th
10f00 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 73 74 72 69 6e 67 20 28 e.last.opened.file."...(string.(
10f20 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d malyon-int-to-char.(malyon-read-
10f40 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 byte-from-file))...........(maly
10f60 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 on-int-to-char.(malyon-read-byte
10f80 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 -from-file))...........(malyon-i
10fa0 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f nt-to-char.(malyon-read-byte-fro
10fc0 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 m-file))...........(malyon-int-t
10fe0 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 o-char.(malyon-read-byte-from-fi
11000 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d 6e le))))..(defun.malyon-get-file-n
11020 61 6d 65 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 72 69 65 76 65 73 20 74 68 65 20 66 ame.(address)..."Retrieves.the.f
11040 69 6c 65 20 6e 61 6d 65 20 73 74 6f 72 65 64 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 ile.name.stored.at.address."...(
11060 6c 65 74 20 28 28 6e 61 6d 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d let.((name.(make-string.(malyon-
11080 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 read-byte.address).?.)).........
110a0 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 28 6c 65 6e 67 74 (i....0)).....(while.(<.i.(lengt
110c0 68 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61 6c h.name)).......(aset.name.i.(mal
110e0 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72 65 73 73 20 31 20 69 29 29 29 0a yon-read-byte.(+.address.1.i))).
11100 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 6e 61 6d 65 ......(setq.i.(+.1.i))).....name
11120 29 29 0a 0a 3b 3b 20 73 61 76 69 6e 67 20 64 61 74 61 20 74 6f 20 64 69 73 6b 0a 0a 28 64 65 66 ))..;;.saving.data.to.disk..(def
11140 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 66 69 6c 65 20 28 66 69 6c 65 20 26 6f 70 74 69 6f un.malyon-save-file.(file.&optio
11160 6e 61 6c 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63 75 nal.table.length)..."Save.the.cu
11180 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 73 65 63 rrent.game.state.or.a.memory.sec
111a0 74 69 6f 6e 20 74 6f 20 64 69 73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 46 tion.to.disk."...(interactive."F
111c0 53 61 76 65 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 Save.file:.")...(condition-case.
111e0 6e 69 6c 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 nil.......(let.((coding-system-f
11200 6f 72 2d 77 72 69 74 65 20 27 62 69 6e 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 or-write.'binary)).........(with
11220 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f -temp-file.file...........(malyo
11240 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 n-disable-multibyte)...........(
11260 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 malyon-erase-buffer)...........(
11280 63 6f 6e 64 20 28 74 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20 74 cond.(table.(malyon-save-table.t
112a0 61 62 6c 65 20 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d able.length)).................(m
112c0 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 20 alyon-game-state-quetzal........
112e0 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 ..........(malyon-save-quetzal-s
11300 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 tate.(malyon-current-game-state)
11320 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 )).................(t...........
11340 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 .......(malyon-save-game-state.(
11360 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 29 29 0a 20 20 malyon-current-game-state))))...
11380 20 20 20 20 20 20 20 20 31 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 0a 0a 28 ........1)).......(error.0)))..(
113a0 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20 28 74 61 62 6c 65 20 6c defun.malyon-save-table.(table.l
113c0 65 6e 67 74 68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f 6e ength)..."Save.the.given.section
113e0 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 .of.memory.to.the.file."...(let.
11400 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28 77 ((i.0).........(j.table)).....(w
11420 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d hile.(<.i.length).......(malyon-
11440 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d write-byte-to-file.(malyon-read-
11460 62 79 74 65 20 6a 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 byte.j)).......(setq.i.(+.1.i)..
11480 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 29 29 29 29 0a 0a 28 64 65 66 75 6e ...........j.(+.1.j)))))..(defun
114a0 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a .malyon-save-game-state.(state).
114c0 20 20 22 53 61 76 65 73 20 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b 2e .."Saves.the.game.state.to.disk.
114e0 22 0a 20 20 28 6c 65 74 20 28 28 69 70 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 29 "...(let.((ip....(aref.state.0))
11500 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 29 0a .........(sp....(aref.state.1)).
11520 20 20 20 20 20 20 20 20 28 66 70 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29 29 0a 20 ........(fp....(aref.state.2))..
11540 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28 61 72 65 66 20 73 74 61 74 65 20 33 29 29 0a 20 20 .......(stack.(aref.state.3))...
11560 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 20 20 ......(mem...(aref.state.4))....
11580 20 20 20 20 20 28 64 79 6e 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 34 .....(dyn...(malyon-read-word.14
115a0 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f )).........(i.....0)).....(malyo
115c0 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6c 65 6e 67 74 68 20 6d 61 6c n-write-word-to-file.(length.mal
115e0 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 yon-story-file-name)).....(while
11600 20 28 3c 20 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d .(<.i.(length.malyon-story-file-
11620 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d name)).......(malyon-write-byte-
11640 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d to-file.(aref.malyon-story-file-
11660 6e 61 6d 65 20 69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 name.i)).......(setq.i.(+.1.i)))
11680 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 .....(malyon-write-dword-to-file
116a0 20 69 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 .ip).....(malyon-write-word-to-f
116c0 69 6c 65 20 20 73 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d ile..sp).....(malyon-write-word-
116e0 74 6f 2d 66 69 6c 65 20 20 66 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 to-file..fp).....(malyon-write-w
11700 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 20 64 79 6e 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 ord-to-file..dyn).....(setq.i.0)
11720 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 6d 61 6c .....(while.(<=.i.sp).......(mal
11740 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 73 74 yon-write-dword-to-file.(aref.st
11760 61 63 6b 20 69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a ack.i)).......(setq.i.(+.1.i))).
11780 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 64 ....(setq.i.0).....(while.(<.i.d
117a0 79 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d yn).......(malyon-write-byte-to-
117c0 66 69 6c 65 20 28 61 72 65 66 20 6d 65 6d 20 69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 file.(aref.mem.i)).......(setq.i
117e0 20 28 2b 20 31 20 69 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 .(+.1.i)))))..(defun.malyon-save
11800 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 -quetzal-state.(state)..."Saves.
11820 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b 20 69 6e 20 71 75 65 74 7a 61 the.game.state.to.disk.in.quetza
11840 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d l.format."...(goto-char.(point-m
11860 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 in))...(malyon-save-quetzal-ifhd
11880 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 63 .state)...(malyon-save-quetzal-c
118a0 6d 65 6d 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 mem.state)...(malyon-save-quetza
118c0 6c 2d 73 74 6b 73 20 73 74 61 74 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e l-stks.state)...(goto-char.(poin
118e0 74 2d 6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 t-min))...(malyon-write-chunk-id
11900 2d 74 6f 2d 66 69 6c 65 20 22 49 46 5a 53 22 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 -to-file."IFZS")...(goto-char.(p
11920 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 oint-min))...(malyon-write-dword
11940 2d 74 6f 2d 66 69 6c 65 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d -to-file.(-.(point-max).(point-m
11960 69 6e 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a in)))...(goto-char.(point-min)).
11980 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 ..(malyon-write-chunk-id-to-file
119a0 20 22 46 4f 52 4d 22 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 ."FORM"))..(defun.malyon-save-qu
119c0 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 etzal-ifhd.(state)..."Saves.the.
119e0 49 46 68 64 20 63 68 75 6e 6b 20 6f 66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 IFhd.chunk.of.the.quetzal.format
11a00 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 ."...(malyon-write-chunk-id-to-f
11a20 69 6c 65 20 22 49 46 68 64 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 ile."IFhd")...(malyon-write-dwor
11a40 64 2d 74 6f 2d 66 69 6c 65 20 31 33 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f d-to-file.13)...(malyon-write-wo
11a60 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 29 29 rd-to-file.(malyon-read-word.2))
11a80 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d ...(malyon-write-word-to-file.(m
11aa0 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 alyon-read-word.18))...(malyon-w
11ac0 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 rite-word-to-file.(malyon-read-w
11ae0 6f 72 64 20 32 30 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f ord.20))...(malyon-write-word-to
11b00 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20 28 -file.(malyon-read-word.22))...(
11b20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f malyon-write-word-to-file.(malyo
11b40 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 n-read-word.28))...(malyon-write
11b60 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20 30 -byte-to-file.(lsh.(aref.state.0
11b80 29 20 2d 31 36 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d ).-16))...(malyon-write-byte-to-
11ba0 66 69 6c 65 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 20 2d 38 29 29 0a 20 20 file.(lsh.(aref.state.0).-8))...
11bc0 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 (malyon-write-byte-to-file.(aref
11be0 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d .state.0))...(malyon-write-byte-
11c00 74 6f 2d 66 69 6c 65 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d to-file.0))..(defun.malyon-save-
11c20 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 quetzal-cmem.(state)..."Saves.th
11c40 65 20 43 4d 65 6d 20 63 68 75 6e 6b 20 6f 66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d e.CMem.chunk.of.the.quetzal.form
11c60 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 2d 6d at."...(let.((beginning.(point-m
11c80 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 6f 72 69 67 69 6e 61 6c 20 20 28 61 72 65 66 20 6d 61 ax)).........(original..(aref.ma
11ca0 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29 0a 20 20 20 20 lyon-game-state-restart.4)).....
11cc0 20 20 20 20 28 63 75 72 72 65 6e 74 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 ....(current...(aref.state.4))..
11ce0 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 .......(size......(malyon-read-w
11d00 6f 72 64 20 31 34 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 20 20 20 20 20 20 30 29 0a 20 ord.14)).........(byte......0)..
11d20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 20 .......(count.....0).........(i.
11d40 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e ........0)).....(goto-char.(poin
11d60 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 t-max)).....(while.(<.i.size)...
11d80 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20 28 6c 6f 67 78 6f 72 20 28 61 72 65 66 20 63 75 72 ....(setq.byte.(logxor.(aref.cur
11da0 72 65 6e 74 20 69 29 20 28 61 72 65 66 20 6f 72 69 67 69 6e 61 6c 20 69 29 29 29 0a 20 20 20 20 rent.i).(aref.original.i))).....
11dc0 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 ..(if.(zerop.byte)...........(se
11de0 74 71 20 63 6f 75 6e 74 20 28 2b 20 31 20 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 77 tq.count.(+.1.count)).........(w
11e00 68 69 6c 65 20 28 3e 20 63 6f 75 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 hile.(>.count.0)...........(maly
11e20 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20 20 on-write-byte-to-file.0)........
11e40 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e 74 20 31 29 29 0a 20 20 20 20 ...(setq.count.(-.count.1)).....
11e60 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 ......(malyon-write-byte-to-file
11e80 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 .(min.255.count))...........(set
11ea0 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e 74 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 29 q.count.(-.count.(min.255.count)
11ec0 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 ))).........(malyon-write-byte-t
11ee0 6f 2d 66 69 6c 65 20 62 79 74 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 o-file.byte)).......(setq.i.(+.1
11f00 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28 70 6f 69 6e 74 2d 6d .i))).....(setq.size.(-.(point-m
11f20 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 ax).beginning)).....(if.(zerop.(
11f40 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28 29 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 mod.size.2)).'().(malyon-write-b
11f60 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 yte-to-file.0)).....(goto-char.b
11f80 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e eginning).....(malyon-write-chun
11fa0 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 43 4d 65 6d 22 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e k-id-to-file."CMem").....(malyon
11fc0 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65 29 29 29 0a 0a 28 64 -write-dword-to-file.size)))..(d
11fe0 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28 73 efun.malyon-save-quetzal-stks.(s
12000 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 53 74 6b 73 20 63 68 75 6e 6b 20 6f 66 tate)..."Saves.the.Stks.chunk.of
12020 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 .the.quetzal.format."...(let.((b
12040 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 73 eginning.(point-max)).........(s
12060 69 7a 65 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 ize......0)).....(goto-char.(poi
12080 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 nt-max)).....(malyon-save-quetza
120a0 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 2d 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29 20 l-stack-frame.(-.(aref.state.2).
120c0 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4)..............................
120e0 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 ........(aref.state.1)..........
12100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 ............................(are
12120 66 20 73 74 61 74 65 20 33 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28 70 f.state.3)).....(setq.size.(-.(p
12140 6f 69 6e 74 2d 6d 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28 7a oint-max).beginning)).....(if.(z
12160 65 72 6f 70 20 28 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28 29 20 28 6d 61 6c 79 6f 6e 2d 77 erop.(mod.size.2)).'().(malyon-w
12180 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d rite-byte-to-file.0)).....(goto-
121a0 63 68 61 72 20 62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 char.beginning).....(malyon-writ
121c0 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 53 74 6b 73 22 29 0a 20 20 20 20 28 e-chunk-id-to-file."Stks").....(
121e0 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65 29 malyon-write-dword-to-file.size)
12200 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 ))..(defun.malyon-save-quetzal-s
12220 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20 22 53 61 76 65 tack-frame.(fp.sp.stack)..."Save
12240 73 20 74 68 65 20 73 74 61 63 6b 20 66 72 61 6d 65 73 20 66 6f 72 20 74 68 65 20 53 74 6b 73 20 s.the.stack.frames.for.the.Stks.
12260 63 68 75 6e 6b 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 72 61 6d 65 20 20 20 20 20 20 20 28 6d chunk."...(let*.((frame.......(m
12280 61 6c 79 6f 6e 2d 67 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 66 70 20 73 70 20 73 74 61 63 alyon-get-stack-frame.fp.sp.stac
122a0 6b 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69 64 20 20 20 20 28 61 72 65 66 20 k))..........(frame-id....(aref.
122c0 66 72 61 6d 65 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 66 70 20 frame.0))..........(previous-fp.
122e0 28 61 72 65 66 20 66 72 61 6d 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69 6f (aref.frame.1))..........(previo
12300 75 73 2d 73 70 20 28 61 72 65 66 20 66 72 61 6d 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 us-sp.(aref.frame.2))..........(
12320 72 65 74 75 72 6e 2d 61 64 64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 33 29 29 0a 20 20 20 20 return-addr.(aref.frame.3)).....
12340 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 34 29 .....(result-addr.(aref.frame.4)
12360 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 73 20 20 28 61 72 65 66 20 66 72 )..........(local-vars..(aref.fr
12380 61 6d 65 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 28 61 ame.5))..........(num-args....(a
123a0 72 65 66 20 66 72 61 6d 65 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74 61 ref.frame.6))..........(eval-sta
123c0 63 6b 20 20 28 61 72 65 66 20 66 72 61 6d 65 20 37 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 ck..(aref.frame.7))).....(if.(>.
123e0 66 72 61 6d 65 2d 69 64 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 frame-id.0).........(malyon-save
12400 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 70 72 65 76 69 6f 75 73 2d 66 70 -quetzal-stack-frame.previous-fp
12420 20 70 72 65 76 69 6f 75 73 2d 73 70 20 73 74 61 63 6b 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e .previous-sp.stack)).....(malyon
12440 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e 2d -write-byte-to-file.(lsh.return-
12460 61 64 64 72 20 2d 31 36 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 addr.-16)).....(malyon-write-byt
12480 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e 2d 61 64 64 72 20 2d 38 29 29 0a e-to-file.(lsh.return-addr.-8)).
124a0 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 72 ....(malyon-write-byte-to-file.r
124c0 65 74 75 72 6e 2d 61 64 64 72 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 66 72 61 6d 65 eturn-addr).....(if.(zerop.frame
124e0 2d 69 64 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d -id).........(malyon-write-byte-
12500 74 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 to-file.0).......(malyon-write-b
12520 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 6f 67 69 6f 72 20 28 69 66 20 72 65 73 75 6c 74 2d 61 yte-to-file.(logior.(if.result-a
12540 64 64 72 20 30 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ddr.0.16).......................
12560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c ...................(length.local
12580 2d 76 61 72 73 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 -vars)))).....(malyon-write-byte
125a0 2d 74 6f 2d 66 69 6c 65 20 28 69 66 20 72 65 73 75 6c 74 2d 61 64 64 72 20 72 65 73 75 6c 74 2d -to-file.(if.result-addr.result-
125c0 61 64 64 72 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d addr.0)).....(malyon-write-byte-
125e0 74 6f 2d 66 69 6c 65 20 28 2d 20 28 6c 73 68 20 31 20 6e 75 6d 2d 61 72 67 73 29 20 31 29 29 0a to-file.(-.(lsh.1.num-args).1)).
12600 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 ....(malyon-write-word-to-file.(
12620 6c 65 6e 67 74 68 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 length.eval-stack)).....(while.(
12640 6e 6f 74 20 28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 6d 61 not.(null.local-vars)).......(ma
12660 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 6c 6f 63 lyon-write-word-to-file.(car.loc
12680 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 al-vars)).......(setq.local-vars
126a0 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 .(cdr.local-vars))).....(while.(
126c0 6e 6f 74 20 28 6e 75 6c 6c 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 6d 61 not.(null.eval-stack)).......(ma
126e0 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 65 76 61 lyon-write-word-to-file.(car.eva
12700 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b l-stack)).......(setq.eval-stack
12720 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 29 29 29 0a 0a 3b 3b 20 72 65 73 74 6f 72 .(cdr.eval-stack)))))..;;.restor
12740 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 64 69 73 6b 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 ing.data.from.disk..(defvar.maly
12760 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 6e 69 6c 0a 20 20 22 41 6e 20 on-restore-data-error.nil..."An.
12780 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 72 65 73 74 6f 72 69 6e 67 20 64 61 74 61 20 error.message.if.restoring.data.
127a0 66 72 6f 6d 20 61 20 66 69 6c 65 20 66 61 69 6c 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d from.a.file.failed.")..(defvar.m
127c0 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 20 6e 69 6c 0a alyon-restore-quetzal-stack.nil.
127e0 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63 6b 20 66 6f 72 20 72 65 73 74 6f 72 69 .."A.temporary.stack.for.restori
12800 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 ng.quetzal.game.states.")..(defv
12820 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d ar.malyon-restore-quetzal-stack-
12840 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63 6b pointer.nil..."A.temporary.stack
12860 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 72 65 73 74 6f 72 69 6e 67 20 71 75 65 74 7a 61 6c 20 67 .pointer.for.restoring.quetzal.g
12880 61 6d 65 20 73 74 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 ame.states.")..(defvar.malyon-re
128a0 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a store-quetzal-frame-pointer.nil.
128c0 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 66 6f 72 .."A.temporary.frame-pointer.for
128e0 20 72 65 73 74 6f 72 69 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e 22 .restoring.quetzal.game.states."
12900 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 20 28 66 )..(defun.malyon-restore-file.(f
12920 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 52 ile.&optional.table.length)..."R
12940 65 73 74 6f 72 65 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 estore.a.game.state.or.a.memory.
12960 73 65 63 74 69 6f 6e 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 section.from.disk."...(interacti
12980 76 65 20 22 66 4c 6f 61 64 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 61 ve."fLoad.file:.")...(if.(not.(a
129a0 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 20 28 66 69 6c 65 2d 72 65 nd.(file-exists-p.file).(file-re
129c0 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 63 6f adable-p.file))).......0.....(co
129e0 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 ndition-case.nil.........(save-e
12a00 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d xcursion...........(setq.malyon-
12a20 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 restore-data-error.nil).........
12a40 20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28 63 72 65 61 74 65 2d 66 69 6c 65 2d 62 75 66 66 65 ..(set-buffer.(create-file-buffe
12a60 72 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d r.file))...........(malyon-load-
12a80 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 file.file)...........(goto-char.
12aa0 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 74 61 62 6c 65 (point-min))...........(if.table
12ac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 74 ...............(malyon-restore-t
12ae0 61 62 6c 65 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 able.table.length).............(
12b00 6c 65 74 2a 20 28 28 66 69 72 73 74 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b let*.((first..(malyon-read-chunk
12b20 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -id-from-file)).................
12b40 20 20 20 28 73 65 63 6f 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 ...(second.(malyon-read-dword-fr
12b60 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 om-file))....................(th
12b80 69 72 64 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d ird..(malyon-read-chunk-id-from-
12ba0 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 file)))...............(if.(and.(
12bc0 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20 66 69 72 73 74 29 20 28 73 74 72 69 6e 67 3d 20 22 string=."FORM".first).(string=."
12be0 49 46 5a 53 22 20 74 68 69 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 IFZS".third))...................
12c00 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 2b (malyon-restore-quetzal-state.(+
12c20 20 38 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 .8.second)).................(got
12c40 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-char.(point-min)).............
12c60 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 ....(malyon-restore-game-state))
12c80 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a 20 ))...........(kill-buffer.nil)..
12ca0 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 .........(if.(null.malyon-restor
12cc0 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 0a 20 20 e-data-error)...............2...
12ce0 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 ..........(message.malyon-restor
12d00 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 e-data-error).............0))...
12d20 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d ....(error.0))))..(defun.malyon-
12d40 72 65 73 74 6f 72 65 2d 74 61 62 6c 65 20 28 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 restore-table.(table.length)..."
12d60 52 65 73 74 6f 72 65 20 74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d Restore.the.given.section.of.mem
12d80 6f 72 79 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a ory.from.a.file."...(let.((i.0).
12da0 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c ........(j.table)).....(while.(<
12dc0 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 .i.length).......(malyon-store-b
12de0 79 74 65 20 6a 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c yte.j.(malyon-read-byte-from-fil
12e00 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 e)).......(setq.i.(+.1.i).......
12e20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 ......j.(+.1.j)))))..(defun.maly
12e40 6f 6e 2d 72 65 73 74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 29 0a 20 20 22 52 65 73 74 on-restore-game-state.()..."Rest
12e60 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73 6b ore.a.saved.game.state.from.disk
12e80 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 6e 61 ."...(let.((len...0).........(na
12ea0 6d 65 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 74 6f 72 79 20 30 29 0a 20 20 20 20 20 20 20 me..0).........(story.0)........
12ec0 20 28 69 70 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20 20 30 29 0a 20 20 20 .(ip....0).........(sp....0)....
12ee0 20 20 20 20 20 28 66 70 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 64 79 6e 20 20 20 30 29 .....(fp....0).........(dyn...0)
12f00 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d .........(stack.(copy-sequence.m
12f20 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 63 6f alyon-stack)).........(mem...(co
12f40 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a py-sequence.malyon-story-file)).
12f60 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 65 6e ........(i.....0)).....(setq.len
12f80 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 .(malyon-read-word-from-file))..
12fa0 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6c 65 6e 20 3f ...(setq.name.(make-string.len.?
12fc0 20 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20 28 .)).....(while.(<.i.len).......(
12fe0 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 aset.name.i.(malyon-read-byte-fr
13000 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 om-file)).......(setq.i.(+.1.i))
13020 29 0a 20 20 20 20 28 73 65 74 71 20 69 70 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f ).....(setq.ip..(malyon-read-dwo
13040 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 70 20 20 28 6d 61 rd-from-file)).....(setq.sp..(ma
13060 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 lyon-read-word-from-file)).....(
13080 73 65 74 71 20 66 70 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d setq.fp..(malyon-read-word-from-
130a0 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 79 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 file)).....(setq.dyn.(malyon-rea
130c0 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 d-word-from-file)).....(setq.i.0
130e0 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 61 73 ).....(while.(<=.i.sp).......(as
13100 65 74 20 73 74 61 63 6b 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 et.stack.i.(malyon-read-dword-fr
13120 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 om-file)).......(setq.i.(+.1.i))
13140 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 ).....(setq.i.0).....(while.(<.i
13160 20 64 79 6e 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 6d 20 69 20 28 6d 61 6c 79 6f 6e 2d .dyn).......(aset.mem.i.(malyon-
13180 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 read-byte-from-file)).......(set
131a0 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 20 28 66 q.i.(+.1.i))).....(setq.name..(f
131c0 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 20 20 ile-name-nondirectory.name))....
131e0 20 28 73 65 74 71 20 73 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 .(setq.story.(file-name-nondirec
13200 74 6f 72 79 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 tory.malyon-story-file-name))...
13220 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 6e 61 6d 65 20 73 74 6f ..(if.(or.(string-match.name.sto
13240 72 79 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 73 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 ry).(string-match.story.name))..
13260 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 76 .......(malyon-set-game-state.(v
13280 65 63 74 6f 72 20 69 70 20 73 70 20 66 70 20 73 74 61 63 6b 20 6d 65 6d 20 6e 69 6c 29 29 0a 20 ector.ip.sp.fp.stack.mem.nil))..
132a0 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 .....(setq.malyon-restore-data-e
132c0 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 73 61 76 65 20 66 69 6c 65 2e 22 29 29 29 29 0a 0a 28 rror."Invalid.save.file."))))..(
132e0 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 defun.malyon-restore-quetzal-sta
13300 74 65 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 71 75 65 te.(size)..."Restore.a.saved.que
13320 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28 6c tzal.game.state.from.disk."...(l
13340 65 74 20 28 28 63 68 75 6e 6b 2d 69 64 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 68 75 et.((chunk-id..nil).........(chu
13360 6e 6b 2d 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 70 20 20 20 20 20 20 20 20 30 29 0a nk-len.0).........(ip........0).
13380 20 20 20 20 20 20 20 20 28 6d 65 6d 6f 72 79 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 ........(memory....nil).........
133a0 28 73 74 61 63 6b 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 (stack.....nil).........(beginni
133c0 6e 67 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 73 69 7a ng.0)).....(while.(<.(point).siz
133e0 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 69 64 20 20 28 6d 61 6c 79 6f 6e e).......(setq.chunk-id..(malyon
13400 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 -read-chunk-id-from-file))......
13420 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 .(setq.chunk-len.(malyon-read-dw
13440 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 69 ord-from-file)).......(setq.begi
13460 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 nning.(point)).......(cond.((str
13480 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 49 46 68 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 ing=.chunk-id."IFhd")...........
134a0 20 20 20 28 73 65 74 71 20 69 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 ...(setq.ip.(malyon-restore-quet
134c0 7a 61 6c 2d 69 66 68 64 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 zal-ifhd.chunk-len)))...........
134e0 20 20 28 28 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 43 4d 65 6d 22 29 0a 20 20 20 ..((string=.chunk-id."CMem")....
13500 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 65 6d 6f 72 79 20 28 6d 61 6c 79 6f 6e 2d 72 ..........(setq.memory.(malyon-r
13520 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 estore-quetzal-cmem.chunk-len)))
13540 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 .............((string=.chunk-id.
13560 22 55 4d 65 6d 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 65 6d 6f 72 "UMem")..............(setq.memor
13580 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d 20 63 y.(malyon-restore-quetzal-umem.c
135a0 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 hunk-len))).............((string
135c0 3d 20 63 68 75 6e 6b 2d 69 64 20 22 53 74 6b 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 =.chunk-id."Stks")..............
135e0 28 73 65 74 71 20 73 74 61 63 6b 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 (setq.stack.(malyon-restore-quet
13600 7a 61 6c 2d 73 74 6b 73 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 zal-stks.chunk-len)))).......(if
13620 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 63 68 75 6e 6b 2d 6c 65 6e 20 32 29 29 20 27 28 29 20 28 .(zerop.(mod.chunk-len.2)).'().(
13640 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20 28 2b 20 31 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 setq.chunk-len.(+.1.chunk-len)))
13660 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 2b 20 62 65 67 69 6e 6e 69 6e 67 20 63 .......(goto-char.(+.beginning.c
13680 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 69 70 20 6d hunk-len))).....(cond.((and.ip.m
136a0 65 6d 6f 72 79 20 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d emory.stack)............(malyon-
136c0 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 76 65 63 74 6f 72 20 69 70 0a 20 20 20 20 20 20 set-game-state.(vector.ip.......
136e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13700 20 20 20 20 28 61 72 65 66 20 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(aref.stack.0)..............
13720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 .............................(ar
13740 65 66 20 73 74 61 63 6b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ef.stack.1).....................
13760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 63 ......................(aref.stac
13780 6b 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k.2)............................
137a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 ...............memory...........
137c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
137e0 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 6d 61 6c 79 6f 6e 2d 72 65 73 t)))...........((null.malyon-res
13800 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 tore-data-error)............(set
13820 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 22 69 6e 76 q.malyon-restore-data-error."inv
13840 61 6c 69 64 20 71 75 65 74 7a 61 6c 20 66 69 6c 65 2e 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e alid.quetzal.file.")))))..(defun
13860 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 69 .malyon-restore-quetzal-ifhd.(si
13880 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 6e 20 49 46 68 64 20 63 68 75 6e 6b 20 66 72 6f ze)..."Restore.an.IFhd.chunk.fro
138a0 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 70 m.disk..Return.the.instruction.p
138c0 6f 69 6e 74 65 72 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 ointer."...(if.(and.(=.(malyon-r
138e0 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 ead-word-from-file).(malyon-read
13900 2d 77 6f 72 64 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d -word.2))............(=.(malyon-
13920 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 read-word-from-file).(malyon-rea
13940 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f d-word.18))............(=.(malyo
13960 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 n-read-word-from-file).(malyon-r
13980 65 61 64 2d 77 6f 72 64 20 32 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c ead-word.20))............(=.(mal
139a0 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e yon-read-word-from-file).(malyon
139c0 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d -read-word.22))............(=.(m
139e0 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 alyon-read-word-from-file).(maly
13a00 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 29 29 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 on-read-word.28))).......(logior
13a20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c .(lsh.(malyon-read-byte-from-fil
13a40 65 29 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f e).16)...............(lsh.(malyo
13a60 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 0a 20 20 20 20 20 20 n-read-byte-from-file).8).......
13a80 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 ........(malyon-read-byte-from-f
13aa0 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 ile)).....(setq.malyon-restore-d
13ac0 61 74 61 2d 65 72 72 6f 72 20 22 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 ata-error."quetzal.file.doesn't.
13ae0 62 65 6c 6f 6e 67 20 74 6f 20 67 61 6d 65 2e 22 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 28 64 65 belong.to.game.").....nil))..(de
13b00 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 fun.malyon-restore-quetzal-cmem.
13b20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 43 4d 65 6d 20 63 68 75 6e 6b 20 66 (size)..."Restore.a.CMem.chunk.f
13b40 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d 6f rom.disk..Return.the.entire.memo
13b60 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 20 20 28 63 ry.layout."...(let.((memory...(c
13b80 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 opy-sequence.(aref.malyon-game-s
13ba0 74 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 2d 73 tate-restart.4))).........(max-s
13bc0 69 7a 65 20 28 2b 20 28 70 6f 69 6e 74 29 20 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 ize.(+.(point).size)).........(b
13be0 79 74 65 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 20 20 30 29 29 yte.....0).........(i........0))
13c00 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 6d 61 78 2d 73 69 7a 65 29 .....(while.(<.(point).max-size)
13c20 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 .......(setq.byte.(malyon-read-b
13c40 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 yte-from-file)).......(if.(zerop
13c60 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 20 .byte)...........(setq.i.(+.1.i.
13c80 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 20 (malyon-read-byte-from-file)))..
13ca0 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69 20 28 6c 6f 67 78 6f 72 20 62 79 .......(aset.memory.i.(logxor.by
13cc0 74 65 20 28 61 72 65 66 20 6d 65 6d 6f 72 79 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 te.(aref.memory.i))).........(se
13ce0 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 0a 20 20 20 20 6d 65 6d 6f 72 79 29 29 0a 0a 28 64 tq.i.(+.1.i)))).....memory))..(d
13d00 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d efun.malyon-restore-quetzal-umem
13d20 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 55 4d 65 6d 20 63 68 75 6e 6b 20 .(size)..."Restore.a.UMem.chunk.
13d40 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d from.disk..Return.the.entire.mem
13d60 6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 28 63 6f ory.layout."...(let.((memory.(co
13d80 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 py-sequence.(aref.malyon-game-st
13da0 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 ate-restart.4))).........(i.....
13dc0 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20 20 .0)).....(while.(<.i.size)......
13de0 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 .(aset.memory.i.(malyon-read-byt
13e00 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 e-from-file)).......(setq.i.(+.1
13e20 20 69 29 29 29 0a 20 20 20 20 6d 65 6d 6f 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f .i))).....memory))..(defun.malyo
13e40 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28 73 69 7a 65 29 0a 20 20 n-restore-quetzal-stks.(size)...
13e60 22 52 65 73 74 6f 72 65 20 61 20 53 74 6b 73 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b 2e "Restore.a.Stks.chunk.from.disk.
13e80 20 52 65 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a .Return.a.vector.containing.the.
13ea0 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 stack.pointer,.the.frame.pointer
13ec0 2c 20 61 6e 64 20 74 68 65 20 73 74 61 63 6b 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 6c 65 74 20 ,.and.the.stack.itself."...(let.
13ee0 28 28 69 20 30 29 20 28 66 72 61 6d 65 2d 69 64 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d ((i.0).(frame-id.0)).....(setq.m
13f00 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 alyon-restore-quetzal-stack.....
13f20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79 6f ......(copy-sequence.(aref.malyo
13f40 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 33 29 29 29 0a 20 20 20 20 28 73 n-game-state-restart.3))).....(s
13f60 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b etq.malyon-restore-quetzal-stack
13f80 2d 70 6f 69 6e 74 65 72 20 2d 31 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 -pointer.-1).....(setq.malyon-re
13fa0 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 32 29 0a 20 store-quetzal-frame-pointer.2)..
13fc0 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20 20 20 28 6c 65 74 2a ...(while.(<.i.size).......(let*
13fe0 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 20 20 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 .((beginning.....(point)).......
14000 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 33 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 .......(return3.......(malyon-re
14020 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ad-byte-from-file)).............
14040 20 28 72 65 74 75 72 6e 32 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 .(return2.......(malyon-read-byt
14060 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 75 e-from-file))..............(retu
14080 72 6e 31 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d rn1.......(malyon-read-byte-from
140a0 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64 64 -file))..............(return-add
140c0 72 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 72 65 74 75 72 6e 33 20 31 36 29 20 28 6c 73 r...(logior.(lsh.return3.16).(ls
140e0 68 20 72 65 74 75 72 6e 32 20 38 29 20 72 65 74 75 72 6e 31 29 29 0a 20 20 20 20 20 20 20 20 20 h.return2.8).return1))..........
14100 20 20 20 20 28 72 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d ....(result-locals.(malyon-read-
14120 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 byte-from-file))..............(h
14140 61 73 2d 72 65 73 75 6c 74 20 20 20 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 36 20 72 as-result....(zerop.(logand.16.r
14160 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 esult-locals)))..............(nu
14180 6d 2d 6c 6f 63 61 6c 73 20 20 20 20 28 6c 6f 67 61 6e 64 20 31 35 20 72 65 73 75 6c 74 2d 6c 6f m-locals....(logand.15.result-lo
141a0 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 cals))..............(result-addr
141c0 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 ...(malyon-read-byte-from-file))
141e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 2d 66 6c 61 67 73 20 20 20 20 20 28 2b 20 ..............(arg-flags.....(+.
14200 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 1.(malyon-read-byte-from-file)))
14220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 20 20 30 29 0a ..............(num-args......0).
14240 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 69 7a 65 20 20 20 20 20 28 6d 61 6c .............(eval-size.....(mal
14260 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 yon-read-word-from-file)).......
14280 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 73 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 .......(local-vars....'())......
142a0 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 20 20 27 28 29 29 29 0a 20 20 20 ........(eval-stack....'()))....
142c0 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 2d 6c 6f 63 61 6c 73 20 30 29 0a 20 20 20 .....(while.(>.num-locals.0)....
142e0 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 20 28 63 6f 6e 73 20 28 6d .......(setq.local-vars.(cons.(m
14300 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 6c 6f 63 61 6c alyon-read-word-from-file).local
14320 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 6c 6f 63 61 -vars))...........(setq.num-loca
14340 6c 73 20 28 2d 20 6e 75 6d 2d 6c 6f 63 61 6c 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 ls.(-.num-locals.1))).........(w
14360 68 69 6c 65 20 28 3e 20 65 76 61 6c 2d 73 69 7a 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 hile.(>.eval-size.0)...........(
14380 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 setq.eval-stack.(cons.(malyon-re
143a0 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a ad-word-from-file).eval-stack)).
143c0 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 69 7a 65 20 28 2d 20 65 76 61 ..........(setq.eval-size.(-.eva
143e0 6c 2d 73 69 7a 65 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61 72 l-size.1))).........(while.(>.ar
14400 67 2d 66 6c 61 67 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 2d 66 g-flags.1)...........(setq.arg-f
14420 6c 61 67 73 20 28 6c 73 68 20 61 72 67 2d 66 6c 61 67 73 20 2d 31 29 29 0a 20 20 20 20 20 20 20 lags.(lsh.arg-flags.-1))........
14440 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 61 72 67 73 20 28 2b 20 6e 75 6d 2d 61 72 67 73 20 31 29 ...(setq.num-args.(+.num-args.1)
14460 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 2d 66 72 )).........(malyon-push-stack-fr
14480 61 6d 65 20 66 72 61 6d 65 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame.frame-id....................
144a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20 20 ..............return-addr.......
144c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 ...........................(if.(
144e0 7a 65 72 6f 70 20 66 72 61 6d 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 zerop.frame-id).................
14500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 .....................nil........
14520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 ............................(if.
14540 68 61 73 2d 72 65 73 75 6c 74 20 72 65 73 75 6c 74 2d 61 64 64 72 20 6e 69 6c 29 29 0a 20 20 20 has-result.result-addr.nil))....
14560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 ..............................(r
14580 65 76 65 72 73 65 20 6c 6f 63 61 6c 2d 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 everse.local-vars)..............
145a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20 20 ....................num-args....
145c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 ..............................(r
145e0 65 76 65 72 73 65 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 everse.eval-stack)).........(set
14600 71 20 66 72 61 6d 65 2d 69 64 20 28 2b 20 31 20 66 72 61 6d 65 2d 69 64 29 29 0a 20 20 20 20 20 q.frame-id.(+.1.frame-id))......
14620 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 28 2d 20 28 70 6f 69 6e 74 29 20 62 65 67 69 6e ...(setq.i.(+.i.(-.(point).begin
14640 6e 69 6e 67 29 29 29 29 29 0a 20 20 20 20 28 76 65 63 74 6f 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 ning))))).....(vector.malyon-res
14660 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 tore-quetzal-stack-pointer......
14680 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 .......malyon-restore-quetzal-fr
146a0 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72 ame-pointer.............malyon-r
146c0 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 29 29 29 0a 0a 3b 3b 20 6f 62 6a 65 estore-quetzal-stack)))..;;.obje
146e0 63 74 20 74 61 62 6c 65 20 6d 61 6e 61 67 65 6d 65 6e 74 0a 0a 28 64 65 66 73 75 62 73 74 20 6d ct.table.management..(defsubst.m
14700 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 28 6f 62 6a 65 63 74 29 0a 20 20 alyon-object-address.(object)...
14720 22 43 6f 6d 70 75 74 65 20 74 68 65 20 61 64 64 72 65 73 73 20 61 74 20 77 68 69 63 68 20 74 68 "Compute.the.address.at.which.th
14740 65 20 6f 62 6a 65 63 74 20 69 73 20 73 74 6f 72 65 64 2e 22 0a 20 20 28 2b 20 6d 61 6c 79 6f 6e e.object.is.stored."...(+.malyon
14760 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 0a 20 20 20 20 20 28 2a 20 32 20 6d 61 6c 79 6f 6e 2d 6f -object-table......(*.2.malyon-o
14780 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f 6e bject-properties)......(*.malyon
147a0 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 28 2d 20 6f 62 6a 65 -object-table-entry-size.(-.obje
147c0 63 74 20 31 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 ct.1))))..(defsubst.malyon-objec
147e0 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 t-read-parent.(address)..."Retur
14800 6e 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 n.the.parent."...(if.(<.malyon-s
14820 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 tory-version.5).......(malyon-re
14840 61 64 2d 62 79 74 65 20 28 2b 20 34 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 ad-byte.(+.4.address)).....(maly
14860 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 on-read-word.(+.6.address))))..(
14880 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c defsubst.malyon-object-read-sibl
148a0 69 6e 67 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 65 78 74 ing.(address)..."Return.the.next
148c0 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 .sibling."...(if.(<.malyon-story
148e0 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 -version.5).......(malyon-read-b
14900 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 yte.(+.5.address)).....(malyon-r
14920 65 61 64 2d 77 6f 72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66 73 ead-word.(+.8.address))))..(defs
14940 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 28 61 ubst.malyon-object-read-child.(a
14960 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c ddress)..."Return.the.first.chil
14980 64 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f d."...(if.(<.malyon-story-versio
149a0 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 n.5).......(malyon-read-byte.(+.
149c0 36 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 6.address)).....(malyon-read-wor
149e0 64 20 28 2b 20 31 30 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d d.(+.10.address))))..(defsubst.m
14a00 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 70 61 72 65 6e 74 20 28 61 64 64 72 65 alyon-object-store-parent.(addre
14a20 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a 20 20 ss.value)..."Set.the.parent."...
14a40 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 (if.(<.malyon-story-version.5)..
14a60 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 34 20 61 64 64 .....(malyon-store-byte.(+.4.add
14a80 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 ress).value).....(malyon-store-w
14aa0 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 ord.(+.6.address).value)))..(def
14ac0 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e subst.malyon-object-store-siblin
14ae0 67 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6e 65 78 g.(address.value)..."Set.the.nex
14b00 74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 t.sibling."...(if.(<.malyon-stor
14b20 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 y-version.5).......(malyon-store
14b40 2d 62 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 20 20 28 -byte.(+.5.address).value).....(
14b60 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29 20 malyon-store-word.(+.8.address).
14b80 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 value)))..(defsubst.malyon-objec
14ba0 74 2d 73 74 6f 72 65 2d 63 68 69 6c 64 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 t-store-child.(address.value)...
14bc0 22 53 65 74 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c 64 2e 22 0a 20 20 28 69 66 20 28 3c 20 "Set.the.first.child."...(if.(<.
14be0 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d malyon-story-version.5).......(m
14c00 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20 76 alyon-store-byte.(+.6.address).v
14c20 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 alue).....(malyon-store-word.(+.
14c40 31 30 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 10.address).value)))..(defun.mal
14c60 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 yon-find-property.(object.proper
14c80 74 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 ty)..."Return.the.address.of.the
14ca0 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 2c 20 6f 72 20 30 20 69 66 20 69 74 20 64 .object's.property,.or.0.if.it.d
14cc0 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 65 78 74 20 28 6d 61 oesn't.exist."...(let.((next.(ma
14ce0 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 lyon-first-property.object))....
14d00 20 20 20 20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 .....(number.0)).....(setq.numbe
14d20 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 r.(logand.(malyon-read-byte.next
14d40 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 ).malyon-object-properties))....
14d60 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 .(while.(>.number.property).....
14d80 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 ..(setq.next.(malyon-next-proper
14da0 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c 6f ty.next)).......(setq.number.(lo
14dc0 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61 6c gand.(malyon-read-byte.next).mal
14de0 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 28 69 66 yon-object-properties))).....(if
14e00 20 28 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 20 6e 65 78 74 20 30 29 29 29 0a 0a .(=.number.property).next.0)))..
14e20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 28 6f 62 (defun.malyon-first-property.(ob
14e40 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 ject)..."Get.the.address.of.the.
14e60 6f 62 6a 65 63 74 27 73 20 66 69 72 73 74 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 object's.first.property."...(let
14e80 20 28 28 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d .((header.(malyon-read-word.(+.m
14ea0 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 20 20 alyon-object-property-offset....
14ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14ee0 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 ..(malyon-object-address.object)
14f00 29 29 29 29 0a 20 20 20 20 28 2b 20 68 65 61 64 65 72 20 31 20 28 2a 20 32 20 28 6d 61 6c 79 6f )))).....(+.header.1.(*.2.(malyo
14f20 6e 2d 72 65 61 64 2d 62 79 74 65 20 68 65 61 64 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 n-read-byte.header)))))..(defun.
14f40 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 72 6f 70 65 72 74 79 29 0a malyon-next-property.(property).
14f60 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 .."Get.the.address.of.the.follow
14f80 69 6e 67 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 6d 61 ing.property."...(let.((size.(ma
14fa0 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 lyon-read-byte.property)).......
14fc0 20 20 28 61 64 64 72 20 28 2b 20 70 72 6f 70 65 72 74 79 20 31 29 29 29 0a 20 20 20 20 28 2b 20 ..(addr.(+.property.1))).....(+.
14fe0 31 20 61 64 64 72 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 1.addr.(cond.((<.malyon-story-ve
15000 72 73 69 6f 6e 20 35 29 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 0a 20 20 20 20 20 20 20 20 rsion.5).(lsh.size.-5)).........
15020 20 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 ............((zerop.(logand.128.
15040 73 69 7a 65 29 29 20 20 28 6c 73 68 20 73 69 7a 65 20 2d 36 29 29 0a 20 20 20 20 20 20 20 20 20 size))..(lsh.size.-6))..........
15060 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........(t...................
15080 20 20 20 28 6c 65 74 20 28 28 73 65 63 6f 6e 64 20 28 6c 6f 67 61 6e 64 20 36 33 20 28 6d 61 6c ...(let.((second.(logand.63.(mal
150a0 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 yon-read-byte.addr))))..........
150c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 30 20 73 65 63 6f 6e 64 29 20 36 ..............(if.(=.0.second).6
150e0 34 20 73 65 63 6f 6e 64 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 4.second)))))))..(defun.malyon-r
15100 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 emove-object.(object)..."Remove.
15120 74 68 65 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 the.object.from.the.children.lis
15140 74 20 6f 66 20 69 74 73 20 70 61 72 65 6e 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 t.of.its.parent."...(let*.((addr
15160 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 ess.(malyon-object-address.objec
15180 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 t))..........(parent..(malyon-ob
151a0 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 ject-read-parent.address))......
151c0 20 20 20 20 28 73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 ....(sibling.(malyon-object-read
151e0 2d 73 69 62 6c 69 6e 67 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d -sibling.address))).....(malyon-
15200 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 70 61 72 65 6e 74 20 61 64 64 72 65 73 73 20 30 29 0a 20 object-store-parent.address.0)..
15220 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 ...(malyon-object-store-sibling.
15240 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 28 69 66 20 28 2f 3d 20 70 61 72 65 6e 74 20 30 29 address.0).....(if.(/=.parent.0)
15260 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 72 65 6e 74 2d 61 64 64 72 20 28 6d 61 6c .........(let.((parent-addr.(mal
15280 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 70 61 72 65 6e 74 29 29 29 0a 20 20 20 yon-object-address.parent)))....
152a0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 72 65 6e 20 28 6d 61 6c 79 6f 6e 2d 6f .......(let.((children.(malyon-o
152c0 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 29 29 29 0a bject-read-child.parent-addr))).
152e0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 ............(if.(or.(=.children.
15300 30 29 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 0).(=.children.object)).........
15320 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 63 68 69 ........(malyon-object-store-chi
15340 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 20 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 20 20 20 20 ld.parent-addr.sibling).........
15360 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 69 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 ......(let.((this.(malyon-object
15380 2d 61 64 64 72 65 73 73 20 63 68 69 6c 64 72 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -address.children)))............
153a0 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d .....(let.((next.(malyon-object-
153c0 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 74 68 69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 read-sibling.this)))............
153e0 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 6e 65 78 74 20 6f 62 6a 65 63 74 29 0a 20 .......(while.(/=.next.object)..
15400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 28 6d ...................(setq.this.(m
15420 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6e 65 78 74 29 29 0a 20 20 20 20 alyon-object-address.next)).....
15440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 ................(setq.next.(maly
15460 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 74 68 69 73 29 29 29 0a 20 on-object-read-sibling.this)))..
15480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d .................(malyon-object-
154a0 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 74 68 69 73 20 73 69 62 6c 69 6e 67 29 29 29 29 29 29 store-sibling.this.sibling))))))
154c0 29 29 29 0a 0a 3b 3b 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 61 6e 64 20 63 6f 64 65 20 )))..;;.function.calls.and.code.
154e0 62 72 61 6e 63 68 65 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 branches..(defun.malyon-call-rou
15500 74 69 6e 65 20 28 72 6f 75 74 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 26 6f 70 74 69 6f 6e 61 tine.(routine.arguments.&optiona
15520 6c 20 72 65 73 75 6c 74 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 77 69 74 68 l.result)..."Call.a.routine.with
15540 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e 20 .the.given.arguments.and.return.
15560 69 74 73 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 69 66 20 28 3d 20 72 6f 75 74 69 6e 65 20 30 29 its.result."...(if.(=.routine.0)
15580 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d .......(if.result.(malyon-store-
155a0 76 61 72 69 61 62 6c 65 20 72 65 73 75 6c 74 20 30 29 20 30 29 0a 20 20 20 20 28 6d 61 6c 79 6f variable.result.0).0).....(malyo
155c0 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20 20 n-push-stack.(if.result.0.1))...
155e0 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 ..(malyon-push-stack.(if.result.
15600 72 65 73 75 6c 74 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 result.0)).....(malyon-push-stac
15620 6b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20 20 k.malyon-instruction-pointer)...
15640 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 0a 20 20 20 20 20 28 6c 6f 67 69 6f ..(malyon-push-stack......(logio
15660 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d r.(lsh.(-.malyon-stack-pointer.m
15680 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20 20 alyon-frame-pointer).8).........
156a0 20 20 20 20 20 28 6c 65 6e 67 74 68 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 28 73 .....(length.arguments))).....(s
156c0 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 etq.malyon-instruction-pointer.(
156e0 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 72 6f 75 74 69 *.malyon-packed-multiplier.routi
15700 6e 65 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 61 72 67 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 ne)).....(let.((args.(malyon-rea
15720 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 20 28 76 61 6c 75 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 d-code-byte)).(value.nil))......
15740 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a 20 .(if.malyon-game-state-quetzal..
15760 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 .........(let.((id.(lsh.(aref.ma
15780 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 lyon-stack.malyon-frame-pointer)
157a0 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d .-8))).............(malyon-push-
157c0 73 74 61 63 6b 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 2b 20 31 20 69 64 29 20 38 29 20 61 stack.(logior.(lsh.(+.1.id).8).a
157e0 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 rgs)))).......(setq.malyon-frame
15800 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a 20 -pointer.malyon-stack-pointer)..
15820 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61 72 67 73 20 30 29 0a 20 20 20 20 20 20 20 20 28 .....(while.(>.args.0).........(
15840 73 65 74 71 20 76 61 6c 75 65 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 setq.value.(if.(<.malyon-story-v
15860 65 72 73 69 6f 6e 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 ersion.5).(malyon-read-code-word
15880 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b ).0)).........(malyon-push-stack
158a0 20 28 69 66 20 28 6e 75 6c 6c 20 61 72 67 75 6d 65 6e 74 73 29 20 76 61 6c 75 65 20 28 63 61 72 .(if.(null.arguments).value.(car
158c0 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 75 .arguments))).........(setq.argu
158e0 6d 65 6e 74 73 20 28 63 64 72 20 61 72 67 75 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 ments.(cdr.arguments)).........(
15900 73 65 74 71 20 61 72 67 73 20 28 2d 20 61 72 67 73 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 setq.args.(-.args.1))))))..(defu
15920 6e 20 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20 22 n.malyon-jump-if.(condition)..."
15940 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 Jump.depending.on.the.condition.
15960 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6a 75 6d 70 20 64 61 74 61 2e 22 0a 20 20 and.the.following.jump.data."...
15980 28 6c 65 74 20 28 28 62 79 74 65 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d (let.((byte...(malyon-read-code-
159a0 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 6e 69 6c 29 0a 20 20 20 20 byte)).........(offset.nil).....
159c0 20 20 20 20 28 69 66 74 72 75 65 20 6e 69 6c 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 66 74 72 ....(iftrue.nil)).....(setq.iftr
159e0 75 65 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20 62 79 74 65 20 31 32 38 29 29 29 0a 20 20 20 ue.(/=.0.(logand.byte.128)))....
15a00 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 6c 6f 67 61 6e 64 20 62 79 74 65 20 36 33 29 29 0a .(setq.offset.(logand.byte.63)).
15a20 20 20 20 20 28 69 66 20 28 3d 20 30 20 28 6c 6f 67 61 6e 64 20 62 79 74 65 20 36 34 29 29 0a 20 ....(if.(=.0.(logand.byte.64))..
15a40 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 66 .......(progn...........(setq.of
15a60 66 73 65 74 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 6f 66 66 73 65 74 20 38 29 20 28 6d 61 6c fset.(logior.(lsh.offset.8).(mal
15a80 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 yon-read-code-byte)))...........
15aa0 28 69 66 20 28 3e 3d 20 6f 66 66 73 65 74 20 38 31 39 32 29 20 28 73 65 74 71 20 6f 66 66 73 65 (if.(>=.offset.8192).(setq.offse
15ac0 74 20 28 2d 20 6f 66 66 73 65 74 20 31 36 33 38 34 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 t.(-.offset.16384))))).....(if.(
15ae0 6f 72 20 28 61 6e 64 20 69 66 74 72 75 65 20 63 6f 6e 64 69 74 69 6f 6e 29 20 28 61 6e 64 20 28 or.(and.iftrue.condition).(and.(
15b00 6e 6f 74 20 69 66 74 72 75 65 29 20 28 6e 6f 74 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20 20 not.iftrue).(not.condition)))...
15b20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3d ......(progn...........(cond.((=
15b40 20 6f 66 66 73 65 74 20 30 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 .offset.0).(malyon-opcode-rfalse
15b60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 6f 66 66 73 65 74 20 31 29 )).................((=.offset.1)
15b80 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 74 72 75 65 29 29 0a 20 20 20 20 20 20 20 20 .(malyon-opcode-rtrue)).........
15ba0 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 0a 20 20 20 20 ........(t............(setq.....
15bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f ...........................malyo
15be0 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 n-instruction-pointer...........
15c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 .....................(+.malyon-i
15c20 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 6f 66 66 73 65 74 20 2d 32 29 29 29 29 nstruction-pointer.offset.-2))))
15c40 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 76 61 6c 75 ))))..(defun.malyon-return.(valu
15c60 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 e)..."Return.from.a.routine."...
15c80 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f (setq.malyon-stack-pointer.malyo
15ca0 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 n-frame-pointer)...(if.malyon-ga
15cc0 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 me-state-quetzal.(malyon-pop-sta
15ce0 63 6b 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 ck))...(setq.malyon-frame-pointe
15d00 72 0a 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 r.........(-.malyon-stack-pointe
15d20 72 20 31 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 20 2d 38 29 29 r.1.(lsh.(malyon-pop-stack).-8))
15d40 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 )...(setq.malyon-instruction-poi
15d60 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 28 6c 65 74 20 nter.(malyon-pop-stack))...(let.
15d80 28 28 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 20 ((result.(malyon-pop-stack))....
15da0 20 20 20 20 20 28 73 74 6f 72 65 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 .....(store..(malyon-pop-stack))
15dc0 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 ).....(if.(zerop.store).........
15de0 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d 73 74 6f 72 65 20 72 65 73 75 6c 74 20 76 61 6c 75 (malyon-return-store.result.valu
15e00 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 72 e).......(malyon-return-ignore.r
15e20 65 73 75 6c 74 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 esult.value))))..(defun.malyon-r
15e40 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 28 77 68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52 65 eturn-ignore.(where.value)..."Re
15e60 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 turn.from.a.routine.ignoring.the
15e80 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e .result.")..(defun.malyon-return
15ea0 2d 73 74 6f 72 65 20 28 77 68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 -store.(where.value)..."Return.f
15ec0 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 20 73 74 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 rom.a.routine.storing.the.result
15ee0 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 77 68 65 72 ."...(malyon-store-variable.wher
15f00 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 69 6e e.value))..(defun.malyon-push-in
15f20 69 74 69 61 6c 2d 66 72 61 6d 65 20 28 29 0a 20 20 22 50 75 73 68 20 74 68 65 20 69 6e 69 74 69 itial-frame.()..."Push.the.initi
15f40 61 6c 20 73 74 61 63 6b 20 66 72 61 6d 65 20 72 65 71 75 69 72 65 64 20 69 6e 20 71 75 65 74 7a al.stack.frame.required.in.quetz
15f60 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 al.mode."...(if.malyon-game-stat
15f80 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 e-quetzal.......(progn.........(
15fa0 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 31 29 0a 20 20 20 20 20 20 20 20 28 6d 61 malyon-push-stack.1).........(ma
15fc0 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 lyon-push-stack.0).........(maly
15fe0 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e on-push-stack.0).........(malyon
16000 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 -push-stack.0).........(malyon-p
16020 75 73 68 2d 73 74 61 63 6b 20 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 67 ush-stack.0))))..(defun.malyon-g
16040 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20 22 et-stack-frame.(fp.sp.stack)..."
16060 52 65 74 75 72 6e 20 61 20 64 65 63 6f 64 65 64 20 73 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 Return.a.decoded.stack.frame.in.
16080 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 76 65 quetzal.mode..The.result.is.a.ve
160a0 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 72 61 6d 65 20 69 64 2c 20 74 68 ctor.containing.the.frame.id,.th
160c0 65 20 66 70 20 6f 66 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 e.fp.of.the.previous.frame,.the.
160e0 73 70 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 72 65 sp.of.the.previous.frame,.the.re
16100 74 75 72 6e 20 61 64 64 72 65 73 73 2c 0a 74 68 65 20 72 65 73 75 6c 74 20 76 61 72 69 61 62 6c turn.address,.the.result.variabl
16120 65 20 69 66 20 61 6e 79 2c 20 61 20 6c 69 73 74 20 6f 66 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 e.if.any,.a.list.of.local.variab
16140 6c 65 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 0a 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e les,.the.number.of.arguments,.an
16160 64 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 61 63 6b d.a.list.of.the.evaluation.stack
16180 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 68 61 73 2d 72 65 73 75 6c 74 .elements."...(let*.((has-result
161a0 20 20 20 28 7a 65 72 6f 70 20 28 61 72 65 66 20 73 74 61 63 6b 20 66 70 29 29 29 0a 20 20 20 20 ...(zerop.(aref.stack.fp))).....
161c0 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 20 20 28 69 66 20 68 61 73 2d 72 65 73 75 6c .....(result-addr..(if.has-resul
161e0 74 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 31 20 66 70 29 29 20 6e 69 6c 29 29 0a 20 20 t.(aref.stack.(+.1.fp)).nil))...
16200 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64 64 72 20 20 28 61 72 65 66 20 73 74 61 63 6b .......(return-addr..(aref.stack
16220 20 28 2b 20 32 20 66 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 20 20 .(+.2.fp)))..........(offset....
16240 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 20 2d 38 ...(lsh.(aref.stack.(+.3.fp)).-8
16260 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 20 28 6c 6f 67 61 6e ))..........(num-args.....(logan
16280 64 20 32 35 35 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 29 29 0a 20 20 d.255.(aref.stack.(+.3.fp))))...
162a0 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69 64 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 .......(frame-id.....(lsh.(aref.
162c0 73 74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 20 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e stack.(+.4.fp)).-8))..........(n
162e0 75 6d 2d 6c 6f 63 61 6c 73 20 20 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 73 74 um-locals...(logand.255.(aref.st
16300 61 63 6b 20 28 2b 20 34 20 66 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d ack.(+.4.fp))))..........(start-
16320 6c 6f 63 61 6c 73 20 28 2b 20 35 20 66 70 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 locals.(+.5.fp))..........(start
16340 2d 65 76 61 6c 20 20 20 28 2b 20 35 20 66 70 20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20 20 -eval...(+.5.fp.num-locals))....
16360 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 73 20 20 20 27 28 29 29 0a 20 20 20 20 20 20 20 ......(local-vars...'())........
16380 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 20 27 28 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e ..(eval-stack...'())).....(if.(n
163a0 6f 74 20 28 7a 65 72 6f 70 20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 28 ot.(zerop.num-locals)).........(
163c0 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d setq.local-vars...............(m
163e0 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72 74 alyon-vector-to-list.stack.start
16400 2d 6c 6f 63 61 6c 73 20 73 74 61 72 74 2d 65 76 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e -locals.start-eval))).....(if.(>
16420 20 73 70 20 73 74 61 72 74 2d 65 76 61 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 76 .sp.start-eval).........(setq.ev
16440 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 76 al-stack...............(malyon-v
16460 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72 74 2d 65 76 61 6c 20 28 ector-to-list.stack.start-eval.(
16480 2b 20 31 20 73 70 29 29 29 29 0a 20 20 20 20 28 76 65 63 74 6f 72 20 66 72 61 6d 65 2d 69 64 0a +.1.sp)))).....(vector.frame-id.
164a0 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 6f 66 66 73 65 74 20 32 29 0a 20 20 20 20 ............(-.fp.offset.2).....
164c0 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 ........(-.fp.1).............ret
164e0 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2d 61 64 64 72 urn-addr.............result-addr
16500 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 .............local-vars.........
16520 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 2d 73 74 ....num-args.............eval-st
16540 61 63 6b 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 ack)))..(defsubst.malyon-restore
16560 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65 29 0a 20 20 22 50 -quetzal-push-stack.(value)..."P
16580 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74 6f 20 74 68 65 20 72 65 73 74 6f 72 65 20 71 75 65 ush.a.value.onto.the.restore.que
165a0 74 7a 61 6c 20 73 74 61 63 6b 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 tzal.stack."...(setq.malyon-rest
165c0 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 ore-quetzal-stack-pointer.......
165e0 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 ..(+.malyon-restore-quetzal-stac
16600 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 72 65 73 k-pointer.1))...(aset.malyon-res
16620 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 6d 61 6c 79 6f tore-quetzal-stack.........malyo
16640 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a n-restore-quetzal-stack-pointer.
16660 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 ........value))..(defun.malyon-p
16680 75 73 68 2d 73 74 61 63 6b 2d 66 72 61 6d 65 0a 20 20 28 66 72 61 6d 65 2d 69 64 20 72 65 74 75 ush-stack-frame...(frame-id.retu
166a0 72 6e 2d 61 64 64 72 20 72 65 73 75 6c 74 20 6c 6f 63 61 6c 2d 76 61 72 73 20 6e 75 6d 2d 61 72 rn-addr.result.local-vars.num-ar
166c0 67 73 20 65 76 61 6c 2d 73 74 61 63 6b 29 0a 20 20 22 50 75 73 68 65 73 20 61 20 6e 65 77 20 73 gs.eval-stack)..."Pushes.a.new.s
166e0 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 tack.frame.in.quetzal.mode."...(
16700 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 malyon-restore-quetzal-push-stac
16720 6b 20 28 69 66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 k.(if.result.0.1))...(malyon-res
16740 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 tore-quetzal-push-stack.(if.resu
16760 6c 74 20 72 65 73 75 6c 74 20 30 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d lt.result.0))...(malyon-restore-
16780 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 20 72 65 74 75 72 6e 2d 61 64 64 72 29 0a quetzal-push-stack.return-addr).
167a0 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 ..(malyon-restore-quetzal-push-s
167c0 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d 72 tack....(logior.(lsh.(-.malyon-r
167e0 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 estore-quetzal-stack-pointer....
16800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 ................malyon-restore-q
16820 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20 uetzal-frame-pointer).8)........
16840 20 20 20 20 6e 75 6d 2d 61 72 67 73 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 ....num-args))...(malyon-restore
16860 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20 28 -quetzal-push-stack....(logior.(
16880 6c 73 68 20 66 72 61 6d 65 2d 69 64 20 38 29 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c 2d 76 61 lsh.frame-id.8).(length.local-va
168a0 72 73 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 rs)))...(setq.malyon-restore-que
168c0 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 6d 61 6c 79 6f tzal-frame-pointer.........malyo
168e0 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 n-restore-quetzal-stack-pointer)
16900 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73 29 ...(while.(not.(null.local-vars)
16920 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 ).....(malyon-restore-quetzal-pu
16940 73 68 2d 73 74 61 63 6b 20 28 63 61 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 28 sh-stack.(car.local-vars)).....(
16960 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 setq.local-vars.(cdr.local-vars)
16980 29 29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 65 76 61 6c 2d 73 74 61 63 ))...(while.(not.(null.eval-stac
169a0 6b 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d k)).....(malyon-restore-quetzal-
169c0 70 75 73 68 2d 73 74 61 63 6b 20 28 63 61 72 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 push-stack.(car.eval-stack))....
169e0 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61 63 .(setq.eval-stack.(cdr.eval-stac
16a00 6b 29 29 29 29 0a 0a 3b 3b 20 6f 74 68 65 72 20 73 74 75 66 66 0a 0a 28 64 65 66 76 61 72 20 6d k))))..;;.other.stuff..(defvar.m
16a20 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 62 75 66 alyon-aread-text.nil..."Text.buf
16a40 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d fer.for.user.input.")..(defvar.m
16a60 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 6e 69 6c 0a 20 20 22 50 61 72 73 65 20 62 alyon-aread-parse.nil..."Parse.b
16a80 75 66 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 uffer.for.user.input.")..(defvar
16aa0 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 .malyon-aread-beginning-of-line.
16ac0 6e 69 6c 0a 20 20 22 54 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 70 75 nil..."The.beginning.of.the.inpu
16ae0 74 20 6c 69 6e 65 2e 22 29 0a 0a 3b 3b 20 65 78 65 63 75 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 t.line.")..;;.execution..(defun.
16b00 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 20 28 29 0a 20 20 22 52 75 6e 20 74 68 65 malyon-interpreter.()..."Run.the
16b20 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 6f 6e 20 74 68 65 20 67 69 76 65 6e .Z-code.interpreter.on.the.given
16b40 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 .story.file."...(malyon-hide-int
16b60 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 6e ernal-errors."unspecified.intern
16b80 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 al.runtime.error.".....(progn...
16ba0 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 ....(malyon-restore-window-confi
16bc0 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 guration).......(if.malyon-story
16be0 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 27 6d 61 6c 79 6f 6e 2d 65 -file...........(catch.'malyon-e
16c00 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 nd-of-interpreter-loop..........
16c20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 ...(setq.malyon-last-cursor-posi
16c40 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion-after-input................
16c60 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e ...(malyon-point-max.malyon-tran
16c80 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c script-buffer)).............(mal
16ca0 79 6f 6e 2d 65 78 65 63 75 74 65 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c yon-execute))))))..(defsubst.mal
16cc0 79 6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 73 20 28 73 70 65 yon-fetch-variable-operands.(spe
16ce0 63 69 66 69 65 72 29 0a 20 20 22 46 65 74 63 68 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 cifier)..."Fetch.a.variable.numb
16d00 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65 63 er.of.operands.based.on.the.spec
16d20 69 66 69 65 72 20 61 72 67 75 6d 65 6e 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 20 28 ifier.argument."...(let.((var..(
16d40 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31 35 32 29 29 0a 20 20 20 20 20 20 20 logand.specifier.49152))........
16d60 20 28 6f 70 20 20 20 27 28 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65 72 .(op...'())).....(setq.specifier
16d80 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 73 70 65 63 69 66 69 65 72 29 29 0a 20 20 20 20 28 .(logand.65535.specifier)).....(
16da0 77 68 69 6c 65 20 28 2f 3d 20 30 20 73 70 65 63 69 66 69 65 72 29 0a 20 20 20 20 20 20 28 63 6f while.(/=.0.specifier).......(co
16dc0 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20 20 20 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e 73 nd.((=.var.0).....(setq.op.(cons
16de0 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 29 20 6f 70 29 29 29 0a 20 .(malyon-read-code-word).op)))..
16e00 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 76 61 72 20 31 36 33 38 34 29 20 28 73 65 74 71 20 ...........((=.var.16384).(setq.
16e20 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 op.(cons.(malyon-read-code-byte)
16e40 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 76 61 72 20 33 32 37 36 38 .op))).............((=.var.32768
16e60 29 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 ).(setq.op.(cons.(malyon-read-va
16e80 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riable..........................
16ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 ..................(malyon-read-c
16ec0 6f 64 65 2d 62 79 74 65 29 29 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 ode-byte)).op))).............(t.
16ee0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65 72 20 30 29 29 29 ............(setq.specifier.0)))
16f00 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65 72 20 28 6c 6f 67 61 6e 64 20 36 .......(setq.specifier.(logand.6
16f20 35 35 33 35 20 28 6c 73 68 20 73 70 65 63 69 66 69 65 72 20 32 29 29 29 0a 20 20 20 20 20 20 28 5535.(lsh.specifier.2))).......(
16f40 73 65 74 71 20 76 61 72 20 20 28 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31 35 setq.var..(logand.specifier.4915
16f60 32 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6f 70 29 29 29 0a 0a 28 64 65 66 73 75 2))).....(nreverse.op)))..(defsu
16f80 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 65 78 74 65 6e 64 65 64 20 28 6f 70 63 6f 64 bst.malyon-fetch-extended.(opcod
16fa0 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 6e 20 65 78 74 65 e)..."Fetch.operands.for.an.exte
16fc0 6e 64 65 64 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 nded.instruction."...(malyon-fet
16fe0 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 73 0a 20 20 20 28 6c 6f 67 69 6f 72 20 ch-variable-operands....(logior.
17000 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29 20 (lsh.(malyon-read-code-byte).8).
17020 32 35 35 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 76 255)))..(defsubst.malyon-fetch-v
17040 61 72 69 61 62 6c 65 20 28 6f 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 6e ariable.(opcode)..."Fetch.operan
17060 64 73 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a ds.for.a.variable.instruction.".
17080 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 ..(malyon-fetch-variable-operand
170a0 73 0a 20 20 20 28 69 66 20 28 6f 72 20 28 3d 20 6f 70 63 6f 64 65 20 32 33 36 29 20 28 3d 20 6f s....(if.(or.(=.opcode.236).(=.o
170c0 70 63 6f 64 65 20 32 35 30 29 29 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d pcode.250))........(malyon-read-
170e0 63 6f 64 65 2d 77 6f 72 64 29 0a 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 code-word)......(logior.(lsh.(ma
17100 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29 20 32 35 35 29 29 29 29 0a lyon-read-code-byte).8).255)))).
17120 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 28 6f .(defsubst.malyon-fetch-short.(o
17140 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 20 73 pcode)..."Fetch.operands.for.a.s
17160 68 6f 72 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 20 28 hort.instruction."...(let.((op.(
17180 6c 6f 67 61 6e 64 20 6f 70 63 6f 64 65 20 34 38 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 logand.opcode.48))).....(cond.((
171a0 3d 20 6f 70 20 30 29 20 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 =.op.0)..(list.(malyon-read-code
171c0 2d 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 6f 70 20 31 36 29 20 28 6c -word)))...........((=.op.16).(l
171e0 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 ist.(malyon-read-code-byte)))...
17200 20 20 20 20 20 20 20 20 28 28 3d 20 6f 70 20 33 32 29 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e ........((=.op.32).(list.(malyon
17220 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 -read-variable.(malyon-read-code
17240 2d 62 79 74 65 29 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 -byte)))))))..(defsubst.malyon-f
17260 65 74 63 68 2d 6c 6f 6e 67 20 28 69 6e 73 74 72 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 etch-long.(instr)..."Fetch.opera
17280 6e 64 73 20 66 6f 72 20 61 20 6c 6f 6e 67 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 nds.for.a.long.instruction."...(
172a0 6c 65 74 20 28 28 62 79 74 65 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 let.((byte1.(malyon-read-code-by
172c0 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 te)).........(byte2.(malyon-read
172e0 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 69 66 20 28 3d 20 28 -code-byte))).....(list.(if.(=.(
17300 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 36 34 29 20 30 29 20 62 79 74 65 31 20 28 6d 61 6c 79 6f logand.instr.64).0).byte1.(malyo
17320 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 31 29 29 0a 20 20 20 20 20 20 20 20 n-read-variable.byte1)).........
17340 20 20 28 69 66 20 28 3d 20 28 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 33 32 29 20 30 29 20 62 79 ..(if.(=.(logand.instr.32).0).by
17360 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 32 29 te2.(malyon-read-variable.byte2)
17380 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 78 65 63 75 74 65 20 28 29 0a 20 ))))..(defun.malyon-execute.()..
173a0 20 22 45 78 65 63 75 74 65 20 5a 2d 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 4c ."Execute.Z-code.instructions..L
173c0 6f 61 64 20 74 68 65 20 6e 65 78 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 70 63 6f 64 65 20 oad.the.next.instruction.opcode.
173e0 61 6e 64 20 69 74 73 20 6f 70 65 72 61 6e 64 73 20 61 6e 64 20 65 78 65 63 75 74 65 20 69 74 2e and.its.operands.and.execute.it.
17400 0a 52 65 70 65 61 74 20 61 64 20 69 6e 66 69 6e 69 74 75 6d 2e 22 0a 20 20 28 6c 65 74 20 28 28 .Repeat.ad.infinitum."...(let.((
17420 6f 70 63 6f 64 65 29 20 28 6f 70 65 72 61 6e 64 73 29 29 3b 20 28 70 63 29 29 0a 20 20 20 20 28 opcode).(operands));.(pc)).....(
17440 77 68 69 6c 65 20 74 0a 3b 20 20 20 20 20 20 28 73 65 74 71 20 70 63 20 6d 61 6c 79 6f 6e 2d 69 while.t.;......(setq.pc.malyon-i
17460 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 nstruction-pointer).......(setq.
17480 6f 70 63 6f 64 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 0a opcode.(malyon-read-code-byte)).
174a0 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 65 72 61 6e 64 73 20 28 63 6f 6e 64 20 28 28 3d 20 20 ......(setq.operands.(cond.((=..
174c0 6f 70 63 6f 64 65 20 31 39 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 opcode.190).....................
174e0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 63 6f 64 65 20 28 2b 20 32 35 36 20 28 6d 61 6c ........(setq.opcode.(+.256.(mal
17500 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 yon-read-code-byte)))...........
17520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d ..................(malyon-fetch-
17540 65 78 74 65 6e 64 65 64 20 6f 70 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 extended.opcode))...............
17560 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64 65 20 31 39 32 29 0a 20 20 .............((>=.opcode.192)...
17580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f ..........................(malyo
175a0 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 20 6f 70 63 6f 64 65 29 29 0a 20 20 20 20 20 20 n-fetch-variable.opcode)).......
175c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64 65 .....................((>=.opcode
175e0 20 31 32 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .128)...........................
17600 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 6f 70 63 6f 64 65 29 29 0a 20 ..(malyon-fetch-short.opcode))..
17620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 ..........................(t....
17640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e .........................(malyon
17660 2d 66 65 74 63 68 2d 6c 6f 6e 67 20 6f 70 63 6f 64 65 29 29 29 29 0a 3b 20 20 20 20 20 20 28 6d -fetch-long.opcode)))).;......(m
17680 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63 6f 64 65 20 70 63 20 6f 70 63 6f 64 65 20 6f 70 65 alyon-trace-opcode.pc.opcode.ope
176a0 72 61 6e 64 73 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e rands).......(apply.(aref.malyon
176c0 2d 6f 70 63 6f 64 65 73 20 6f 70 63 6f 64 65 29 20 6f 70 65 72 61 6e 64 73 29 29 29 29 0a 0a 3b -opcodes.opcode).operands))))..;
176e0 3b 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 ;.opcodes..(defsubst.malyon-numb
17700 65 72 20 28 6e 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 6e 75 er.(n)..."Convert.an.unsigned.nu
17720 6d 62 65 72 20 69 6e 74 6f 20 61 20 73 69 67 6e 65 64 20 6f 6e 65 2e 22 0a 20 20 28 69 66 20 28 mber.into.a.signed.one."...(if.(
17740 3c 20 6e 20 33 32 37 36 38 29 20 6e 20 28 2d 20 6e 20 36 35 35 33 36 29 29 29 0a 0a 28 64 65 66 <.n.32768).n.(-.n.65536)))..(def
17760 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 20 28 61 20 62 29 0a 20 20 22 41 64 un.malyon-opcode-add.(a.b)..."Ad
17780 64 69 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c dition."...(malyon-store-variabl
177a0 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 e.(malyon-read-code-byte).......
177c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6e 75 ...................(+.(malyon-nu
177e0 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 mber.a).(malyon-number.b))))..(d
17800 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 28 61 20 62 29 0a 20 20 22 efun.malyon-opcode-and.(a.b)..."
17820 42 69 74 77 69 73 65 20 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 Bitwise.and."...(malyon-store-va
17840 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 riable.(malyon-read-code-byte).(
17860 6c 6f 67 61 6e 64 20 61 20 62 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 logand.a.b)))..(defun.malyon-opc
17880 6f 64 65 2d 61 72 65 61 64 20 28 74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c 20 ode-aread.(text.parse.&optional.
178a0 74 69 6d 65 20 72 6f 75 74 69 6e 65 29 0a 20 20 22 52 65 61 64 20 69 6e 70 75 74 20 74 65 78 74 time.routine)..."Read.input.text
178c0 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 74 65 78 ."...(setq.malyon-aread-text.tex
178e0 74 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 70 61 t)...(setq.malyon-aread-parse.pa
17900 72 73 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 rse)...(goto-char.(point-max))..
17920 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 .(setq.malyon-aread-beginning-of
17940 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 3b 20 53 6f 6d 65 20 67 61 6d 65 73 20 76 69 6f 6c -line.(point)).;.Some.games.viol
17960 61 74 65 20 74 68 65 73 65 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 22 51 ate.these.assumptions.for.the."Q
17980 75 69 74 22 20 71 75 65 73 74 69 6f 6e 2e 0a 3b 20 20 28 69 66 20 28 3e 20 33 20 28 6d 61 6c 79 uit".question..;..(if.(>.3.(maly
179a0 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 65 78 74 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 on-read-byte.text)).;......(maly
179c0 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 74 65 78 74 20 62 75 66 66 65 72 20 6c 65 73 73 on-fatal-error."text.buffer.less
179e0 20 74 68 61 6e 20 33 20 62 79 74 65 73 2e 22 29 29 0a 3b 20 20 28 69 66 20 28 61 6e 64 20 28 6e .than.3.bytes.")).;..(if.(and.(n
17a00 6f 74 20 28 7a 65 72 6f 70 20 70 61 72 73 65 29 29 20 28 3e 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 ot.(zerop.parse)).(>.2.(malyon-r
17a20 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e ead-byte.parse))).;......(malyon
17a40 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70 61 72 73 65 20 62 75 66 66 65 72 20 6c 65 73 73 20 -fatal-error."parse.buffer.less.
17a60 74 68 61 6e 20 32 20 62 79 74 65 73 2e 22 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 20 than.2.bytes."))...(malyon-more.
17a80 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 malyon-keymap-read)...(throw.'ma
17aa0 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 lyon-end-of-interpreter-loop.'ma
17ac0 6c 79 6f 6e 2d 77 61 69 74 69 6e 67 2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 28 64 65 66 75 6e lyon-waiting-for-input))..(defun
17ae0 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20 28 76 61 6c 75 65 20 .malyon-opcode-art-shift.(value.
17b00 70 6c 61 63 65 73 29 0a 20 20 22 41 72 69 74 68 6d 65 74 69 63 20 73 68 69 66 74 2e 22 0a 20 20 places)..."Arithmetic.shift."...
17b20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 (malyon-store-variable.(malyon-r
17b40 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 61 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65 73 ead-code-byte).(ash.value.places
17b60 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 )))..(defun.malyon-opcode-buffer
17b80 2d 6d 6f 64 65 20 28 6d 6f 64 65 29 0a 20 20 22 54 6f 67 67 6c 65 73 20 62 75 66 66 65 72 69 6e -mode.(mode)..."Toggles.bufferin
17ba0 67 20 6f 66 20 74 65 78 74 20 69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 69 6e 64 g.of.text.in.the.transcript.wind
17bc0 6f 77 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 ow."...(setq.malyon-transcript-b
17be0 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 20 28 2f 3d 20 30 20 6d 6f 64 65 29 29 29 0a 0a 28 64 uffer-buffered.(/=.0.mode)))..(d
17c00 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 20 28 72 6f 75 74 69 6e efun.malyon-opcode-calln.(routin
17c20 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e 74 73 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f 75 e.&rest.arguments)..."Call.a.rou
17c40 74 69 6e 65 20 61 6e 64 20 69 67 6e 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 tine.and.ignore.the.result."...(
17c60 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 74 69 6e 65 20 72 6f 75 74 69 6e 65 20 61 72 67 75 malyon-call-routine.routine.argu
17c80 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 ments))..(defun.malyon-opcode-ca
17ca0 6c 6c 73 20 28 72 6f 75 74 69 6e 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e 74 73 29 0a 20 20 lls.(routine.&rest.arguments)...
17cc0 22 43 61 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 72 65 "Call.a.routine.and.store.the.re
17ce0 73 75 6c 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 74 69 6e 65 20 72 6f sult."...(malyon-call-routine.ro
17d00 75 74 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 utine.arguments.(malyon-read-cod
17d20 65 2d 62 79 74 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d e-byte)))..(defun.malyon-opcode-
17d40 63 61 74 63 68 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 catch.()..."Return.the.current.s
17d60 74 61 63 6b 20 66 72 61 6d 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 tack.frame."...(malyon-store-var
17d80 69 61 62 6c 65 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 iable....(malyon-read-code-byte)
17da0 0a 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 ....(if.malyon-game-state-quetza
17dc0 6c 0a 20 20 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b l........(lsh.(aref.malyon-stack
17de0 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 2d 38 29 0a 20 20 20 20 20 .malyon-frame-pointer).-8)......
17e00 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 malyon-frame-pointer)))..(defun.
17e20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 28 63 malyon-opcode-check-arg-count.(c
17e40 6f 75 6e 74 29 0a 20 20 22 54 65 73 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 ount)..."Tests.the.number.of.arg
17e60 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 28 6d 61 uments.passed.to.routine."...(ma
17e80 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 20 28 3c 3d 20 63 6f 75 6e 74 20 28 6c 6f 67 61 6e lyon-jump-if....(<=.count.(logan
17ea0 64 20 32 35 35 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 d.255.(aref.malyon-stack........
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 ........................(if.maly
17ee0 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 20 20 20 20 on-game-state-quetzal...........
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 .........................(-.maly
17f20 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 on-frame-pointer.1).............
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d .....................malyon-fram
17f60 65 2d 70 6f 69 6e 74 65 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f e-pointer))))))..(defun.malyon-o
17f80 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43 68 pcode-check-unicode.(char)..."Ch
17fa0 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 67 69 76 65 6e 20 63 68 61 72 61 63 74 65 72 20 eck.whether.the.given.character.
17fc0 69 73 20 76 61 6c 69 64 20 66 6f 72 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 2e 22 0a 20 20 28 6d is.valid.for.input/output."...(m
17fe0 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 alyon-store-variable.(malyon-rea
18000 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d d-code-byte).0))..(defun.malyon-
18020 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 62 opcode-clear-attr.(object.attrib
18040 75 74 65 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 ute)..."Clear.the.given.attribut
18060 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 e.in.the.given.object."...(let.(
18080 28 61 74 74 72 69 62 75 74 65 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 (attributes.(malyon-object-addre
180a0 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 20 20 20 20 20 20 20 ss.object)).........(byte.......
180c0 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e (lsh.attribute.-3))).....(malyon
180e0 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 79 74 65 29 0a -store-byte.(+.attributes.byte).
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 28 .......................(logand.(
18120 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 malyon-read-byte.(+.attributes.b
18140 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 yte))...........................
18160 20 20 20 20 20 28 6c 6f 67 78 6f 72 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e 64 .....(logxor.(lsh.128.(-.(logand
18180 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .attribute.7))).................
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 35 35 29 29 29 29 29 0a .......................255))))).
181c0 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c 65 .(defun.malyon-opcode-copy-table
181e0 20 28 66 69 72 73 74 20 73 65 63 6f 6e 64 20 73 69 7a 65 29 0a 20 20 22 43 6f 70 69 65 73 20 66 .(first.second.size)..."Copies.f
18200 69 72 73 74 20 74 61 62 6c 65 20 6f 6e 74 6f 20 73 65 63 6f 6e 64 20 6f 6e 65 2e 22 0a 20 20 28 irst.table.onto.second.one."...(
18220 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20 28 61 62 73 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 let*.((length..(abs.(malyon-numb
18240 65 72 20 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 7a 65 72 6f 20 20 20 20 28 7a 65 er.size)))..........(zero....(ze
18260 72 6f 70 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 20 28 rop.second))..........(forward.(
18280 6f 72 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 73 69 7a 65 29 20 30 29 20 28 3e or.(<.(malyon-number.size).0).(>
182a0 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 20 20 20 20 .first.second)))..........(i....
182c0 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 61 20 20 20 20 20 20 20 28 69 66 20 66 6f 72 77 ...0)..........(a.......(if.forw
182e0 61 72 64 20 66 69 72 73 74 20 28 2b 20 66 69 72 73 74 20 6c 65 6e 67 74 68 20 2d 31 29 29 29 0a ard.first.(+.first.length.-1))).
18300 20 20 20 20 20 20 20 20 20 28 62 20 20 20 20 20 20 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 69 .........(b.......(if.forward.(i
18320 66 20 7a 65 72 6f 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 20 28 2b 20 73 65 63 6f 6e 64 20 6c f.zero.first.second).(+.second.l
18340 65 6e 67 74 68 20 2d 31 29 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e ength.-1)))).....(while.(<.i.len
18360 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 62 20 gth).......(malyon-store-byte.b.
18380 28 69 66 20 7a 65 72 6f 20 30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 29 29 (if.zero.0.(malyon-read-byte.a))
183a0 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 31 29 0a 20 20 20 20 20 20 20 20 ).......(setq.i.(+.i.1).........
183c0 20 20 20 20 61 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b 20 61 20 31 29 20 28 2d 20 61 20 31 ....a.(if.forward.(+.a.1).(-.a.1
183e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b 20 )).............b.(if.forward.(+.
18400 62 20 31 29 20 28 2d 20 62 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e b.1).(-.b.1))))))..(defun.malyon
18420 2d 6f 70 63 6f 64 65 2d 64 65 63 20 28 76 61 72 29 0a 20 20 22 44 65 63 72 65 6d 65 6e 74 20 76 -opcode-dec.(var)..."Decrement.v
18440 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 ariable."...(malyon-store-variab
18460 6c 65 20 76 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le.var..........................
18480 28 2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 (-.(malyon-number.(malyon-read-v
184a0 61 72 69 61 62 6c 65 20 76 61 72 29 29 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f ariable.var)).1)))..(defun.malyo
184c0 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 65 73 n-opcode-dec-chk.(variable.thres
184e0 68 6f 6c 64 29 0a 20 20 22 44 65 63 72 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 hold)..."Decrement.variable.and.
18500 6a 75 6d 70 20 69 66 20 69 74 27 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e jump.if.it's.less.than.the.given
18520 20 76 61 6c 75 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 6d 61 6c 79 6f 6e 2d .value."...(let.((value.(malyon-
18540 6e 75 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61 72 number.(malyon-read-variable.var
18560 69 61 62 6c 65 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 iable)))).....(malyon-store-vari
18580 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28 2d 20 76 61 6c 75 65 20 31 29 29 0a 20 20 20 20 28 able.variable.(-.value.1)).....(
185a0 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3c 20 28 2d 20 76 61 6c 75 65 20 31 29 20 28 6d malyon-jump-if.(<.(-.value.1).(m
185c0 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 74 68 72 65 73 68 6f 6c 64 29 29 29 29 29 0a 0a 28 64 65 alyon-number.threshold)))))..(de
185e0 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 28 61 20 62 29 0a 20 20 22 44 fun.malyon-opcode-div.(a.b)..."D
18600 69 76 69 73 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 29 20 28 6d 61 6c 79 6f ivision."...(if.(zerop.b).(malyo
18620 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 64 69 76 69 73 69 6f 6e 20 62 79 20 30 2e 22 29 29 n-fatal-error."division.by.0."))
18640 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f ...(malyon-store-variable.(malyo
18660 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-read-code-byte)...............
18680 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 ...........(/.(malyon-number.a).
186a0 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c (malyon-number.b))))..(defun.mal
186c0 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 6e 63 6f 64 65 2d 74 65 78 74 20 28 74 65 78 74 20 6c 65 6e yon-opcode-encode-text.(text.len
186e0 67 74 68 20 66 72 6f 6d 20 65 6e 63 6f 64 65 64 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65 20 gth.from.encoded)..."Encode.the.
18700 7a 73 63 69 69 20 74 65 78 74 20 73 74 61 72 74 69 6e 67 20 61 74 20 66 72 6f 6d 20 77 69 74 68 zscii.text.starting.at.from.with
18720 20 74 68 65 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 .the.given.length..The.result.is
18740 20 73 74 6f 72 65 64 20 61 74 20 65 6e 63 6f 64 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 .stored.at.encoded."...(let*.((i
18760 20 20 20 20 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 28 6a 20 20 20 20 20 65 6e 63 .....length)..........(j.....enc
18780 6f 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 28 6c 20 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 oded)..........(l.....'())......
187a0 20 20 20 20 28 77 6f 72 64 20 20 27 28 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30 ....(word..'())).....(while.(<.0
187c0 20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d .i).......(setq.l.(cons.(malyon-
187e0 72 65 61 64 2d 62 79 74 65 20 28 2b 20 74 65 78 74 20 66 72 6f 6d 20 69 20 2d 31 29 29 20 6c 29 read-byte.(+.text.from.i.-1)).l)
18800 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 28 2d 20 69 20 31 29 29 29 0a 20 20 20 20 28 73 65 .............i.(-.i.1))).....(se
18820 74 71 20 77 6f 72 64 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 tq.word.(malyon-encode-dictionar
18840 79 2d 77 6f 72 64 0a 09 09 28 61 70 70 65 6e 64 20 28 63 6c 2d 6d 61 70 63 61 6e 20 27 6d 61 6c y-word...(append.(cl-mapcan.'mal
18860 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 6c 29 0a 09 09 09 27 28 35 20 yon-encode-into-ztext.l)....'(5.
18880 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 5.5.5.5.5.5.5)))).....(while.(<.
188a0 69 20 36 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 6a 20 i.6).......(malyon-store-byte.j.
188c0 28 63 61 72 20 6c 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 (car.l)).......(setq.i.(+.1.i)..
188e0 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 ...........j.(+.1.j)............
18900 20 6c 20 28 63 64 72 20 77 6f 72 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e .l.(cdr.word)))))..(defun.malyon
18920 2d 6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 20 28 76 61 6c 75 65 29 0a 20 20 22 45 72 -opcode-erase-line.(value)..."Er
18940 61 73 65 73 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 22 0a 20 20 28 69 ases.the.rest.of.the.line."...(i
18960 66 20 28 3d 20 76 61 6c 75 65 20 31 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 f.(=.value.1).......(if.(eq.maly
18980 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 on-transcript-buffer.(current-bu
189a0 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6c 69 6e 65 20 6e 69 6c 29 ffer))...........(kill-line.nil)
189c0 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 .........(save-excursion........
189e0 20 20 20 28 6c 65 74 20 28 28 69 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 ...(let.((i.(current-column)))..
18a00 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 69 20 6d 61 6c 79 6f 6e 2d 6d ...........(while.(<=.i.malyon-m
18a20 61 78 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 ax-column)...............(insert
18a40 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 .?.)...............(delete-char.
18a60 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 1)...............(setq.i.(+.1.i)
18a80 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 72 )))))))..(defun.malyon-opcode-er
18aa0 61 73 65 2d 77 69 6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20 22 45 72 61 73 65 20 74 68 65 ase-window.(window)..."Erase.the
18ac0 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e 22 0a .contents.of.the.given.window.".
18ae0 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 77 20 28 ..(save-excursion.....(let.((w.(
18b00 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 77 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 28 69 malyon-number.window))).......(i
18b20 66 20 28 6f 72 20 28 3d 20 77 20 30 29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d 32 29 29 f.(or.(=.w.0).(=.w.-1).(=.w.-2))
18b40 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 ...........(malyon-erase-buffer.
18b60 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 malyon-transcript-buffer))......
18b80 20 28 69 66 20 28 6f 72 20 28 3d 20 77 20 31 29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d .(if.(or.(=.w.1).(=.w.-1).(=.w.-
18ba0 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 2))...........(malyon-erase-buff
18bc0 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 er.malyon-status-buffer)).......
18be0 28 69 66 20 28 3d 20 77 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 (if.(=.w.-1)...........(malyon-s
18c00 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 30 29 29 29 0a 20 20 20 20 28 73 65 plit-buffer-windows.0))).....(se
18c20 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 tq.malyon-last-cursor-position-a
18c40 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 fter-input...........(malyon-poi
18c60 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 nt-max.malyon-transcript-buffer)
18c80 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 68 )))..(defun.malyon-opcode-get-ch
18ca0 69 6c 64 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 66 69 72 73 74 20 63 68 ild.(object)..."Get.the.first.ch
18cc0 69 6c 64 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a 65 63 74 20 61 6e 64 20 6a 75 6d 70 ild.of.the.given.object.and.jump
18ce0 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 ."...(let.((child.(malyon-object
18d00 2d 72 65 61 64 2d 63 68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 -read-child.(malyon-object-addre
18d20 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d ss.object)))).....(malyon-store-
18d40 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 variable.(malyon-read-code-byte)
18d60 20 63 68 69 6c 64 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 2f 3d 20 .child).....(malyon-jump-if.(/=.
18d80 30 20 63 68 69 6c 64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 0.child))))..(defun.malyon-opcod
18da0 65 2d 67 65 74 2d 63 75 72 73 6f 72 20 28 61 72 72 61 79 29 0a 20 20 22 52 65 74 72 69 65 76 65 e-get-cursor.(array)..."Retrieve
18dc0 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 22 0a s.the.current.cursor.position.".
18de0 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 ..(with-current-buffer.malyon-st
18e00 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f atus-buffer.....(malyon-store-wo
18e20 72 64 20 61 72 72 61 79 20 28 2d 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 2d rd.array.(-.(count-lines.(point-
18e40 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 min).(point)).1)).....(malyon-st
18e60 6f 72 65 2d 77 6f 72 64 20 28 2b 20 32 20 61 72 72 61 79 29 20 28 2b 20 31 20 28 63 75 72 72 65 ore-word.(+.2.array).(+.1.(curre
18e80 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 nt-column)))))..(defun.malyon-op
18ea0 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 code-get-next-prop.(object.prope
18ec0 72 74 79 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 74 68 65 20 66 69 72 73 74 20 6f 72 20 6e 65 rty)..."Retrieve.the.first.or.ne
18ee0 78 74 20 70 72 6f 70 65 72 74 79 20 69 64 20 6f 66 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 xt.property.id.of.object."...(le
18f00 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 t.((next.(malyon-first-property.
18f20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20 20 object)).........(number.0))....
18f40 20 28 69 66 20 28 7a 65 72 6f 70 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 27 28 .(if.(zerop.property).........'(
18f60 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 ).......(setq.number.(logand.(ma
18f80 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 lyon-read-byte.next)............
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 ................malyon-object-pr
18fc0 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c operties)).......(setq.next.(mal
18fe0 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 yon-next-property.next)).......(
19000 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 while.(>.number.property).......
19020 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 ..(setq.number.(logand.(malyon-r
19040 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ead-byte.next)..................
19060 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 ............malyon-object-proper
19080 74 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 6f ties)).........(setq.next.(malyo
190a0 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 28 69 n-next-property.next))).......(i
190c0 66 20 28 2f 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 20 f.(/=.number.property)..........
190e0 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 79 20 64 .(malyon-fatal-error."property.d
19100 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 75 6d oes.not.exist."))).....(setq.num
19120 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 ber.(logand.(malyon-read-byte.ne
19140 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 xt).malyon-object-properties))..
19160 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f ...(malyon-store-variable.(malyo
19180 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 6e 75 6d 62 65 72 29 29 29 0a 0a 28 64 65 n-read-code-byte).number)))..(de
191a0 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 28 6f 62 fun.malyon-opcode-get-parent.(ob
191c0 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 67 ject)..."Get.the.parent.of.the.g
191e0 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 iven.object."...(malyon-store-va
19200 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 riable.(malyon-read-code-byte)..
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d ........................(malyon-
19240 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 object-read-parent..............
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 .............(malyon-object-addr
19280 65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 ess.object))))..(defun.malyon-op
192a0 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 0a code-get-prop.(object.property).
192c0 20 20 22 47 65 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 .."Get.the.value.of.the.object's
192e0 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6d .property."...(let*.((address.(m
19300 61 6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63 74 20 70 72 6f 70 65 alyon-find-property.object.prope
19320 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 28 6d 61 6c 79 6f 6e 2d rty))..........(size....(malyon-
19340 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e read-byte.address))).....(malyon
19360 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 -store-variable......(malyon-rea
19380 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 28 63 6f 6e 64 20 28 28 7a 65 72 6f 70 20 d-code-byte)......(cond.((zerop.
193a0 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 address).............(malyon-rea
193c0 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28 2a d-word.(+.malyon-object-table.(*
193e0 20 32 20 28 2d 20 70 72 6f 70 65 72 74 79 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .2.(-.property.1)))))...........
19400 20 28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 .((and.(<..malyon-story-version.
19420 35 29 20 28 7a 65 72 6f 70 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 5).(zerop.(lsh.size.-5))).......
19440 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72 65 ......(malyon-read-byte.(+.addre
19460 73 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61 6c ss.1)))............((and.(>=.mal
19480 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f 67 yon-story-version.5).(zerop.(log
194a0 61 6e 64 20 31 39 32 20 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c and.192.size))).............(mal
194c0 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72 65 73 73 20 31 29 29 29 0a 20 20 yon-read-byte.(+.address.1)))...
194e0 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d .........(t.............(malyon-
19500 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 61 64 64 72 65 73 73 20 31 29 29 29 29 29 29 29 0a 0a 28 read-word.(+.address.1)))))))..(
19520 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 defun.malyon-opcode-get-prop-add
19540 72 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 r.(object.property)..."Get.the.a
19560 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 2e ddress.of.the.object's.property.
19580 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 66 69 6e 64 "...(let*.((address.(malyon-find
195a0 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 -property.object.property)).....
195c0 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 .....(size....(malyon-read-byte.
195e0 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 28 69 66 20 address))..........(offset..(if.
19600 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 (<.malyon-story-version.5)......
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................1..............
19640 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 73 69 .......(if.(zerop.(logand.128.si
19660 7a 65 29 29 20 31 20 32 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 ze)).1.2)))).....(malyon-store-v
19680 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a ariable.(malyon-read-code-byte).
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 ...........................(if.(
196c0 7a 65 72 6f 70 20 61 64 64 72 65 73 73 29 20 30 20 28 2b 20 61 64 64 72 65 73 73 20 6f 66 66 73 zerop.address).0.(+.address.offs
196e0 65 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 et)))))..(defun.malyon-opcode-ge
19700 74 2d 70 72 6f 70 2d 6c 65 6e 20 28 70 72 6f 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 t-prop-len.(property)..."Get.the
19720 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 .length.of.the.object's.property
19740 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 ."...(let.((size.(malyon-read-by
19760 74 65 20 28 2d 20 70 72 6f 70 65 72 74 79 20 31 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e te.(-.property.1)))).....(malyon
19780 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 -store-variable......(malyon-rea
197a0 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c 79 d-code-byte)......(cond.((<.maly
197c0 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 28 2b 20 31 20 28 6c 73 68 20 73 69 on-story-version.5).(+.1.(lsh.si
197e0 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 ze.-5)))............((zerop.(log
19800 61 6e 64 20 31 32 38 20 73 69 7a 65 29 29 20 20 28 2b 20 31 20 28 6c 73 68 20 73 69 7a 65 20 2d and.128.size))..(+.1.(lsh.size.-
19820 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 6)))............((zerop.(logand.
19840 20 36 33 20 73 69 7a 65 29 29 20 20 36 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 .63.size))..64)............(t...
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 36 .......................(logand.6
19880 33 20 73 69 7a 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 3.size))))))..(defun.malyon-opco
198a0 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 de-get-sibling.(object)..."Get.t
198c0 68 65 20 6e 65 78 74 20 6f 62 6a 65 63 74 20 69 6e 20 74 68 65 20 74 72 65 65 20 61 6e 64 20 6a he.next.object.in.the.tree.and.j
198e0 75 6d 70 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f ump."...(let.((sibling.(malyon-o
19900 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 bject-read-sibling.(malyon-objec
19920 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e t-address.object)))).....(malyon
19940 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 -store-variable.(malyon-read-cod
19960 65 2d 62 79 74 65 29 20 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d e-byte).sibling).....(malyon-jum
19980 70 2d 69 66 20 28 2f 3d 20 30 20 73 69 62 6c 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d p-if.(/=.0.sibling))))..(defun.m
199a0 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 28 26 72 65 73 74 20 69 67 6e 6f alyon-opcode-illegal.(&rest.igno
199c0 72 65 29 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e re)..."Print.an.error.message.an
199e0 64 20 65 78 69 74 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 d.exit.the.interpreter."...(maly
19a00 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c 20 6f 70 63 6f 64 65 2e 22 on-fatal-error."illegal.opcode."
19a20 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 28 76 61 ))..(defun.malyon-opcode-inc.(va
19a40 72 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 r)..."Increment.variable."...(ma
19a60 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 0a 20 20 20 20 20 20 20 20 lyon-store-variable.var.........
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 .................(+.(malyon-numb
19aa0 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61 72 29 29 20 31 er.(malyon-read-variable.var)).1
19ac0 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 )))..(defun.malyon-opcode-inc-ch
19ae0 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 65 73 68 6f 6c 64 29 0a 20 20 22 49 6e 63 72 65 6d k.(variable.threshold)..."Increm
19b00 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 6a 75 6d 70 20 69 66 20 69 74 27 73 20 67 72 ent.variable.and.jump.if.it's.gr
19b20 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 eater.than.the.given.value."...(
19b40 6c 65 74 20 28 28 76 61 6c 75 65 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 28 6d 61 6c 79 let.((value.(malyon-number.(maly
19b60 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 29 29 29 29 0a 20 20 on-read-variable.variable))))...
19b80 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c ..(malyon-store-variable.variabl
19ba0 65 20 28 2b 20 76 61 6c 75 65 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d e.(+.value.1)).....(malyon-jump-
19bc0 69 66 20 28 3e 20 28 2b 20 76 61 6c 75 65 20 31 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 if.(>.(+.value.1).(malyon-number
19be0 20 74 68 72 65 73 68 6f 6c 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f .threshold)))))..(defun.malyon-o
19c00 70 63 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d 20 28 6e 75 6d 62 65 72 29 0a 20 20 22 53 pcode-input-stream.(number)..."S
19c20 65 6c 65 63 74 20 74 68 65 20 67 69 76 65 6e 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 20 4f 6e elect.the.given.input.stream..On
19c40 6c 79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 73 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 20 ly.the.keyboard.is.supported."..
19c60 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 75 6d 62 65 .(if.(zerop.(malyon-number.numbe
19c80 72 29 29 0a 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4f 6e 6c 79 r)).......'().....(message."Only
19ca0 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 61 6e .the.keyboard.is.supported.as.an
19cc0 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f .input.stream.")))..(defun.malyo
19ce0 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 20 64 65 73 74 n-opcode-insert-obj.(object.dest
19d00 69 6e 61 74 69 6f 6e 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e 74 ination)..."Insert.an.object.int
19d20 6f 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 74 20 6f 66 20 61 6e 6f 74 68 65 72 2e 22 o.the.children.list.of.another."
19d40 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d ...(let.((child..(malyon-object-
19d60 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 address.object)).........(parent
19d80 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 64 65 73 74 69 6e 61 74 .(malyon-object-address.destinat
19da0 69 6f 6e 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 ion))).....(malyon-remove-object
19dc0 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 .object).....(malyon-object-stor
19de0 65 2d 70 61 72 65 6e 74 20 20 63 68 69 6c 64 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 0a 20 20 20 e-parent..child.destination)....
19e00 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 63 68 .(malyon-object-store-sibling.ch
19e20 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70 61 ild.(malyon-object-read-child.pa
19e40 72 65 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d rent)).....(malyon-object-store-
19e60 63 68 69 6c 64 20 20 20 70 61 72 65 6e 74 20 6f 62 6a 65 63 74 29 29 29 0a 0a 28 64 65 66 75 6e child...parent.object)))..(defun
19e80 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 28 61 20 26 72 65 73 74 20 72 65 73 74 29 .malyon-opcode-je.(a.&rest.rest)
19ea0 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e 64 20 65 71 75 61 6c 73 ..."Jump.if.first.operand.equals
19ec0 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79 6f .any.of.the.following."...(malyo
19ee0 6e 2d 6a 75 6d 70 2d 69 66 20 28 6d 65 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 n-jump-if.(member.(malyon-number
19f00 20 61 29 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 72 65 73 74 29 .a).(mapcar.'malyon-number.rest)
19f20 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 28 61 20 )))..(defun.malyon-opcode-jg.(a.
19f40 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e 64 20 3e 20 73 65 b)..."Jump.if.first.operand.>.se
19f60 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 cond.operand."...(malyon-jump-if
19f80 20 28 3e 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 .(>.(malyon-number.a).(malyon-nu
19fa0 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 mber.b))))..(defun.malyon-opcode
19fc0 2d 6a 69 6e 20 28 63 68 69 6c 64 20 70 61 72 65 6e 74 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 73 -jin.(child.parent)..."Jump.if.s
19fe0 65 63 6f 6e 64 20 6f 62 6a 65 63 74 20 69 73 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 66 69 econd.object.is.parent.of.the.fi
1a000 72 73 74 20 6f 6e 65 2e 22 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 rst.one.".....(malyon-jump-if...
1a020 20 20 20 28 3d 20 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 ...(=.parent.(malyon-object-read
1a040 2d 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 63 -parent.(malyon-object-address.c
1a060 68 69 6c 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d hild)))))..(defun.malyon-opcode-
1a080 6a 6c 20 28 61 20 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e jl.(a.b)..."Jump.if.first.operan
1a0a0 64 20 3c 20 73 65 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a d.<.second.operand."...(malyon-j
1a0c0 75 6d 70 2d 69 66 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c ump-if.(<.(malyon-number.a).(mal
1a0e0 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d yon-number.b))))..(defun.malyon-
1a100 6f 70 63 6f 64 65 2d 6a 75 6d 70 20 28 6f 66 66 73 65 74 29 0a 20 20 22 4a 75 6d 70 20 75 6e 63 opcode-jump.(offset)..."Jump.unc
1a120 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e onditionally."...(setq.malyon-in
1a140 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 struction-pointer.(+.malyon-inst
1a160 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ruction-pointer.................
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6e 75 ......................(malyon-nu
1a1a0 6d 62 65 72 20 6f 66 66 73 65 74 29 20 2d 32 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f mber.offset).-2)))..(defun.malyo
1a1c0 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 20 28 61 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 6f 70 65 72 61 n-opcode-jz.(a)..."Jump.if.opera
1a1e0 6e 64 20 3d 20 30 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 7a 65 72 6f nd.=.0."...(malyon-jump-if.(zero
1a200 70 20 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 p.a)))..(defun.malyon-opcode-loa
1a220 64 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 22 4c 6f 61 64 20 61 20 76 61 72 69 61 62 6c 65 2e d.(variable)..."Load.a.variable.
1a240 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 "...(malyon-store-variable.(maly
1a260 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 on-read-code-byte)..............
1a280 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c ............(malyon-read-variabl
1a2a0 65 20 76 61 72 69 61 62 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 e.variable)))..(defun.malyon-opc
1a2c0 6f 64 65 2d 6c 6f 61 64 62 20 28 61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22 4c 6f 61 64 20 ode-loadb.(array.index)..."Load.
1a2e0 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72 69 61 62 6c 65 an.array.element.into.a.variable
1a300 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c ."...(malyon-store-variable.(mal
1a320 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 yon-read-code-byte).............
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 .............(malyon-read-byte.(
1a360 2b 20 61 72 72 61 79 20 69 6e 64 65 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e +.array.index))))..(defun.malyon
1a380 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 28 61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22 4c -opcode-loadw.(array.index)..."L
1a3a0 6f 61 64 20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72 69 oad.an.array.element.into.a.vari
1a3c0 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 able."...(malyon-store-variable.
1a3e0 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 (malyon-read-code-byte).........
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f .................(malyon-read-wo
1a420 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20 32 20 69 6e 64 65 78 29 29 29 29 29 0a 0a 28 64 65 rd.(+.array.(*.2.index)))))..(de
1a440 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73 68 69 66 74 20 28 76 61 6c fun.malyon-opcode-log-shift.(val
1a460 75 65 20 70 6c 61 63 65 73 29 0a 20 20 22 4c 6f 67 69 63 61 6c 20 73 68 69 66 74 2e 22 0a 20 20 ue.places)..."Logical.shift."...
1a480 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 (malyon-store-variable.(malyon-r
1a4a0 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65 73 ead-code-byte).(lsh.value.places
1a4c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 20 28 61 )))..(defun.malyon-opcode-mod.(a
1a4e0 20 62 29 0a 20 20 22 4d 6f 64 75 6c 6f 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d .b)..."Modulo."...(malyon-store-
1a500 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 variable.(malyon-read-code-byte)
1a520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 20 28 ..........................(mod.(
1a540 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 malyon-number.a).(malyon-number.
1a560 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 20 b))))..(defun.malyon-opcode-mul.
1a580 28 61 20 62 29 0a 20 20 22 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c (a.b)..."Multiplication."...(mal
1a5a0 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d yon-store-variable.(malyon-read-
1a5c0 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 code-byte)......................
1a5e0 20 20 20 20 28 2a 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e ....(*.(malyon-number.a).(malyon
1a600 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 -number.b))))..(defun.malyon-opc
1a620 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 ode-new-line.()..."Print.a.newli
1a640 6e 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 28 64 65 66 75 6e ne."...(malyon-newline))..(defun
1a660 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 28 26 72 65 73 74 20 69 67 6e 6f 72 65 .malyon-opcode-nop.(&rest.ignore
1a680 29 0a 20 20 22 44 6f 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f )..."Do.nothing.")..(defun.malyo
1a6a0 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 20 28 61 29 0a 20 20 22 42 69 74 77 69 73 65 20 6e 6f 74 2e n-opcode-not.(a)..."Bitwise.not.
1a6c0 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 "...(malyon-store-variable.(maly
1a6e0 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 on-read-code-byte).(logand.65535
1a700 20 28 6c 6f 67 6e 6f 74 20 61 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 .(lognot.a))))..(defun.malyon-op
1a720 63 6f 64 65 2d 6f 72 20 28 61 20 62 29 0a 20 20 22 42 69 74 77 69 73 65 20 6f 72 2e 22 0a 20 20 code-or.(a.b)..."Bitwise.or."...
1a740 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 (malyon-store-variable.(malyon-r
1a760 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 6f 67 69 6f 72 20 61 20 62 29 29 29 0a 0a 28 ead-code-byte).(logior.a.b)))..(
1a780 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 defun.malyon-opcode-output-strea
1a7a0 6d 20 28 73 74 72 65 61 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 29 0a 20 20 22 53 65 m.(stream.&optional.table)..."Se
1a7c0 6c 65 63 74 20 61 6e 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 6c 65 74 20 28 lect.an.output.stream."...(let.(
1a7e0 28 73 74 72 65 61 6d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 73 74 72 65 61 6d 29 29 29 (stream.(malyon-number.stream)))
1a800 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f 6e .....(cond.((<.0.stream).(malyon
1a820 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 73 74 72 65 61 6d 20 74 61 62 6c 65 29 -add-output-stream.stream.table)
1a840 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e 20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f )...........((>.0.stream).(malyo
1a860 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 28 2d 20 73 74 72 65 61 6d n-remove-output-stream.(-.stream
1a880 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69 72 ))))))..(defun.malyon-opcode-pir
1a8a0 61 63 79 20 28 29 0a 20 20 22 50 69 72 61 63 79 20 63 68 65 63 6b 2c 20 65 66 66 65 63 74 69 76 acy.()..."Piracy.check,.effectiv
1a8c0 65 6c 79 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 6a 75 6d 70 2e 22 0a 20 20 28 6d ely.an.unconditional.jump."...(m
1a8e0 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e alyon-jump-if.1))..(defun.malyon
1a900 2d 6f 70 63 6f 64 65 2d 70 6f 70 20 28 29 0a 20 20 22 50 6f 70 20 61 20 76 61 6c 75 65 20 6f 66 -opcode-pop.()..."Pop.a.value.of
1a920 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 f.the.stack."...(malyon-pop-stac
1a940 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 20 k))..(defun.malyon-opcode-print.
1a960 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 73 65 74 71 20 6d ()..."Print.a.string."...(setq.m
1a980 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 alyon-instruction-pointer.......
1a9a0 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 ..(malyon-print-text.malyon-inst
1a9c0 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f ruction-pointer)))..(defun.malyo
1a9e0 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 61 64 64 72 20 28 61 64 64 72 65 73 73 29 0a 20 20 n-opcode-print-addr.(address)...
1aa00 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e "Print.a.string."...(malyon-prin
1aa20 74 2d 74 65 78 74 20 61 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d t-text.address))..(defun.malyon-
1aa40 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 68 61 72 20 28 63 29 0a 20 20 22 50 72 69 6e 74 20 61 opcode-print-char.(c)..."Print.a
1aa60 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63 68 .character."...(malyon-print.(ch
1aa80 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e ar-to-string.c)))..(defun.malyon
1aaa0 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6e 75 6d 20 28 6e 29 0a 20 20 22 50 72 69 6e 74 20 61 -opcode-print-num.(n)..."Print.a
1aac0 20 6e 75 6d 62 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6e 75 6d 62 65 .number."...(malyon-print.(numbe
1aae0 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 29 29 29 29 r-to-string.(malyon-number.n))))
1ab00 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62 6a ..(defun.malyon-opcode-print-obj
1ab20 20 28 6f 62 6a 29 0a 20 20 22 50 72 69 6e 74 20 74 68 65 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f .(obj)..."Print.the.short.name.o
1ab40 66 20 74 68 65 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 f.the.object."...(malyon-print-t
1ab60 65 78 74 0a 20 20 20 28 2b 20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b ext....(+.1.(malyon-read-word.(+
1ab80 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 .malyon-object-property-offset..
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c ............................(mal
1abc0 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 29 29 29 29 29 29 0a 0a 28 64 yon-object-address.obj))))))..(d
1abe0 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 28 efun.malyon-opcode-print-paddr.(
1ac00 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 address)..."Print.a.string."...(
1ac20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b malyon-print-text.(*.malyon-pack
1ac40 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 61 64 64 72 65 73 73 29 29 29 0a 0a 28 64 65 66 75 6e ed-multiplier.address)))..(defun
1ac60 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 72 65 74 20 28 29 0a 20 20 22 50 .malyon-opcode-print-ret.()..."P
1ac80 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2c 20 70 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2c 20 rint.a.string,.print.a.newline,.
1aca0 72 65 74 75 72 6e 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 return.true/1."...(setq.malyon-i
1acc0 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 nstruction-pointer.........(maly
1ace0 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e on-print-text.malyon-instruction
1ad00 2d 70 6f 69 6e 74 65 72 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 -pointer))...(malyon-newline)...
1ad20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f (malyon-return.1))..(defun.malyo
1ad40 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 74 61 62 6c 65 20 28 74 65 78 74 20 77 69 64 74 68 n-opcode-print-table.(text.width
1ad60 20 26 6f 70 74 69 6f 6e 61 6c 20 68 65 69 67 68 74 20 73 6b 69 70 29 0a 20 20 22 50 72 69 6e 74 .&optional.height.skip)..."Print
1ad80 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c 65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 68 65 .the.given.table."...(if.(not.he
1ada0 69 67 68 74 29 20 28 73 65 74 71 20 68 65 69 67 68 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 6f ight).(setq.height.1))...(if.(no
1adc0 74 20 73 6b 69 70 29 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 30 29 29 0a 20 20 28 6c 65 74 20 t.skip)...(setq.skip.0))...(let.
1ade0 28 28 63 6f 6c 75 6d 6e 20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 ((column..(current-column)).....
1ae00 20 20 20 20 28 61 64 64 72 65 73 73 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 28 79 20 20 20 ....(address.text).........(y...
1ae20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 78 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 ....0).........(x.......0)).....
1ae40 28 77 68 69 6c 65 20 28 3c 20 79 20 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a (while.(<.y.height).......(if.(z
1ae60 65 72 6f 70 20 79 29 0a 20 20 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28 6d erop.y)...........'().........(m
1ae80 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 alyon-newline).........(malyon-p
1aea0 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 63 6f 6c rint-characters.(make-string.col
1aec0 75 6d 6e 20 3f 20 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 78 20 30 29 0a 20 20 20 20 20 umn.?.))).......(setq.x.0)......
1aee0 20 28 77 68 69 6c 65 20 28 3c 20 78 20 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c .(while.(<.x.width).........(mal
1af00 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 yon-output-character.(malyon-rea
1af20 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 d-byte.address)).........(setq.a
1af40 64 64 72 65 73 73 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 ddress.(+.1.address)).........(s
1af60 65 74 71 20 78 20 28 2b 20 31 20 78 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 etq.x.(+.1.x))).......(setq.addr
1af80 65 73 73 20 28 2b 20 73 6b 69 70 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 ess.(+.skip.address)).......(set
1afa0 71 20 79 20 28 2b 20 31 20 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f q.y.(+.1.y)))))..(defun.malyon-o
1afc0 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e 69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 50 72 pcode-print-unicode.(char)..."Pr
1afe0 69 6e 74 73 20 61 20 75 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 2e 22 29 0a 0a 28 64 65 ints.a.unicode.character.")..(de
1b000 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 6c 6c 20 28 76 61 72 69 61 62 6c 65 fun.malyon-opcode-pull.(variable
1b020 29 0a 20 20 22 50 75 6c 6c 20 76 61 6c 75 65 20 6f 66 66 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d )..."Pull.value.off.stack."...(m
1b040 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28 6d alyon-store-variable.variable.(m
1b060 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f alyon-pop-stack)))..(defun.malyo
1b080 6e 2d 6f 70 63 6f 64 65 2d 70 75 73 68 20 28 76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 76 61 n-opcode-push.(value)..."Push.va
1b0a0 6c 75 65 20 6f 6e 74 6f 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d lue.onto.stack."...(malyon-push-
1b0c0 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 stack.value))..(defun.malyon-opc
1b0e0 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 20 76 61 ode-put-prop.(object.property.va
1b100 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 lue)..."Set.the.object's.propert
1b120 79 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 y.to.the.given.value."...(let*.(
1b140 28 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20 6f (address.(malyon-find-property.o
1b160 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 bject.property))..........(size.
1b180 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29 0a ...(malyon-read-byte.address))).
1b1a0 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 20 20 20 ....(cond.((=.address.0)........
1b1c0 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 ....(malyon-fatal-error."propert
1b1e0 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 y.does.not.exist."))...........(
1b200 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 (and.(<..malyon-story-version.5)
1b220 20 28 7a 65 72 6f 70 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20 20 .(zerop.(lsh.size.-5))).........
1b240 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 ...(malyon-store-byte.(+.1.addre
1b260 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 ss).(logand.255.value)))........
1b280 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f ...((and.(>=.malyon-story-versio
1b2a0 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 73 69 7a 65 20 31 39 32 29 29 29 0a n.5).(zerop.(logand.size.192))).
1b2c0 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b ...........(malyon-store-byte.(+
1b2e0 20 31 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 .1.address).(logand.255.value)))
1b300 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e ...........(t............(malyon
1b320 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 -store-word.(+.1.address).value)
1b340 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 20 ))))..(defun.malyon-opcode-quit.
1b360 28 29 0a 20 20 22 45 6e 64 20 74 68 65 20 67 61 6d 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 22 ()..."End.the.game.immediately."
1b380 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 ...(malyon-adjust-transcript)...
1b3a0 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f (malyon-cleanup)...(throw.'malyo
1b3c0 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79 6f n-end-of-interpreter-loop.'malyo
1b3e0 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f n-opcode-quit))..(defun.malyon-o
1b400 70 63 6f 64 65 2d 72 61 6e 64 6f 6d 20 28 6c 69 6d 69 74 29 0a 20 20 22 47 65 6e 65 72 61 74 65 pcode-random.(limit)..."Generate
1b420 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 6f 72 20 73 65 74 20 74 68 65 20 73 65 65 64 .a.random.number.or.set.the.seed
1b440 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c .value."...(malyon-store-variabl
1b460 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 e.(malyon-read-code-byte).......
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 30 20 28 6d 61 ...................(if.(>=.0.(ma
1b4a0 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 lyon-number.limit)).............
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................0..............
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 31 20 28 72 61 6e 64 6f 6d 20 28 6d 61 6c 79 ..............(+.1.(random.(maly
1b500 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 on-number.limit))))))..(defun.ma
1b520 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 61 64 2d 63 68 61 72 20 28 26 6f 70 74 69 6f 6e 61 6c lyon-opcode-read-char.(&optional
1b540 20 64 65 76 69 63 65 20 26 72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 52 65 61 64 20 61 20 .device.&rest.ignore)..."Read.a.
1b560 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 64 65 76 69 63 65 20 28 2f character."...(if.(and.device.(/
1b580 3d 20 31 20 64 65 76 69 63 65 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c =.1.device)).......(malyon-fatal
1b5a0 2d 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c 20 64 65 76 69 63 65 20 73 70 65 63 69 66 69 65 64 -error."illegal.device.specified
1b5c0 20 69 6e 20 72 65 61 64 5f 63 68 61 72 2e 22 29 29 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 .in.read_char."))...(if.(eq.maly
1b5e0 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 on-transcript-buffer.(current-bu
1b600 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d ffer)).......(goto-char.(point-m
1b620 61 78 29 29 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b 50 72 65 73 73 20 61 20 6b 65 79 2e 5d ax)))...(message."[Press.a.key.]
1b640 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d ")...(malyon-more.malyon-keymap-
1b660 72 65 61 64 63 68 61 72 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f readchar)...(throw.'malyon-end-o
1b680 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 69 f-interpreter-loop.'malyon-waiti
1b6a0 6e 67 2d 66 6f 72 2d 63 68 61 72 61 63 74 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f ng-for-character))..(defun.malyo
1b6c0 6e 2d 6f 70 63 6f 64 65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 n-opcode-remove-obj.(object)..."
1b6e0 52 65 6d 6f 76 65 20 61 6e 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 69 74 73 20 70 61 72 65 6e 74 Remove.an.object.from.its.parent
1b700 27 73 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 's.children.list."...(malyon-rem
1b720 6f 76 65 2d 6f 62 6a 65 63 74 20 6f 62 6a 65 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 ove-object.object))..(defun.maly
1b740 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 28 29 0a 20 20 22 52 65 73 74 61 72 74 20 on-opcode-restart.()..."Restart.
1b760 74 68 65 20 67 61 6d 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 67 61 6d 65 2d 73 74 the.game."...(malyon-set-game-st
1b780 61 74 65 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 29 29 0a ate.malyon-game-state-restart)).
1b7a0 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 20 28 26 .(defun.malyon-opcode-restore.(&
1b7c0 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 52 65 optional.table.bytes.name)..."Re
1b7e0 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 store.a.saved.game.state.or.a.se
1b800 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 ction.of.memory.from.a.file."...
1b820 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 (let.((result.(if.name..........
1b840 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 0a ...........(malyon-restore-file.
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 65 74 .....................(malyon-get
1b880 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 0a 20 20 -file-name.name).table.bytes)...
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 ................(call-interactiv
1b8c0 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 ely.'malyon-restore-file))))....
1b8e0 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a .(if.(<.malyon-story-version.5).
1b900 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 ........(malyon-jump-if.(not.(ze
1b920 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 rop.result))).......(malyon-stor
1b940 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 e-variable.(malyon-read-code-byt
1b960 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 e).result))))..(defun.malyon-opc
1b980 6f 64 65 2d 72 65 73 74 6f 72 65 2d 75 6e 64 6f 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 67 ode-restore-undo.()..."Restore.g
1b9a0 61 6d 65 20 73 74 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f ame.state.for.undo."...(if.malyo
1b9c0 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d n-game-state-undo.......(malyon-
1b9e0 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 set-game-state.malyon-game-state
1ba00 2d 75 6e 64 6f 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 -undo))...(malyon-store-variable
1ba20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 32 29 29 0a 0a 28 64 .(malyon-read-code-byte).2))..(d
1ba40 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 28 76 61 6c 75 65 29 0a 20 efun.malyon-opcode-ret.(value)..
1ba60 20 22 52 65 74 75 72 6e 20 61 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 ."Return.a.value."...(malyon-ret
1ba80 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 urn.value))..(defun.malyon-opcod
1baa0 65 2d 72 65 74 2d 70 6f 70 70 65 64 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 6f 70 20 6f 66 e-ret-popped.()..."Return.top.of
1bac0 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 6d 61 6c 79 6f .stack."...(malyon-return.(malyo
1bae0 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 n-pop-stack)))..(defun.malyon-op
1bb00 63 6f 64 65 2d 72 66 61 6c 73 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 66 61 6c 73 65 2f 30 code-rfalse.()..."Return.false/0
1bb20 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 ."...(malyon-return.0))..(defun.
1bb40 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 74 72 75 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e malyon-opcode-rtrue.()..."Return
1bb60 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 31 29 29 0a 0a .true/1."...(malyon-return.1))..
1bb80 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 20 28 26 6f 70 74 69 (defun.malyon-opcode-save.(&opti
1bba0 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 53 61 76 65 20 74 onal.table.bytes.name)..."Save.t
1bbc0 68 65 20 63 75 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 63 74 69 he.current.game.state.or.a.secti
1bbe0 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 on.of.memory.to.a.file."...(let.
1bc00 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((result.(if.name...............
1bc20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d ......(malyon-save-file.(malyon-
1bc40 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 get-file-name.name).table.bytes)
1bc60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 ...................(call-interac
1bc80 74 69 76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 tively.'malyon-save-file))))....
1bca0 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a .(if.(<.malyon-story-version.5).
1bcc0 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 ........(malyon-jump-if.(not.(ze
1bce0 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 rop.result))).......(malyon-stor
1bd00 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 e-variable.(malyon-read-code-byt
1bd20 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 e).result))))..(defun.malyon-opc
1bd40 6f 64 65 2d 73 61 76 65 2d 75 6e 64 6f 20 28 29 0a 20 20 22 53 61 76 65 20 67 61 6d 65 20 73 74 ode-save-undo.()..."Save.game.st
1bd60 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 ate.for.undo."...(setq.malyon-ga
1bd80 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 me-state-undo.(malyon-current-ga
1bda0 6d 65 2d 73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 me-state))...(malyon-store-byte.
1bdc0 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 31 29 29 0a 0a 28 64 65 (malyon-read-code-byte).1))..(de
1bde0 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 28 78 20 fun.malyon-opcode-scan-table.(x.
1be00 74 61 62 6c 65 20 6c 65 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 29 0a 20 20 22 53 63 61 table.len.&optional.form)..."Sca
1be20 6e 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 n.the.given.table.for.the.first.
1be40 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 78 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 66 6f 72 occurrence.of.x."...(if.(not.for
1be60 6d 29 20 28 73 65 74 71 20 66 6f 72 6d 20 31 33 30 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 63 m).(setq.form.130))...(let.((inc
1be80 20 28 6c 6f 67 61 6e 64 20 31 32 37 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 .(logand.127.form)).........(byt
1bea0 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 66 6f 72 6d 29 29 29 0a 20 20 20 e.(zerop.(logand.128.form)))....
1bec0 20 20 20 20 20 28 61 64 64 72 20 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 75 6e 64 .....(addr.table).........(found
1bee0 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c .0).........(index.0)).....(whil
1bf00 65 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 20 28 3c 20 69 6e 64 65 78 20 6c 65 e.(and.(zerop.found).(<.index.le
1bf20 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 n)).......(setq.found...........
1bf40 20 20 28 69 66 20 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 ..(if.byte.................(if.(
1bf60 3d 20 78 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 29 29 20 61 64 64 =.x.(malyon-read-byte.addr)).add
1bf80 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 78 20 28 6d 61 6c r.0)...............(if.(=.x.(mal
1bfa0 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 61 64 64 72 29 29 20 61 64 64 72 20 30 29 29 29 0a 20 yon-read-word.addr)).addr.0)))..
1bfc0 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 20 28 2b 20 61 64 64 72 20 69 6e 63 29 29 0a 20 20 .....(setq.addr.(+.addr.inc))...
1bfe0 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78 20 28 2b 20 69 6e 64 65 78 20 31 29 29 29 0a 20 20 ....(setq.index.(+.index.1)))...
1c000 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e ..(malyon-store-variable.(malyon
1c020 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 66 6f 75 6e 64 29 0a 20 20 20 20 28 6d 61 6c -read-code-byte).found).....(mal
1c040 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29 29 yon-jump-if.(not.(zerop.found)))
1c060 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 ))..(defun.malyon-opcode-set-att
1c080 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 r.(object.attribute)..."Set.the.
1c0a0 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a given.attribute.in.the.given.obj
1c0c0 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 74 65 73 20 28 6d 61 6c 79 6f ect."...(let.((attributes.(malyo
1c0e0 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 n-object-address.object)).......
1c100 20 20 28 62 79 74 65 20 20 20 20 20 20 20 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33 29 ..(byte.......(lsh.attribute.-3)
1c120 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 74 74 )).....(malyon-store-byte.(+.att
1c140 72 69 62 75 74 65 73 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ributes.byte)...................
1c160 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 .....(logior.(malyon-read-byte.(
1c180 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 +.attributes.byte)).............
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 ...................(lsh.128.(-.(
1c1c0 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 logand.attribute.7)))))))..(defu
1c1e0 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 28 66 6f 72 65 67 n.malyon-opcode-set-color.(foreg
1c200 72 6f 75 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66 6f round.background)..."Sets.the.fo
1c220 72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 73 20 69 65 2e 20 64 6f re-.and.background.colors.ie..do
1c240 65 73 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 es.nothing.")..(defun.malyon-opc
1c260 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6e 65 20 63 ode-set-cursor.(&optional.line.c
1c280 6f 6c 75 6d 6e 29 0a 20 20 22 53 65 74 20 74 68 65 20 63 75 72 73 6f 72 2e 22 0a 20 20 28 69 66 olumn)..."Set.the.cursor."...(if
1c2a0 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 .(eq.malyon-transcript-buffer.(c
1c2c0 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 3b 3b 20 73 65 74 2d 63 75 72 urrent-buffer)).......;;.set-cur
1c2e0 73 6f 72 20 69 73 20 6e 6f 74 20 63 75 72 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 20 69 sor.is.not.currently.supported.i
1c300 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3b n.the.transcript.buffer........;
1c320 3b 20 49 74 20 6a 75 73 74 20 6a 75 6d 70 73 20 74 6f 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 ;.It.just.jumps.to.the.end......
1c340 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b 3b ..(goto-char.(point-max)).....;;
1c360 20 57 65 27 72 65 20 73 65 74 74 69 6e 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 .We're.setting.the.position.in.t
1c380 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d he.status.buffer.....(if.malyon-
1c3a0 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 0a 20 20 20 20 status-buffer-delayed-split.....
1c3c0 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c ....(progn...........(malyon-spl
1c3e0 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d it-buffer-windows.malyon-status-
1c400 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 buffer-delayed-split)...........
1c420 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 20 20 28 69 66 20 6c 69 6e 65 20 (other-window.1))).....(if.line.
1c440 20 20 27 28 29 20 28 73 65 74 71 20 6c 69 6e 65 20 20 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 ..'().(setq.line...(count-lines.
1c460 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 63 (point-min).(point)))).....(if.c
1c480 6f 6c 75 6d 6e 20 27 28 29 20 28 73 65 74 71 20 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74 2d olumn.'().(setq.column.(current-
1c4a0 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 6c 69 6e 65 20 6d 61 6c 79 6f 6e column))).....(if.(>.line.malyon
1c4c0 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 28 70 -status-buffer-lines).........(p
1c4e0 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 rogn...........(malyon-split-buf
1c500 66 65 72 2d 77 69 6e 64 6f 77 73 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 fer-windows.line)...........(oth
1c520 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 er-window.1))).....(goto-char.(p
1c540 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 6c 69 6e oint-min)).....(if.(and.(<.1.lin
1c560 65 29 20 28 3c 3d 20 6c 69 6e 65 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 e).(<=.line.malyon-status-buffer
1c580 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 28 -lines)).........(forward-line.(
1c5a0 31 2d 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 1-.line)).......(beginning-of-li
1c5c0 6e 65 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 63 6f 6c 75 6d 6e 29 20 28 ne)).....(if.(and.(<.1.column).(
1c5e0 3c 3d 20 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 <=.column.malyon-max-column))...
1c600 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 28 31 2d 20 63 6f 6c 75 6d 6e 29 29 ......(forward-char.(1-.column))
1c620 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 0a 20 20 20 20 .......(beginning-of-line)).....
1c640 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 (setq.malyon-status-buffer-point
1c660 20 28 70 6f 69 6e 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 .(point))))..(defun.malyon-opcod
1c680 65 2d 73 65 74 2d 66 6f 6e 74 20 28 66 6f 6e 74 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66 6f e-set-font.(font)..."Sets.the.fo
1c6a0 6e 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 30 20 6f 74 68 65 72 77 69 73 65 2e 22 nt.if.available.or.0.otherwise."
1c6c0 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f ...(malyon-store-variable.(malyo
1c6e0 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 n-read-code-byte).0))..(defun.ma
1c700 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c 65 20 28 73 74 79 6c lyon-opcode-set-text-style.(styl
1c720 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 74 65 78 74 20 73 74 79 6c 65 2f 66 61 63 65 2e 22 0a e)..."Set.the.text.style/face.".
1c740 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28 61 73 73 71 20 73 74 79 6c 65 20 6d 61 6c 79 6f 6e ..(let.((face.(assq.style.malyon
1c760 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 -faces))).....(setq.malyon-curre
1c780 6e 74 2d 66 61 63 65 20 28 69 66 20 66 61 63 65 20 28 63 64 72 20 66 61 63 65 29 20 27 6d 61 6c nt-face.(if.face.(cdr.face).'mal
1c7a0 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f yon-face-plain))))..(defun.malyo
1c7c0 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20 22 n-opcode-set-window.(window)..."
1c7e0 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 6c 79 Set.the.current.window."...(maly
1c800 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 on-restore-window-configuration)
1c820 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 20 77 ...(setq.malyon-current-window.w
1c840 69 6e 64 6f 77 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d 73 indow)...(malyon-update-output-s
1c860 74 72 65 61 6d 73 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 77 69 6e 64 6f 77 29 0a 20 20 20 treams)...(if.(zerop.window)....
1c880 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 ...(if.(not.(eq.malyon-transcrip
1c8a0 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 t-buffer.(current-buffer))).....
1c8c0 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 69 66 20 ......(other-window.1)).....(if.
1c8e0 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 (not.(eq.malyon-status-buffer.(c
1c900 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d urrent-buffer))).........(other-
1c920 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 window.1)).....(malyon-opcode-se
1c940 74 2d 63 75 72 73 6f 72 20 31 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f t-cursor.1.1)))..(defun.malyon-o
1c960 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 20 28 29 0a 20 20 22 44 69 73 70 6c 61 79 20 pcode-show-status.()..."Display.
1c980 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 the.status.line."...(save-excurs
1c9a0 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 ion.....(let.((malyon-current-fa
1c9c0 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 29 29 0a 20 20 20 20 20 20 ce.'malyon-face-reverse)).......
1c9e0 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 20 31 29 0a 20 (malyon-opcode-split-window.1)..
1ca00 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 .....(malyon-restore-window-conf
1ca20 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d iguration).......(malyon-opcode-
1ca40 73 65 74 2d 77 69 6e 64 6f 77 20 31 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 65 70 set-window.1).......(malyon-prep
1ca60 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 31 29 0a 20 20 20 20 20 20 28 70 75 74 2d are-status-buffer.1).......(put-
1ca80 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 text-property.(point-min).(point
1caa0 2d 6d 61 78 29 20 27 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 -max).'face.'malyon-face-reverse
1cac0 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f ).......(malyon-opcode-set-curso
1cae0 72 20 31 20 31 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e r.1.1).......(malyon-opcode-prin
1cb00 74 2d 6f 62 6a 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 t-obj.(malyon-read-global-variab
1cb20 6c 65 20 30 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c 3d 20 28 63 75 72 72 65 6e 74 2d 63 6f le.0)).......(if.(<=.(current-co
1cb40 6c 75 6d 6e 29 20 28 2d 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 20 31 lumn).(-.(current-fill-column).1
1cb60 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 78 20 20 20 20 20 28 6d 61 6c 0))...........(let*.((x.....(mal
1cb80 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 31 29 29 0a 20 20 20 yon-read-global-variable.1))....
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 ..............(y.....(malyon-rea
1cbc0 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 d-global-variable.2))...........
1cbe0 20 20 20 20 20 20 20 28 68 6f 75 72 73 20 28 69 66 20 28 3e 20 78 20 31 32 29 20 28 2d 20 78 20 .......(hours.(if.(>.x.12).(-.x.
1cc00 31 32 29 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6d 70 6d 20 20 12).x))..................(ampm..
1cc20 28 69 66 20 28 3e 20 78 20 31 32 29 20 22 50 4d 22 20 22 41 4d 22 29 29 0a 20 20 20 20 20 20 20 (if.(>.x.12)."PM"."AM"))........
1cc40 20 20 20 20 20 20 20 20 20 20 28 73 63 6f 72 65 20 28 66 6f 72 6d 61 74 20 22 25 34 64 2f 25 34 ..........(score.(format."%4d/%4
1cc60 64 22 20 78 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65 20 d".x.y))..................(time.
1cc80 20 28 66 6f 72 6d 61 74 20 22 25 30 32 64 3a 25 30 32 64 25 73 22 20 68 6f 75 72 73 20 79 20 61 .(format."%02d:%02d%s".hours.y.a
1cca0 6d 70 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 mpm))).............(malyon-opcod
1ccc0 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 31 20 28 2d 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d e-set-cursor.1.(-.(current-fill-
1cce0 63 6f 6c 75 6d 6e 29 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e column).10)).............(malyon
1cd00 2d 70 72 69 6e 74 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 73 63 6f -print.(if.malyon-score-game.sco
1cd20 72 65 20 74 69 6d 65 29 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d re.time))))).....(malyon-opcode-
1cd40 73 65 74 2d 77 69 6e 64 6f 77 20 30 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 set-window.0).....(malyon-adjust
1cd60 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 -transcript)))..(defun.malyon-op
1cd80 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 20 28 73 69 7a 65 29 0a 20 20 22 53 70 6c 69 code-split-window.(size)..."Spli
1cda0 74 20 75 70 70 65 72 20 61 6e 64 20 6c 6f 77 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 t.upper.and.lower.window."...(ma
1cdc0 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 69 lyon-set-window-configuration.si
1cde0 7a 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 ze))..(defun.malyon-opcode-store
1ce00 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c .(variable.value)..."Store.a.val
1ce20 75 65 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f ue.in.a.variable."...(malyon-sto
1ce40 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 re-variable.variable.value))..(d
1ce60 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 62 20 28 61 72 72 61 79 efun.malyon-opcode-storeb.(array
1ce80 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 .index.value)..."Store.a.value.i
1cea0 6e 20 61 6e 20 61 72 72 61 79 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 69 6e 64 65 78 2e 22 0a n.an.array.at.the.given.index.".
1cec0 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 72 72 61 79 20 69 6e ..(malyon-store-byte.(+.array.in
1cee0 64 65 78 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f dex).value))..(defun.malyon-opco
1cf00 64 65 2d 73 74 6f 72 65 77 20 28 61 72 72 61 79 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20 20 de-storew.(array.index.value)...
1cf20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 6e 20 61 6e 20 61 72 72 61 79 20 61 74 20 74 68 "Store.a.value.in.an.array.at.th
1cf40 65 20 67 69 76 65 6e 20 69 6e 64 65 78 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d e.given.index."...(malyon-store-
1cf60 77 6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20 32 20 69 6e 64 65 78 29 29 20 76 61 6c 75 65 word.(+.array.(*.2.index)).value
1cf80 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 28 61 20 ))..(defun.malyon-opcode-sub.(a.
1cfa0 62 29 0a 20 20 22 53 75 62 74 72 61 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 b)..."Subtraction."...(malyon-st
1cfc0 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 ore-variable.(malyon-read-code-b
1cfe0 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d yte)..........................(-
1d000 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 .(malyon-number.a).(malyon-numbe
1d020 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 r.b))))..(defun.malyon-opcode-te
1d040 73 74 20 28 62 69 74 6d 61 70 20 66 6c 61 67 73 29 0a 20 20 22 54 65 73 74 20 69 66 20 61 6c 6c st.(bitmap.flags)..."Test.if.all
1d060 20 6f 66 20 74 68 65 20 66 6c 61 67 73 20 61 72 65 20 73 65 74 20 69 6e 20 74 68 65 20 62 69 74 .of.the.flags.are.set.in.the.bit
1d080 6d 61 70 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3d 20 66 6c 61 67 73 map."...(malyon-jump-if.(=.flags
1d0a0 20 28 6c 6f 67 61 6e 64 20 62 69 74 6d 61 70 20 66 6c 61 67 73 29 29 29 29 0a 0a 28 64 65 66 75 .(logand.bitmap.flags))))..(defu
1d0c0 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 20 28 6f 62 6a 65 63 n.malyon-opcode-test-attr.(objec
1d0e0 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 6f t.attribute)..."Jump.depending.o
1d100 6e 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 74 68 65 20 67 69 76 n.the.given.attribute.in.the.giv
1d120 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 en.object."...(malyon-jump-if...
1d140 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 .(/=.0.(logand.(malyon-read-byte
1d160 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 .(+.(malyon-object-address.objec
1d180 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)..............................
1d1a0 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20 20 .........(lsh.attribute.-3)))...
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 ...............(lsh.128.(-.(loga
1d1e0 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 nd.attribute.7)))))))..(defun.ma
1d200 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 20 28 76 61 6c 75 65 20 66 72 61 6d 65 29 0a lyon-opcode-throw.(value.frame).
1d220 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 63 6b 20 66 .."Return.from.the.given.stack.f
1d240 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 rame."...(if.malyon-game-state-q
1d260 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72 65 uetzal.......(let.((id.(lsh.(are
1d280 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e f.malyon-stack.malyon-frame-poin
1d2a0 74 65 72 29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 66 72 ter).-8))).........(while.(/=.fr
1d2c0 61 6d 65 20 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 ame.id)...........(setq.malyon-s
1d2e0 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 tack-pointer.malyon-frame-pointe
1d300 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 0a r)...........(malyon-pop-stack).
1d320 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 ..........(setq.malyon-frame-poi
1d340 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 nter.................(-.malyon-s
1d360 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d tack-pointer.1.(lsh.(malyon-pop-
1d380 73 74 61 63 6b 29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 stack).-8)))...........(malyon-p
1d3a0 6f 70 2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d op-stack)...........(malyon-pop-
1d3c0 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 64 20 28 6c 73 68 20 28 stack)...........(setq.id.(lsh.(
1d3e0 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 aref.malyon-stack.malyon-frame-p
1d400 6f 69 6e 74 65 72 29 20 2d 38 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d ointer).-8)))).....(setq.malyon-
1d420 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 66 72 61 6d 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d frame-pointer.frame))...(malyon-
1d440 72 65 74 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 return.value))..(defun.malyon-op
1d460 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 28 74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69 6f code-tokenise.(text.parse.&optio
1d480 6e 61 6c 20 64 69 63 74 20 66 6c 61 67 29 0a 20 20 22 50 65 72 66 6f 72 6d 20 6c 65 78 69 63 61 nal.dict.flag)..."Perform.lexica
1d4a0 6c 20 61 6e 61 6c 79 73 69 73 20 6f 6e 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 0a l.analysis.on.the.text.buffer.".
1d4c0 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 73 20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f 2d ..(let*.((words.(malyon-text-to-
1d4e0 77 6f 72 64 73 20 74 65 78 74 20 64 69 63 74 29 29 0a 09 20 28 77 6f 72 64 20 20 28 63 61 72 20 words.text.dict))...(word..(car.
1d500 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 29 0a 09 20 28 73 74 61 72 74 20 28 63 61 72 20 ..........words))...(start.(car.
1d520 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 29 0a 09 20 28 6c 65 6e 20 20 20 28 63 61 64 72 20 ..........word))...(len...(cadr.
1d540 20 20 77 6f 72 64 29 29 0a 09 20 28 63 6f 64 65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f 72 ..word))...(code..(cl-caddr..wor
1d560 64 29 29 0a 09 20 28 65 6e 74 72 79 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63 74 d))...(entry.(malyon-lookup.dict
1d580 20 63 6f 64 65 29 29 0a 09 20 28 69 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 .code))...(i.....0)).....(while.
1d5a0 28 6e 6f 74 20 28 6f 72 20 28 6e 75 6c 6c 20 77 6f 72 64 73 29 20 28 3d 20 69 20 28 6d 61 6c 79 (not.(or.(null.words).(=.i.(maly
1d5c0 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 on-read-byte.parse)))).......(if
1d5e0 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 65 6e 74 72 79 29 20 66 6c 61 67 20 28 2f 3d 20 30 20 66 .(and.(zerop.entry).flag.(/=.0.f
1d600 6c 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c lag))...........'().........(mal
1d620 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 32 20 70 61 72 73 65 20 28 2a 20 34 20 69 yon-store-word.(+.2.parse.(*.4.i
1d640 29 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d )).entry).........(malyon-store-
1d660 62 79 74 65 20 28 2b 20 34 20 70 61 72 73 65 20 28 2a 20 34 20 69 29 29 20 6c 65 6e 29 0a 20 20 byte.(+.4.parse.(*.4.i)).len)...
1d680 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 35 20 70 61 ......(malyon-store-byte.(+.5.pa
1d6a0 72 73 65 20 28 2a 20 34 20 69 29 29 20 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 rse.(*.4.i)).start)).......(setq
1d6c0 20 77 6f 72 64 73 20 28 63 64 72 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20 20 .words.(cdr...........words)....
1d6e0 20 20 77 6f 72 64 20 20 28 63 61 72 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20 ..word..(car...........words)...
1d700 20 20 20 73 74 61 72 74 20 28 63 61 72 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 0a 09 20 ...start.(car...........word)...
1d720 20 20 20 6c 65 6e 20 20 20 28 63 61 64 72 20 20 20 77 6f 72 64 29 0a 09 20 20 20 20 63 6f 64 65 ...len...(cadr...word)......code
1d740 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f 72 64 29 0a 09 20 20 20 20 65 6e 74 72 79 20 28 6d ..(cl-caddr..word)......entry.(m
1d760 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63 74 20 63 6f 64 65 29 0a 09 20 20 20 20 69 20 20 alyon-lookup.dict.code)......i..
1d780 20 20 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 ...(+.1.i))).....(malyon-store-b
1d7a0 79 74 65 20 28 2b 20 31 20 70 61 72 73 65 29 20 69 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c yte.(+.1.parse).i)))..(defun.mal
1d7c0 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69 66 79 20 28 29 0a 20 20 22 56 65 72 69 66 79 20 74 yon-opcode-verify.()..."Verify.t
1d7e0 68 65 20 63 6f 72 72 65 63 74 6e 65 73 73 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 he.correctness.of.the.story.file
1d800 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 2b 20 31 20 28 2a 20 6d 61 6c 79 6f ."...(let.((length.(+.1.(*.malyo
1d820 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 n-packed-multiplier.(malyon-read
1d840 2d 77 6f 72 64 20 32 36 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 75 6d 20 20 20 20 30 29 0a -word.26)))).........(sum....0).
1d860 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 36 34 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 ........(i......64)).....(while.
1d880 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 6d 6f (<.i.length).......(setq.sum.(mo
1d8a0 64 20 28 2b 20 73 75 6d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 69 29 29 20 36 d.(+.sum.(malyon-read-byte.i)).6
1d8c0 35 35 33 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 20 20 28 2b 20 31 20 69 29 29 29 0a 5536).............i...(+.1.i))).
1d8e0 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 ....(malyon-jump-if.(=.(malyon-r
1d900 65 61 64 2d 77 6f 72 64 20 32 38 29 20 73 75 6d 29 29 29 29 0a 0a 3b 3b 20 6b 65 79 6d 61 70 20 ead-word.28).sum))))..;;.keymap.
1d920 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 utilities..(defun.malyon-end-inp
1d940 75 74 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 20 69 6e ut.()..."Store.the.input.line.in
1d960 20 61 20 74 65 78 74 20 62 75 66 66 65 72 20 61 6e 64 20 70 65 72 66 6f 72 6d 20 6c 65 78 69 63 .a.text.buffer.and.perform.lexic
1d980 61 6c 20 61 6e 61 6c 79 73 69 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 al.analysis."...(interactive)...
1d9a0 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75 6e (malyon-hide-internal-errors."un
1d9c0 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 specified.internal.runtime.error
1d9e0 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 .".....(progn.......(malyon-adju
1da00 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d st-transcript).......(switch-to-
1da20 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 buffer.malyon-transcript-buffer)
1da40 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 .......(goto-char.(point-max))..
1da60 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 70 75 74 20 28 64 6f 77 6e 63 61 73 65 0a 20 20 20 .....(let*.((input.(downcase....
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 ..................(buffer-substr
1daa0 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing-no-properties...............
1dac0 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 ........(if.(<.malyon-aread-begi
1dae0 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 nning-of-line.(point))..........
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 .................malyon-aread-be
1db20 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ginning-of-line.................
1db40 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(point))................
1db60 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .......(point))))..............(
1db80 76 65 63 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 20 69 6e 70 75 74 29 29 0a 20 vec..(string-to-vector.input))..
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f 72 ............(text.(apply.'vector
1dbc0 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 69 .(mapcar.'malyon-unicode-to-zsci
1dbe0 69 20 76 65 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 20 28 6d 69 6e i.vec)))..............(len..(min
1dc00 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d .(malyon-read-byte.malyon-aread-
1dc20 74 65 78 74 29 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 text).(length.text)))...........
1dc40 20 20 20 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 ...(i....0)).........(malyon-his
1dc60 74 6f 72 79 2d 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 tory-insert.input).........(if.(
1dc80 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 >=.malyon-story-version.5)......
1dca0 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 6d 61 6c .......(malyon-store-byte.(+.mal
1dcc0 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 31 29 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 yon-aread-text.1).len)).........
1dce0 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 (while.(<.i.len)...........(maly
1dd00 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c 79 on-store-byte............(+.maly
1dd20 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 on-aread-text.(if.(<.malyon-stor
1dd40 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 31 20 32 29 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 y-version.5).1.2).i)............
1dd60 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 61 72 65 66 20 74 65 78 74 20 69 (malyon-char-to-int.(aref.text.i
1dd80 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a )))...........(setq.i.(+.1.i))).
1dda0 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 ........(if.(<.malyon-story-vers
1ddc0 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 ion.5).............(malyon-store
1dde0 2d 62 79 74 65 20 28 2b 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 31 20 6c 65 6e -byte.(+.malyon-aread-text.1.len
1de00 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 2f 3d 20 30 20 6d 61 6c 79 6f 6e 2d 61 72 ).0))).......(if.(/=.0.malyon-ar
1de20 65 61 64 2d 70 61 72 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 ead-parse)...........(malyon-opc
1de40 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 6d ode-tokenise.malyon-aread-text.m
1de60 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 alyon-aread-parse)).......(newli
1de80 6e 65 29 0a 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 ne).......(if.(>=.malyon-story-v
1dea0 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 ersion.5)...........(malyon-stor
1dec0 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 e-variable.(malyon-read-code-byt
1dee0 65 29 20 31 30 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 e).10)).......(malyon-interprete
1df00 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 20 28 r))))..(defun.malyon-more-char.(
1df20 29 0a 20 20 22 50 61 67 65 20 64 6f 77 6e 20 69 6e 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20 20 )..."Page.down.in.More.mode."...
1df40 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 (interactive)...(condition-case.
1df60 6e 69 6c 0a 20 20 20 20 20 20 28 73 63 72 6f 6c 6c 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f 72 nil.......(scroll-up).....(error
1df80 29 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 ))...(if.(>=.(count-lines.(point
1dfa0 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e ).(point-max))...........(malyon
1dfc0 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 -window-displayed-height))......
1dfe0 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 65 5d 22 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 .(message."[More]").....(goto-ch
1e000 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 ar.(point-max)).....(malyon-adju
1e020 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 st-transcript).....(use-local-ma
1e040 70 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 29 29 p.malyon-more-continue-keymap)))
1e060 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 ..(defun.malyon-more-char-status
1e080 20 28 29 0a 20 20 22 57 61 69 74 20 66 6f 72 20 61 20 6b 65 79 20 74 68 65 6e 20 63 6f 6e 74 69 .()..."Wait.for.a.key.then.conti
1e0a0 6e 75 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d nue."...(interactive)...(malyon-
1e0c0 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65 hide-internal-errors."unspecifie
1e0e0 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28 d.internal.runtime.error.".....(
1e100 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 progn.......(malyon-adjust-trans
1e120 63 72 69 70 74 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 cript).......(use-local-map.maly
1e140 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 on-more-continue-keymap).......(
1e160 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d malyon-interpreter))))..(defun.m
1e180 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 alyon-wait-char.()..."Store.the.
1e1a0 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 61 6e input.character.in.a.variable.an
1e1c0 64 20 72 65 73 75 6d 65 20 65 78 65 63 75 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 d.resume.execution."...(interact
1e1e0 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 ive)...(malyon-hide-internal-err
1e200 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69 6d ors."unspecified.internal.runtim
1e220 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 e.error.".....(progn.......(maly
1e240 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e on-store-variable........(malyon
1e260 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d -read-code-byte)........(malyon-
1e280 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a char-to-int.(malyon-unicode-to-z
1e2a0 73 63 69 69 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 scii.last-command-event)))......
1e2c0 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 .(use-local-map.malyon-keymap-re
1e2e0 61 64 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 29 29 29 ad).......(malyon-interpreter)))
1e300 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 )..(defun.malyon-history-previou
1e320 73 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 70 72 65 76 s-char.(arg)..."Display.the.prev
1e340 69 6f 75 73 20 69 74 65 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 ious.item.in.the.input.history."
1e360 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6c 65 74 20 28 28 69 6e ...(interactive."p")...(let.((in
1e380 70 75 74 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 29 29 29 0a put.(malyon-history-previous))).
1e3a0 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e ....(cond.((>.malyon-aread-begin
1e3c0 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ning-of-line.(point))...........
1e3e0 20 28 66 75 6e 63 61 6c 6c 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 75 .(funcall.malyon-history-saved-u
1e400 70 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a 20 20 20 20 20 20 20 p.arg))...........(input........
1e420 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d ....(with-current-buffer.malyon-
1e440 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 transcript-buffer..............(
1e460 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e delete-region.malyon-aread-begin
1e480 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 ning-of-line.(point-max)))......
1e4a0 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 ......(goto-char.(point-max))...
1e4c0 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 .........(insert.input).........
1e4e0 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 29 ...(malyon-adjust-transcript))))
1e500 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63 68 )..(defun.malyon-history-next-ch
1e520 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 6e 65 78 74 20 69 74 65 ar.(arg)..."Display.the.next.ite
1e540 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74 65 m.in.the.input.history."...(inte
1e560 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 70 75 74 20 28 6d 61 6c ractive."p")...(let.((input.(mal
1e580 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 yon-history-next))).....(cond.((
1e5a0 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 >.malyon-aread-beginning-of-line
1e5c0 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d 61 .(point))............(funcall.ma
1e5e0 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20 61 72 67 29 29 0a 20 20 lyon-history-saved-down.arg))...
1e600 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d ........(input............(with-
1e620 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 current-buffer.malyon-transcript
1e640 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 -buffer..............(delete-reg
1e660 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 ion.malyon-aread-beginning-of-li
1e680 6e 65 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 ne.(point-max)))............(got
1e6a0 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 o-char.(point-max))............(
1e6c0 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e insert.input)............(malyon
1e6e0 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 -adjust-transcript)))))..(defun.
1e700 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 61 72 67 29 0a 20 malyon-beginning-of-line.(arg)..
1e720 20 22 47 6f 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e ."Go.to.the.beginning.of.the.lin
1e740 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3e e."...(interactive."p")...(if.(>
1e760 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 .malyon-aread-beginning-of-line.
1e780 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e (point)).......(beginning-of-lin
1e7a0 65 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 e).....(goto-char.malyon-aread-b
1e7c0 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 eginning-of-line)))..(defun.maly
1e7e0 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65 67 on-kill-region.(arg)..."Kill.reg
1e800 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 ion."...(interactive."p")...(if.
1e820 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 (<=.malyon-aread-beginning-of-li
1e840 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 ne.(point)).......(kill-region.(
1e860 70 6f 69 6e 74 29 20 28 6d 61 72 6b 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 point).(mark)).....(message."Edi
1e880 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 ting.is.restricted.to.the.input.
1e8a0 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d prompt.")))..(defun.malyon-kill-
1e8c0 6c 69 6e 65 20 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65 73 74 20 6f 66 20 74 68 65 20 63 line.(arg)..."Kill.rest.of.the.c
1e8e0 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 urrent.line."...(interactive."p"
1e900 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 )...(if.(<=.malyon-aread-beginni
1e920 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d ng-of-line.(point)).......(kill-
1e940 6c 69 6e 65 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 line).....(message."Editing.is.r
1e960 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 estricted.to.the.input.prompt.")
1e980 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 20 28 61 72 67 ))..(defun.malyon-kill-word.(arg
1e9a0 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 6f 72 64 2e 22 0a 20 20 28 )..."Kill.the.current.word."...(
1e9c0 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f interactive."p")...(if.(<=.malyo
1e9e0 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 n-aread-beginning-of-line.(point
1ea00 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 77 6f 72 64 20 31 29 0a 20 20 20 20 28 6d 65 73 73 )).......(kill-word.1).....(mess
1ea20 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 age."Editing.is.restricted.to.th
1ea40 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 e.input.prompt.")))..(defun.maly
1ea60 6f 6e 2d 79 61 6e 6b 20 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 2e 22 0a 20 20 28 69 6e 74 65 72 on-yank.(arg)..."Yank."...(inter
1ea80 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 active."p")...(if.(<=.malyon-are
1eaa0 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 ad-beginning-of-line.(point))...
1eac0 20 20 20 20 28 79 61 6e 6b 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e 67 ....(yank).....(message."Editing
1eae0 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 6d .is.restricted.to.the.input.prom
1eb00 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 20 pt.")))..(defun.malyon-yank-pop.
1eb20 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 20 70 6f 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 (arg)..."Yank.pop."...(interacti
1eb40 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 ve."p")...(if.(<=.malyon-aread-b
1eb60 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 eginning-of-line.(point)).......
1eb80 28 79 61 6e 6b 2d 70 6f 70 20 31 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 (yank-pop.1).....(message."Editi
1eba0 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 ng.is.restricted.to.the.input.pr
1ebc0 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65 2d ompt.")))..(defun.malyon-delete-
1ebe0 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65 20 61 20 63 68 61 72 61 63 74 65 72 char.(arg)..."Delete.a.character
1ec00 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d ."...(interactive."p")...(if.(<=
1ec20 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 .malyon-aread-beginning-of-line.
1ec40 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a 20 (point)).......(delete-char.1)..
1ec60 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 ...(message."Editing.is.restrict
1ec80 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 ed.to.the.input.prompt.")))..(de
1eca0 66 75 6e 20 6d 61 6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72 20 fun.malyon-backward-delete-char.
1ecc0 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65 20 61 20 63 68 61 72 61 63 74 65 72 20 62 61 63 6b (arg)..."Delete.a.character.back
1ece0 77 61 72 64 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 wards."...(interactive."p")...(i
1ed00 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c f.(<.malyon-aread-beginning-of-l
1ed20 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 64 65 6c ine.(point)).......(backward-del
1ed40 65 74 65 2d 63 68 61 72 2d 75 6e 74 61 62 69 66 79 20 31 29 0a 20 20 20 20 28 6d 65 73 73 61 67 ete-char-untabify.1).....(messag
1ed60 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 e."Editing.is.restricted.to.the.
1ed80 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e input.prompt.")))..(defun.malyon
1eda0 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 28 61 72 67 29 0a 20 20 22 49 6e -self-insert-command.(arg)..."In
1edc0 73 65 72 74 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 sert.a.character."...(interactiv
1ede0 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 e."p")...(if.(>.malyon-aread-beg
1ee00 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 67 inning-of-line.(point)).......(g
1ee20 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 73 65 6c 66 2d 69 oto-char.(point-max)))...(self-i
1ee40 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 31 29 29 0a 0a 3b 3b 20 74 72 61 63 69 6e 67 20 75 74 nsert-command.1))..;;.tracing.ut
1ee60 69 6c 69 74 79 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65 20 ility..(defun.malyon-trace-file.
1ee80 28 29 0a 20 20 22 54 75 72 6e 20 74 72 61 63 69 6e 67 20 6f 6e 20 66 6f 72 20 61 20 70 61 72 74 ()..."Turn.tracing.on.for.a.part
1eea0 69 63 75 6c 61 72 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61 63 65 0a 20 20 20 icular.file."...(let.((trace....
1eec0 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 ......(get-buffer-create........
1eee0 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f ...(concat."Malyon.Trace.".malyo
1ef00 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 74 72 n-story-file-name)))).....(if.tr
1ef20 61 63 65 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 ace.........(with-current-buffer
1ef40 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 .trace...........(malyon-erase-b
1ef60 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 63 6f 6e 63 61 74 uffer)...........(insert.(concat
1ef80 20 22 54 72 61 63 69 6e 67 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 ."Tracing.".malyon-story-file-na
1efa0 6d 65 20 22 2e 2e 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 me."..."))...........(newline)))
1efc0 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6e 65 77 6c 69 6e 65 20 ))..(defun.malyon-trace-newline.
1efe0 28 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72 61 63 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 22 0a 20 ()..."Output.tracing.newline."..
1f000 20 28 6c 65 74 20 28 28 74 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 .(let.((trace.(get-buffer.(conca
1f020 74 20 22 4d 61 6c 79 6f 6e 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 t."Malyon.Trace.".malyon-story-f
1f040 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 74 72 61 63 65 0a 20 20 20 20 20 ile-name)))).....(if.trace......
1f060 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 ...(with-current-buffer.trace...
1f080 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a ........(goto-char.(point-max)).
1f0a0 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ..........(newline)))))..(defun.
1f0c0 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63 6f 64 65 20 28 70 63 20 6f 70 63 6f 64 65 20 6f malyon-trace-opcode.(pc.opcode.o
1f0e0 70 65 72 61 6e 64 73 29 0a 20 20 22 4f 75 74 70 75 74 20 61 20 5a 2d 63 6f 64 65 20 69 6e 73 74 perands)..."Output.a.Z-code.inst
1f100 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e 67 ruction."...(malyon-trace-string
1f120 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 25 38 64 20 20 20 25 2d 33 64 20 25 2d 32 35 73 20 25 73 ....(format."%8d...%-3d.%-25s.%s
1f140 5c 6e 22 0a 09 20 20 20 70 63 0a 09 20 20 20 6f 70 63 6f 64 65 0a 09 20 20 20 28 73 79 6d 62 6f \n".....pc.....opcode.....(symbo
1f160 6c 2d 6e 61 6d 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 6f 70 63 6f l-name.(aref.malyon-opcodes.opco
1f180 64 65 29 29 0a 09 20 20 20 28 61 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 28 63 6c 2d 6d 61 70 63 de)).....(apply.'concat.(cl-mapc
1f1a0 61 6e 0a 09 09 09 20 20 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 09 09 09 20 20 20 20 20 28 6c 69 an.......(lambda.(x).........(li
1f1c0 73 74 20 22 20 22 0a 09 09 09 09 20 20 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 0a st."."........(number-to-string.
1f1e0 09 09 09 09 20 20 20 20 28 69 66 20 28 63 68 61 72 61 63 74 65 72 70 20 78 29 0a 09 09 09 09 09 ........(if.(characterp.x)......
1f200 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 78 29 0a 09 09 09 09 20 20 20 20 20 (malyon-char-to-int.x)..........
1f220 20 78 29 29 29 29 0a 09 09 09 20 20 20 6f 70 65 72 61 6e 64 73 29 29 29 29 29 0a 0a 28 64 65 66 .x)))).......operands)))))..(def
1f240 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e 67 20 28 73 29 0a 20 20 22 4f 75 un.malyon-trace-string.(s)..."Ou
1f260 74 70 75 74 20 74 72 61 63 69 6e 67 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 tput.tracing.string."...(let.((t
1f280 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e race.(get-buffer.(concat."Malyon
1f2a0 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 .Trace.".malyon-story-file-name)
1f2c0 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 74 72 61 63 65 20 73 29 0a 20 20 20 20 20 20 ))).....(if.(and.trace.s).......
1f2e0 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 ..(with-current-buffer.trace....
1f300 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 .......(goto-char.(point-max))..
1f320 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 .........(insert.s)))))..(defun.
1f340 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 62 6a 65 63 74 20 28 6f 29 0a 20 20 22 4f 75 74 70 75 malyon-trace-object.(o)..."Outpu
1f360 74 20 74 72 61 63 69 6e 67 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61 63 t.tracing.object."...(let.((trac
1f380 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 54 72 e.(get-buffer.(concat."Malyon.Tr
1f3a0 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 ace.".malyon-story-file-name))))
1f3c0 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 74 72 61 63 65 20 6f 29 0a 20 20 20 20 20 20 20 20 28 .....(if.(and.trace.o).........(
1f3e0 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20 20 with-current-buffer.trace.......
1f400 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 ....(goto-char.(point-max)).....
1f420 20 20 20 20 20 20 28 70 72 69 6e 31 20 6f 20 74 72 61 63 65 29 29 29 29 29 0a 0a 3b 3b 3b 20 61 ......(prin1.o.trace)))))..;;;.a
1f440 6e 6e 6f 75 6e 63 65 20 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 0a 0a 28 70 72 6f 76 69 64 65 20 27 6d nnounce.malyon-mode..(provide.'m
1f460 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 28 70 72 6f 76 69 64 65 20 27 6d 61 6c 79 6f 6e 29 0a 0a 3b alyon-mode).(provide.'malyon)..;
1f480 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 ;;.malyon.el.ends.here..........
1f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................