| ofs | hex dump | ascii | 
|---|
| 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 2e 65 6c 00 00 | malyon-20161208.2125/malyon.el.. | 
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 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 33 36 35 31 35 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 31 34 30 00 20 30 00 00 00 | 0365150.00000000000.014140..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 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 | 
| 0420 | 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.. | 
| 0440 | 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 | 
| 0460 | 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 | 
| 0480 | 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 | 
| 04a0 | 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 | 
| 04c0 | 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 | 
| 04e0 | 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 | 
| 0500 | 6c 62 65 72 67 2e 6f 72 67 3e 0a 3b 3b 20 56 65    72 73 69 6f 6e 3a 20 32 30 31 36 31 32 30 34 0a | lberg.org>.;;.Version:.20161204. | 
| 0520 | 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69    72 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30 | ;;.Package-Requires:.((cl-lib."0 | 
| 0540 | 2e 35 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64    73 3a 20 67 61 6d 65 73 2c 20 65 6d 75 6c 61 74 | .5")).;;.Keywords:.games,.emulat | 
| 0560 | 69 6f 6e 73 0a 3b 3b 20 55 52 4c 3a 20 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | ions.;;.URL:.https://github.com/ | 
| 0580 | 73 70 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79    6f 6e 0a 0a 3b 3b 20 4f 6c 64 2d 4d 61 69 6e 74 | speedenator/malyon..;;.Old-Maint | 
| 05a0 | 61 69 6e 65 72 3a 20 50 65 74 65 72 20 49 6c 62    65 72 67 20 3c 70 65 74 65 72 2e 69 6c 62 65 72 | ainer:.Peter.Ilberg.<peter.ilber | 
| 05c0 | 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20    28 49 20 61 6d 20 75 6e 61 62 6c 65 20 74 6f 20 | g@gmail.com>.;;.(I.am.unable.to. | 
| 05e0 | 63 6f 6e 74 69 6e 75 65 20 73 75 70 70 6f 72 74    69 6e 67 20 6d 61 6c 79 6f 6e 2e 65 6c 2e 20 50 | continue.supporting.malyon.el..P | 
| 0600 | 6c 65 61 73 65 20 73 65 6e 64 20 6d 65 20 61 6e    0a 3b 3b 20 20 65 6d 61 69 6c 20 69 66 20 79 6f | lease.send.me.an.;;..email.if.yo | 
| 0620 | 75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64    20 69 6e 20 74 61 6b 69 6e 67 20 6f 76 65 72 20 | u.are.interested.in.taking.over. | 
| 0640 | 74 68 65 20 70 72 6f 6a 65 63 74 2e 20 54 68 61    6e 6b 73 2e 29 0a 0a 3b 3b 20 43 6f 70 79 72 69 | the.project..Thanks.)..;;.Copyri | 
| 0660 | 67 68 74 20 28 43 29 20 31 39 39 39 2d 32 30 31    36 20 50 65 74 65 72 20 49 6c 62 65 72 67 2c 20 | ght.(C).1999-2016.Peter.Ilberg,. | 
| 0680 | 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73    65 6e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67 | Christopher.Madsen,.Erik.Selberg | 
| 06a0 | 0a 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20    69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 | ..;;.Permission.is.hereby.grante | 
| 06c0 | 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67    65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e | d,.free.of.charge,.to.any.person | 
| 06e0 | 20 6f 62 74 61 69 6e 69 6e 67 20 61 0a 3b 3b 20    63 6f 70 79 20 6f 66 20 74 68 69 73 20 73 6f 66 | .obtaining.a.;;.copy.of.this.sof | 
| 0700 | 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69    61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 | tware.and.associated.documentati | 
| 0720 | 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53    6f 66 74 77 61 72 65 22 29 2c 0a 3b 3b 20 74 6f | on.files.(the."Software"),.;;.to | 
| 0740 | 20 64 65 61 6c 20 69 6e 20 74 68 65 20 53 6f 66    74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 | .deal.in.the.Software.without.re | 
| 0760 | 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75    64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d | striction,.including.without.lim | 
| 0780 | 69 74 61 74 69 6f 6e 0a 3b 3b 20 74 68 65 20 72    69 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 6f | itation.;;.the.rights.to.use,.co | 
| 07a0 | 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67    65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 | py,.modify,.merge,.publish,.dist | 
| 07c0 | 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e    73 65 2c 0a 3b 3b 20 61 6e 64 2f 6f 72 20 73 65 | ribute,.sublicense,.;;.and/or.se | 
| 07e0 | 6c 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65    20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 | ll.copies.of.the.Software,.and.t | 
| 0800 | 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73    20 74 6f 20 77 68 6f 6d 20 74 68 65 0a 3b 3b 20 | o.permit.persons.to.whom.the.;;. | 
| 0820 | 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e    69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 | Software.is.furnished.to.do.so,. | 
| 0840 | 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66    6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 | subject.to.the.following.conditi | 
| 0860 | 6f 6e 73 3a 0a 0a 3b 3b 20 54 68 65 20 61 62 6f    76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 | ons:..;;.The.above.copyright.not | 
| 0880 | 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72    6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 | ice.and.this.permission.notice.s | 
| 08a0 | 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64    20 69 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65 | hall.be.included.in.;;.all.copie | 
| 08c0 | 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c    20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 | s.or.substantial.portions.of.the | 
| 08e0 | 20 53 6f 66 74 77 61 72 65 2e 0a 0a 3b 3b 20 54    48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 | .Software...;;.THE.SOFTWARE.IS.P | 
| 0900 | 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c    20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 | ROVIDED."AS.IS",.WITHOUT.WARRANT | 
| 0920 | 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45    58 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 | Y.OF.ANY.KIND,.EXPRESS.OR.;;.IMP | 
| 0940 | 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20    42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 | LIED,.INCLUDING.BUT.NOT.LIMITED. | 
| 0960 | 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45    53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 | TO.THE.WARRANTIES.OF.MERCHANTABI | 
| 0980 | 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53    20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 | LITY,.;;.FITNESS.FOR.A.PARTICULA | 
| 09a0 | 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f    4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 | R.PURPOSE.AND.NONINFRINGEMENT..I | 
| 09c0 | 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c    20 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20 | N.NO.EVENT.SHALL.THE.;;.AUTHORS. | 
| 09e0 | 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c    44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 | OR.COPYRIGHT.HOLDERS.BE.LIABLE.F | 
| 0a00 | 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41    4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b | OR.ANY.CLAIM,.DAMAGES.OR.OTHER.; | 
| 0a20 | 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45    54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f | ;.LIABILITY,.WHETHER.IN.AN.ACTIO | 
| 0a40 | 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54    4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 | N.OF.CONTRACT,.TORT.OR.OTHERWISE | 
| 0a60 | 2c 20 41 52 49 53 49 4e 47 0a 3b 3b 20 46 52 4f    4d 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 | ,.ARISING.;;.FROM,.OUT.OF.OR.IN. | 
| 0a80 | 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20    54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 | CONNECTION.WITH.THE.SOFTWARE.OR. | 
| 0aa0 | 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52    0a 3b 3b 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 | THE.USE.OR.OTHER.;;.DEALINGS.IN. | 
| 0ac0 | 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b    3b 3b 20 43 72 65 64 69 74 73 3a 0a 0a 3b 3b 20 | THE.SOFTWARE...;;;.Credits:..;;. | 
| 0ae0 | 20 20 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 74 68 61 6e 6b | ..The.author.would.like.to.thank | 
| 0b00 | 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 65 70 6f 72 74 | .the.following.people.for.report | 
| 0b20 | 69 6e 67 0a 3b 3b 20 20 20 62 75 67 73 2c 20 74    65 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69 | ing.;;...bugs,.testing,.suggesti | 
| 0b40 | 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 | 
| 0b60 | 6e 74 73 3a 0a 3b 3b 20 20 20 20 20 42 65 72 6e    68 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 | nts:.;;.....Bernhard.Barde,.Jona | 
| 0b80 | 74 68 61 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 | than.Craven,.Alberto.Petrofsky,. | 
| 0ba0 | 41 6c 61 6e 20 53 68 75 74 6b 6f 0a 0a 3b 3b 3b    20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b | Alan.Shutko..;;;.Commentary:..;; | 
| 0bc0 | 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 70 72    6f 76 69 64 65 73 20 61 20 62 61 73 69 63 20 69 | .This.package.provides.a.basic.i | 
| 0be0 | 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 2c 20 38 20 5a | nterpreter.for.version.3,.5,.8.Z | 
| 0c00 | 2d 63 6f 64 65 0a 3b 3b 20 73 74 6f 72 79 20 66    69 6c 65 73 20 61 73 20 67 65 6e 65 72 61 74 65 | -code.;;.story.files.as.generate | 
| 0c20 | 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 61 6e | d.by.Inform.(C).Graham.Nelson.an | 
| 0c40 | 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 3b 3b 20 49    66 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 | d.Infocom...;;.If.you.encounter. | 
| 0c60 | 61 20 62 75 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 | a.bug.please.send.a.report.to.Pe | 
| 0c80 | 74 65 72 20 49 6c 62 65 72 67 20 61 74 0a 3b 3b    20 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d | ter.Ilberg.at.;;.peter.ilberg@gm | 
| 0ca0 | 61 69 6c 2e 63 6f 6d 2e 20 54 68 61 6e 6b 20 79    6f 75 21 0a 0a 3b 3b 20 54 6f 20 70 6c 61 79 20 | ail.com..Thank.you!..;;.To.play. | 
| 0cc0 | 61 20 73 74 6f 72 79 20 66 69 6c 65 20 73 69 6d    70 6c 79 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c | a.story.file.simply.type.M-x.mal | 
| 0ce0 | 79 6f 6e 20 61 6e 64 20 65 6e 74 65 72 20 74 68    65 20 70 61 74 68 20 74 6f 20 74 68 65 0a 3b 3b | yon.and.enter.the.path.to.the.;; | 
| 0d00 | 20 73 74 6f 72 79 20 66 69 6c 65 2e 20 49 66 20    61 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72 | .story.file..If.anything.goes.wr | 
| 0d20 | 6f 6e 67 20 61 6e 64 20 79 6f 75 20 77 61 6e 74    20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 | ong.and.you.want.to.manually.cle | 
| 0d40 | 61 6e 0a 3b 3b 20 75 70 20 74 79 70 65 20 4d 2d    78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49 | an.;;.up.type.M-x.malyon-quit..I | 
| 0d60 | 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20    63 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20 | n.addition,.you.can.switch.back. | 
| 0d80 | 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 3b 3b 20    70 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 | to.a.game.in.;;.progress.by.typi | 
| 0da0 | 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2e 0a 0a 3b 3b 20 41 20 6e 6f 74 | ng.M-x.malyon-restore...;;.A.not | 
| 0dc0 | 65 20 6f 6e 20 74 68 65 20 66 6f 72 6d 61 74 20    6f 66 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 | e.on.the.format.of.saved.game.st | 
| 0de0 | 61 74 65 73 3a 0a 0a 3b 3b 20 41 73 20 6f 66 20    76 65 72 73 69 6f 6e 20 31 2e 30 2c 20 4d 61 6c | ates:..;;.As.of.version.1.0,.Mal | 
| 0e00 | 79 6f 6e 20 73 75 70 70 6f 72 74 73 20 74 68 65    20 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 66 6f | yon.supports.the.quetzal.file.fo | 
| 0e20 | 72 6d 61 74 20 66 6f 72 20 73 61 76 65 64 0a 3b    3b 20 67 61 6d 65 73 2e 20 53 75 70 70 6f 72 74 | rmat.for.saved.;;.games..Support | 
| 0e40 | 20 66 6f 72 20 74 68 69 73 20 66 6f 72 6d 61 74    20 72 65 71 75 69 72 65 64 20 63 68 61 6e 67 65 | .for.this.format.required.change | 
| 0e60 | 73 20 74 6f 20 73 65 76 65 72 61 6c 20 69 6e 74    65 72 6e 61 6c 0a 3b 3b 20 64 61 74 61 20 73 74 | s.to.several.internal.;;.data.st | 
| 0e80 | 72 75 63 74 75 72 65 73 20 28 73 74 61 63 6b 20    66 72 61 6d 65 73 20 61 6e 64 20 63 61 74 63 68 | ructures.(stack.frames.and.catch | 
| 0ea0 | 2d 74 68 72 6f 77 29 20 74 68 61 74 20 61 72 65    20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 3b 3b | -throw).that.are.incompatible.;; | 
| 0ec0 | 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 69 6d    70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 55 6e | .with.the.old.implementation..Un | 
| 0ee0 | 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65    20 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74 | fortunately,.the.old.file.format | 
| 0f00 | 20 66 6f 72 0a 3b 3b 20 73 61 76 65 64 20 67 61    6d 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f | .for.;;.saved.games.cannot.be.co | 
| 0f20 | 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 71 75 65    74 7a 61 6c 2e 0a 0a 3b 3b 20 46 6f 72 20 62 61 | nverted.into.quetzal...;;.For.ba | 
| 0f40 | 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62    69 6c 69 74 79 2c 20 68 6f 77 65 76 65 72 2c 20 | ckwards.compatibility,.however,. | 
| 0f60 | 4d 61 6c 79 6f 6e 20 73 74 69 6c 6c 20 73 75 70    70 6f 72 74 73 20 74 68 65 20 6f 6c 64 0a 3b 3b | Malyon.still.supports.the.old.;; | 
| 0f80 | 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 20 41 6e    64 20 79 6f 75 20 63 61 6e 20 63 6f 6e 74 69 6e | .file.format..And.you.can.contin | 
| 0fa0 | 75 65 20 74 6f 20 70 6c 61 79 20 79 6f 75 72 20    6f 6c 64 20 67 61 6d 65 20 73 74 61 74 65 73 2e | ue.to.play.your.old.game.states. | 
| 0fc0 | 0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 6f 66 20    74 68 65 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c | ..;;.Because.of.the.incompatibil | 
| 0fe0 | 69 74 79 20 6f 66 20 74 68 65 20 74 77 6f 20 66    69 6c 65 20 66 6f 72 6d 61 74 73 2c 20 4d 61 6c | ity.of.the.two.file.formats,.Mal | 
| 1000 | 79 6f 6e 20 6e 6f 77 0a 3b 3b 20 72 75 6e 73 2c    20 61 73 20 66 6f 6c 6c 6f 77 73 2c 20 69 6e 20 | yon.now.;;.runs,.as.follows,.in. | 
| 1020 | 65 69 74 68 65 72 20 6f 66 20 74 77 6f 20 6d 6f    64 65 73 3a 20 71 75 65 74 7a 61 6c 20 61 6e 64 | either.of.two.modes:.quetzal.and | 
| 1040 | 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a    0a 3b 3b 20 2d 20 69 6e 20 71 75 65 74 7a 61 6c | .compatibility...;;.-.in.quetzal | 
| 1060 | 20 6d 6f 64 65 2c 20 67 61 6d 65 20 73 74 61 74    65 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 | .mode,.game.states.are.saved.in. | 
| 1080 | 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 0a 3b    3b 20 2d 20 69 6e 20 63 6f 6d 70 61 74 69 62 69 | quetzal.format.;;.-.in.compatibi | 
| 10a0 | 6c 69 74 79 20 6d 6f 64 65 2c 20 67 61 6d 65 73    20 73 74 61 74 65 73 20 61 72 65 20 73 61 76 65 | lity.mode,.games.states.are.save | 
| 10c0 | 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 66 6f 72    6d 61 74 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67 | d.in.the.old.format.;;.-.loading | 
| 10e0 | 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e    20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 20 | .a.game.state.in.quetzal.format. | 
| 1100 | 73 77 69 74 63 68 65 73 20 74 6f 20 71 75 65 74    7a 61 6c 20 6d 6f 64 65 0a 3b 3b 20 2d 20 6c 6f | switches.to.quetzal.mode.;;.-.lo | 
| 1120 | 61 64 69 6e 67 20 61 6e 20 6f 6c 64 20 67 61 6d    65 20 73 74 61 74 65 20 73 77 69 74 63 68 65 73 | ading.an.old.game.state.switches | 
| 1140 | 20 74 6f 20 63 6f 6d 70 61 74 69 62 69 6c 69 74    79 20 6d 6f 64 65 0a 3b 3b 20 2d 20 71 75 65 74 | .to.compatibility.mode.;;.-.quet | 
| 1160 | 7a 61 6c 20 6d 6f 64 65 20 69 73 20 74 68 65 20    64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 0a | zal.mode.is.the.default.setting. | 
| 1180 | 0a 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72    64 73 2c 20 4d 61 6c 79 6f 6e 20 77 69 6c 6c 20 | .;;.In.other.words,.Malyon.will. | 
| 11a0 | 6f 6e 6c 79 20 75 73 65 20 74 68 65 20 6f 6c 64    20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 66 20 | only.use.the.old.file.format.if. | 
| 11c0 | 79 6f 75 27 76 65 0a 3b 3b 20 72 65 73 74 6f 72    65 64 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 | you've.;;.restored.a.game.state. | 
| 11e0 | 73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64    20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 3b | saved.in.the.old.file.format...; | 
| 1200 | 3b 20 45 6e 6a 6f 79 21 0a 0a 3b 3b 3b 20 43 6f    64 65 3a 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76 | ;.Enjoy!..;;;.Code:..;;.global.v | 
| 1220 | 61 72 69 61 62 6c 65 73 20 2d 20 6d 6f 76 65 64    20 68 65 72 65 20 74 6f 20 61 70 70 65 61 73 65 | ariables.-.moved.here.to.appease | 
| 1240 | 20 74 68 65 20 62 79 74 65 2d 63 6f 64 65 20 63    6f 6d 70 69 6c 65 72 0a 0a 3b 3b 20 72 65 71 75 | .the.byte-code.compiler..;;.requ | 
| 1260 | 69 72 65 6d 65 6e 74 73 0a 0a 28 72 65 71 75 69    72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 | irements..(require.'cl-lib).(req | 
| 1280 | 75 69 72 65 20 27 62 69 6e 64 61 74 29 0a 0a 28    64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d | uire.'bindat)..(defconst.malyon- | 
| 12a0 | 76 65 72 73 69 6f 6e 20 22 31 2e 32 22 20 22 4d    61 6c 79 6f 6e 20 76 65 72 73 69 6f 6e 20 6e 75 | version."1.2"."Malyon.version.nu | 
| 12c0 | 6d 62 65 72 22 29 0a 0a 28 64 65 66 67 72 6f 75    70 20 6d 61 6c 79 6f 6e 20 6e 69 6c 0a 20 20 22 | mber")..(defgroup.malyon.nil..." | 
| 12e0 | 50 6c 61 79 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 | Play.Z-machine.interactive.ficti | 
| 1300 | 6f 6e 20 67 61 6d 65 73 2e 22 0a 20 20 3a 70 72    65 66 69 78 20 22 6d 61 6c 79 6f 6e 2d 22 0a 20 | on.games."...:prefix."malyon-".. | 
| 1320 | 20 3a 67 72 6f 75 70 20 27 67 61 6d 65 73 29 0a    0a 3b 3b 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 | .:group.'games)..;;.customizable | 
| 1340 | 20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 6d 61 6c 79 6f 6e 2d 73 74 | .variables..(defcustom.malyon-st | 
| 1360 | 6f 72 69 65 73 2d 64 69 72 65 63 74 6f 72 79 20    6e 69 6c 0a 20 20 22 54 68 65 20 64 65 66 61 75 | ories-directory.nil..."The.defau | 
| 1380 | 6c 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20    6c 6f 6f 6b 20 66 6f 72 20 73 74 6f 72 79 20 66 | lt.directory.to.look.for.story.f | 
| 13a0 | 69 6c 65 73 2e 0a 4e 69 6c 20 6d 65 61 6e 73 20    75 73 65 20 74 68 65 20 62 75 66 66 65 72 27 73 | iles..Nil.means.use.the.buffer's | 
| 13c0 | 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f    72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 | .default.directory."...:type.'(c | 
| 13e0 | 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 6e 69 6c    29 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 3a | hoice.(const.nil).directory)...: | 
| 1400 | 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a    0a 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 20 69 | group.'malyon)...;;.story.file.i | 
| 1420 | 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 73 74 6f 72 79 | nformation..(defvar.malyon-story | 
| 1440 | 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20    20 22 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 | -file-name.nil..."The.name.of.th | 
| 1460 | 65 20 73 74 6f 72 79 20 66 69 6c 65 20 62 65 69    6e 67 20 65 78 65 63 75 74 65 64 2e 22 29 0a 0a | e.story.file.being.executed.").. | 
| 1480 | 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73    74 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 | (defvar.malyon-story-file.nil... | 
| 14a0 | 22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20    77 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 | "The.story.file.which.is.current | 
| 14c0 | 6c 79 20 62 65 69 6e 67 20 72 75 6e 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d | ly.being.run.")..(defvar.malyon- | 
| 14e0 | 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6e 69    6c 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66 | story-version.nil..."The.story.f | 
| 1500 | 69 6c 65 20 76 65 72 73 69 6f 6e 2e 22 29 0a 0a    28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 | ile.version.")..(defvar.malyon-s | 
| 1520 | 75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e    73 20 27 28 33 20 35 20 38 29 0a 20 20 22 41 20 | upported-versions.'(3.5.8)..."A. | 
| 1540 | 6c 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65    64 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72 | list.of.supported.story.file.ver | 
| 1560 | 73 69 6f 6e 73 2e 22 29 0a 0a 3b 3b 20 73 74 61    74 75 73 20 61 6e 64 20 74 72 61 6e 73 63 72 69 | sions.")..;;.status.and.transcri | 
| 1580 | 70 74 20 62 75 66 66 65 72 73 0a 0a 28 64 65 66    76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 | pt.buffers..(defvar.malyon-trans | 
| 15a0 | 63 72 69 70 74 2d 62 75 66 66 65 72 20 6e 69 6c    0a 20 20 22 54 68 65 20 6d 61 69 6e 20 74 72 61 | cript-buffer.nil..."The.main.tra | 
| 15c0 | 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 6f    66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 | nscript.buffer.of.the.story.file | 
| 15e0 | 20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28    64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 | .execution.")..(defvar.malyon-tr | 
| 1600 | 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d    62 75 66 66 65 72 65 64 20 6e 69 6c 0a 20 20 22 | anscript-buffer-buffered.nil..." | 
| 1620 | 49 73 20 6f 75 74 70 75 74 20 69 6e 20 74 68 65    20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 | Is.output.in.the.transcript.buff | 
| 1640 | 65 72 20 62 75 66 66 65 72 65 64 3f 22 29 0a 0a    28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 | er.buffered?")..(defvar.malyon-s | 
| 1660 | 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e 69 6c    0a 20 20 22 54 68 65 20 73 74 61 74 75 73 20 62 | tatus-buffer.nil..."The.status.b | 
| 1680 | 61 72 20 62 75 66 66 65 72 20 6f 66 20 74 68 65    20 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63 | ar.buffer.of.the.story.file.exec | 
| 16a0 | 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d | ution.")..(defvar.malyon-status- | 
| 16c0 | 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 6e 69 6c    0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f | buffer-lines.nil..."The.number.o | 
| 16e0 | 66 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 73    74 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72 | f.lines.in.the.status.bar.buffer | 
| 1700 | 2e 22 29 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 | .")..(defvar.malyon-status-buffe | 
| 1720 | 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20    6e 69 6c 0a 20 20 22 49 66 20 74 68 65 20 6e 75 | r-delayed-split.nil..."If.the.nu | 
| 1740 | 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e    20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 | mber.of.lines.in.the.status.buff | 
| 1760 | 65 72 20 69 73 20 72 65 64 75 63 65 64 2c 0a 74    68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 | er.is.reduced,.the.window.config | 
| 1780 | 75 72 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63    68 61 6e 67 65 64 20 69 6d 6d 65 64 69 61 74 65 | uration.is.not.changed.immediate | 
| 17a0 | 6c 79 2e 20 49 74 0a 69 73 20 63 68 61 6e 67 65    64 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 | ly..It.is.changed.after.the.next | 
| 17c0 | 20 74 75 72 6e 20 28 72 65 61 64 20 6f 72 20 72    65 61 64 5f 63 68 61 72 29 2e 22 29 0a 0a 28 64 | .turn.(read.or.read_char).")..(d | 
| 17e0 | 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 70 6f 69 6e 74 | efvar.malyon-status-buffer-point | 
| 1800 | 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 6f 69 6e    74 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 | .nil..."The.point.location.in.th | 
| 1820 | 65 20 73 74 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 | e.status.bar.buffer.")..(defvar. | 
| 1840 | 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d    6e 20 37 32 0a 20 20 22 4d 61 78 69 6d 75 6d 20 | malyon-max-column.72..."Maximum. | 
| 1860 | 63 6f 6c 75 6d 6e 20 66 6f 72 20 74 65 78 74 20    64 69 73 70 6c 61 79 2e 22 29 0a 0a 3b 3b 20 77 | column.for.text.display.")..;;.w | 
| 1880 | 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74    0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e | indow.management..(defvar.malyon | 
| 18a0 | 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72    61 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65 | -window-configuration.nil..."The | 
| 18c0 | 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20    63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 | .current.window.configuration.of | 
| 18e0 | 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65    72 70 72 65 74 65 72 2e 22 29 0a 0a 28 64 65 66 | .the.malyon.interpreter.")..(def | 
| 1900 | 76 61 72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65    6e 74 2d 77 69 6e 64 6f 77 20 6e 69 6c 0a 20 20 | var.malyon-current-window.nil... | 
| 1920 | 22 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 61    63 74 69 76 65 20 77 69 6e 64 6f 77 20 66 6f 72 | "The.currently.active.window.for | 
| 1940 | 20 74 65 78 74 20 6f 75 74 70 75 74 2e 22 29 0a    0a 3b 3b 20 7a 20 6d 61 63 68 69 6e 65 20 72 65 | .text.output.")..;;.z.machine.re | 
| 1960 | 67 69 73 74 65 72 73 0a 0a 28 64 65 66 76 61 72    20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6e 69 | gisters..(defvar.malyon-stack.ni | 
| 1980 | 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b 20 6f    66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e | l..."The.stack.of.the.z.machine. | 
| 19a0 | 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79    6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 | ")..(defvar.malyon-stack-pointer | 
| 19c0 | 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63    6b 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 | .nil..."The.stack.pointer.of.the | 
| 19e0 | 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 6e 2d 66 72 | .z.machine.")..(defvar.malyon-fr | 
| 1a00 | 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a    20 20 22 54 68 65 20 66 72 61 6d 65 20 70 6f 69 | ame-pointer.nil..."The.frame.poi | 
| 1a20 | 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 65 66 76 61 | nter.of.the.z.machine.")..(defva | 
| 1a40 | 72 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 6e 69 6c | r.malyon-instruction-pointer.nil | 
| 1a60 | 0a 20 20 22 54 68 65 20 69 6e 73 74 72 75 63 74    69 6f 6e 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 | ..."The.instruction.pointer.of.t | 
| 1a80 | 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a    0a 3b 3b 20 67 61 6d 65 20 66 69 6c 65 20 72 65 | he.z.machine.")..;;.game.file.re | 
| 1aa0 | 6c 61 74 65 64 20 67 6c 6f 62 61 6c 20 76 61 72    69 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20 | lated.global.variables..(defvar. | 
| 1ac0 | 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d    65 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 | malyon-score-game.nil..."A.flag. | 
| 1ae0 | 69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68    65 72 20 74 68 69 73 20 73 74 6f 72 79 20 75 73 | indicating.whether.this.story.us | 
| 1b00 | 65 73 20 73 63 6f 72 65 20 6f 72 20 74 69 6d 65    2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c | es.score.or.time.")..(defvar.mal | 
| 1b20 | 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69    70 6c 69 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 | yon-packed-multiplier.nil..."The | 
| 1b40 | 20 61 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68    20 70 61 63 6b 65 64 20 61 64 64 72 65 73 73 65 | .amount.by.which.packed.addresse | 
| 1b60 | 73 20 61 72 65 20 6d 75 6c 74 69 70 6c 69 65 64    20 74 6f 20 67 65 74 20 62 79 74 65 0a 61 64 64 | s.are.multiplied.to.get.byte.add | 
| 1b80 | 72 65 73 73 65 73 2e 22 29 0a 0a 28 64 65 66 76    61 72 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c | resses.")..(defvar.malyon-global | 
| 1ba0 | 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 0a 20    20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 | -variables.nil..."A.pointer.to.t | 
| 1bc0 | 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62    6c 65 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 | he.global.variable.section.in.th | 
| 1be0 | 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d | e.story.file.")..(defvar.malyon- | 
| 1c00 | 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 6e 69    6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 | abbreviations.nil..."A.pointer.t | 
| 1c20 | 6f 20 74 68 65 20 61 62 62 72 65 76 69 61 74 69    6f 6e 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 | o.the.abbreviations.in.the.story | 
| 1c40 | 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 | .file.")..(defvar.malyon-alphabe | 
| 1c60 | 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 7a 20 6d    61 63 68 69 6e 65 27 73 20 74 65 78 74 20 61 6c | t.nil..."The.z.machine's.text.al | 
| 1c80 | 70 68 61 62 65 74 2e 22 29 0a 0a 28 64 65 66 76    61 72 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 | phabet.")..(defvar.malyon-whites | 
| 1ca0 | 70 61 63 65 20 6e 69 6c 0a 20 20 22 41 20 73 74    72 69 6e 67 20 6f 66 20 77 68 69 74 65 73 70 61 | pace.nil..."A.string.of.whitespa | 
| 1cc0 | 63 65 20 63 68 61 72 61 63 74 65 72 73 20 72 65    63 6f 67 6e 69 7a 65 64 20 62 79 20 74 68 65 20 | ce.characters.recognized.by.the. | 
| 1ce0 | 69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a    3b 3b 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 73 | interpreter.")..;;.object.tables | 
| 1d00 | 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 62 6c 65 20 6e 69 | ..(defvar.malyon-object-table.ni | 
| 1d20 | 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74    6f 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 | l..."A.pointer.to.the.object.tab | 
| 1d40 | 6c 65 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 | le.in.the.story.file.")..(defvar | 
| 1d60 | 20 6d 61 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 | .malyon-object-table-entry-size. | 
| 1d80 | 6e 69 6c 0a 20 20 22 54 68 65 20 73 69 7a 65 20    6f 66 20 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20 | nil..."The.size.of.one.entry.in. | 
| 1da0 | 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65    2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c | the.object.table.")..(defvar.mal | 
| 1dc0 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65    72 74 69 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 | yon-object-properties.nil..."The | 
| 1de0 | 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 70 65    72 74 69 65 73 20 70 65 72 20 6f 62 6a 65 63 74 | .number.of.properties.per.object | 
| 1e00 | 20 6d 69 6e 75 73 20 6f 6e 65 2e 22 29 0a 0a 28    64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 | .minus.one.")..(defvar.malyon-ob | 
| 1e20 | 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66    66 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 | ject-property-offset.nil..."The. | 
| 1e40 | 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 74    68 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 61 | byte.offset.of.the.properties.ta | 
| 1e60 | 62 6c 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63    74 2e 22 29 0a 0a 3b 3b 20 64 69 63 74 69 6f 6e | ble.in.the.object.")..;;.diction | 
| 1e80 | 61 72 69 65 73 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 | aries..(defvar.malyon-dictionary | 
| 1ea0 | 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65    72 20 74 6f 20 74 68 65 20 64 69 63 74 69 6f 6e | .nil..."A.pointer.to.the.diction | 
| 1ec0 | 61 72 79 20 6f 66 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 | ary.of.the.story.file.")..(defva | 
| 1ee0 | 72 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 | r.malyon-dictionary-entry-length | 
| 1f00 | 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67    74 68 20 6f 66 20 61 20 64 69 63 74 69 6f 6e 61 | .nil..."The.length.of.a.dictiona | 
| 1f20 | 72 79 20 65 6e 74 72 79 2e 22 29 0a 0a 28 64 65    66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 | ry.entry.")..(defvar.malyon-dict | 
| 1f40 | 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 72 69    65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 | ionary-num-entries.nil..."The.nu | 
| 1f60 | 6d 62 65 72 20 6f 66 20 64 69 63 74 69 6f 6e 61    72 79 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28 | mber.of.dictionary.entries.")..( | 
| 1f80 | 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 65 6e 74 72 69 65 73 | defvar.malyon-dictionary-entries | 
| 1fa0 | 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65    72 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 64 | .nil..."A.pointer.to.the.first.d | 
| 1fc0 | 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e    22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 | ictionary.entry.")..(defvar.maly | 
| 1fe0 | 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 20 6e 69 6c 0a 20 20 | on-dictionary-word-length.nil... | 
| 2000 | 22 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61    20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 | "The.length.of.a.dictionary.word | 
| 2020 | 2e 22 29 0a 0a 3b 3b 20 67 61 6d 65 20 73 74 61    74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a | .")..;;.game.state.information.. | 
| 2040 | 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 2d 72 65 73 74 61 72 | (defvar.malyon-game-state-restar | 
| 2060 | 74 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 6f 72 20 69 | t.nil..."The.machine.state.for.i | 
| 2080 | 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 72 65 73 74    61 72 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 | mplementing.restart.")..(defvar. | 
| 20a0 | 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74    65 2d 75 6e 64 6f 20 6e 69 6c 0a 20 20 22 54 68 | malyon-game-state-undo.nil..."Th | 
| 20c0 | 65 20 6d 61 63 68 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 | e.machine.state.for.implementing | 
| 20e0 | 20 75 6e 64 6f 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 | .undo.")..(defvar.malyon-game-st | 
| 2100 | 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 0a 20 20    22 53 74 6f 72 65 20 67 61 6d 65 20 73 74 61 74 | ate-quetzal.t..."Store.game.stat | 
| 2120 | 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f    72 20 71 75 65 74 7a 61 6c 2e 22 29 0a 0a 3b 3b | e.information.for.quetzal.")..;; | 
| 2140 | 20 76 61 72 69 6f 75 73 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 | .various..(defvar.malyon-current | 
| 2160 | 2d 66 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 65    20 63 75 72 72 65 6e 74 20 66 61 63 65 20 69 6e | -face.nil..."The.current.face.in | 
| 2180 | 20 77 68 69 63 68 20 74 6f 20 64 69 73 70 6c 61    79 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76 | .which.to.display.text.")..(defv | 
| 21a0 | 61 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 | ar.malyon-last-cursor-position-a | 
| 21c0 | 66 74 65 72 2d 69 6e 70 75 74 20 6e 69 6c 0a 20    20 22 54 68 65 20 6c 61 73 74 20 63 75 72 73 6f | fter-input.nil..."The.last.curso | 
| 21e0 | 72 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72    20 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 66 | r.position.after.reading.input.f | 
| 2200 | 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64    2e 22 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 74 72 | rom.the.keyboard.")..;;.error.tr | 
| 2220 | 61 70 70 69 6e 67 0a 0a 28 64 65 66 6d 61 63 72    6f 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e | apping..(defmacro.malyon-hide-in | 
| 2240 | 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d    65 73 73 61 67 65 20 62 6f 64 79 66 6f 72 6d 29 | ternal-errors.(message.bodyform) | 
| 2260 | 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44    59 46 4f 52 4d 2c 20 73 75 62 73 74 69 74 75 74 | ..."Evaluate.BODYFORM,.substitut | 
| 2280 | 69 6e 67 20 4d 45 53 53 41 47 45 20 66 6f 72 20    61 6e 79 20 65 72 72 6f 72 2e 22 0a 20 20 28 64 | ing.MESSAGE.for.any.error."...(d | 
| 22a0 | 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31    29 29 0a 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e | eclare.(indent.1))...`(condition | 
| 22c0 | 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20    2c 62 6f 64 79 66 6f 72 6d 0a 20 20 20 20 28 65 | -case.nil.......,bodyform.....(e | 
| 22e0 | 72 72 6f 72 0a 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 2c 6d | rror......(malyon-fatal-error.,m | 
| 2300 | 65 73 73 61 67 65 29 29 29 29 0a 0a 3b 3b 20 77    68 65 6e 20 64 65 62 75 67 67 69 6e 67 2c 20 75 | essage))))..;;.when.debugging,.u | 
| 2320 | 6e 63 6f 6d 6d 65 6e 74 20 74 68 69 73 20 4e 4f    50 20 76 65 72 73 69 6f 6e 20 6f 66 20 6d 61 6c | ncomment.this.NOP.version.of.mal | 
| 2340 | 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61    6c 2d 65 72 72 6f 72 73 0a 3b 28 64 65 66 6d 61 | yon-hide-internal-errors.;(defma | 
| 2360 | 63 72 6f 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 | cro.malyon-hide-internal-errors. | 
| 2380 | 28 6d 73 67 20 62 6f 64 79 29 20 28 64 65 63 6c    61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 20 | (msg.body).(declare.(indent.1)). | 
| 23a0 | 62 6f 64 79 29 0a 0a 3b 3b 20 69 6e 74 65 72 61    63 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73 0a | body)..;;.interactive.functions. | 
| 23c0 | 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 20 28 66 69 | ;;;###autoload.(defun.malyon.(fi | 
| 23e0 | 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 50 6c 61 79    20 61 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e 74 | le-name)..."Play.a.Z-machine.int | 
| 2400 | 65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e    20 67 61 6d 65 2e 0a 49 66 20 61 20 67 61 6d 65 | eractive.fiction.game..If.a.game | 
| 2420 | 20 69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2c    20 72 65 73 74 6f 72 65 73 20 74 68 65 20 67 61 | .is.in.progress,.restores.the.ga | 
| 2440 | 6d 65 27 73 20 77 69 6e 64 6f 77 20 63 6f 6e 66    69 67 75 72 61 74 69 6f 6e 2e 0a 4f 74 68 65 72 | me's.window.configuration..Other | 
| 2460 | 77 69 73 65 2c 20 79 6f 75 20 61 72 65 20 70 72    6f 6d 70 74 65 64 20 66 6f 72 20 61 20 73 74 6f | wise,.you.are.prompted.for.a.sto | 
| 2480 | 72 79 20 66 69 6c 65 20 74 6f 20 6c 6f 61 64 2c    20 77 68 69 63 68 20 6d 61 79 20 62 65 0a 65 69 | ry.file.to.load,.which.may.be.ei | 
| 24a0 | 74 68 65 72 20 61 20 72 61 77 20 5a 2d 63 6f 64    65 20 66 69 6c 65 20 6f 72 20 6f 6e 65 20 70 61 | ther.a.raw.Z-code.file.or.one.pa | 
| 24c0 | 63 6b 61 67 65 64 20 69 6e 20 61 20 42 6c 6f 72    62 20 66 69 6c 65 2e 0a 5a 2d 63 6f 64 65 20 76 | ckaged.in.a.Blorb.file..Z-code.v | 
| 24e0 | 65 72 73 69 6f 6e 73 20 33 2c 20 35 2c 20 61 6e    64 20 38 20 61 72 65 20 73 75 70 70 6f 72 74 65 | ersions.3,.5,.and.8.are.supporte | 
| 2500 | 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 20 20 | d."...(interactive....(list..... | 
| 2520 | 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79    2d 66 69 6c 65 20 6e 69 6c 0a 20 20 20 20 20 20 | (if.malyon-story-file.nil....... | 
| 2540 | 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20    22 53 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65 | (read-file-name."Story.file.name | 
| 2560 | 3a 20 22 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 69 6c | :.".malyon-stories-directory.nil | 
| 2580 | 20 74 29 29 29 29 0a 20 20 28 69 66 20 6d 61 6c    79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 | .t))))...(if.malyon-story-file.. | 
| 25a0 | 20 20 20 20 20 28 69 66 20 66 69 6c 65 2d 6e 61    6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 | .....(if.file-name...........(er | 
| 25c0 | 72 6f 72 20 22 59 6f 75 20 61 72 65 20 61 6c 72    65 61 64 79 20 70 6c 61 79 69 6e 67 20 61 20 67 | ror."You.are.already.playing.a.g | 
| 25e0 | 61 6d 65 2e 22 29 0a 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 29 | ame.").........(malyon-restore)) | 
| 2600 | 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73    65 2c 20 77 65 27 72 65 20 73 74 61 72 74 69 6e | .....;;.Otherwise,.we're.startin | 
| 2620 | 67 20 61 20 6e 65 77 20 67 61 6d 65 3a 0a 20 20    20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 | g.a.new.game:.....(cond......((s | 
| 2640 | 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 2e    5c 5c 28 3f 3a 7a 3f 62 6c 6f 72 62 5c 5c 7c 62 | tring-match."\\.\\(?:z?blorb\\|b | 
| 2660 | 6c 62 5c 5c 7c 7a 6c 62 5c 5c 29 24 22 20 66 69    6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 | lb\\|zlb\\)$".file-name).......( | 
| 2680 | 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72    62 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 | malyon-load-blorb-file.file-name | 
| 26a0 | 29 29 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 7a 5b 33 35 38 | ))......((string-match."\\.z[358 | 
| 26c0 | 5d 24 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 | ]$".file-name).......(malyon-hid | 
| 26e0 | 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72    73 20 22 6c 6f 61 64 69 6e 67 20 6f 66 20 73 74 | e-internal-errors."loading.of.st | 
| 2700 | 6f 72 79 20 66 69 6c 65 20 66 61 69 6c 65 64 2e    22 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f | ory.file.failed.".........(malyo | 
| 2720 | 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c    65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 | n-load-story-file.file-name))).. | 
| 2740 | 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 65 72    72 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61 | ....(t.......(error."%s.is.not.a | 
| 2760 | 20 76 65 72 73 69 6f 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 | .version.3,.5,.or.8.story.file." | 
| 2780 | 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20    20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 | .file-name))).....(setq.malyon-s | 
| 27a0 | 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 28 61 72    65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | tory-version.(aref.malyon-story- | 
| 27c0 | 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 63 6f    6e 64 20 28 28 6d 65 6d 71 20 6d 61 6c 79 6f 6e | file.0)).....(cond.((memq.malyon | 
| 27e0 | 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6d    61 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d | -story-version.malyon-supported- | 
| 2800 | 76 65 72 73 69 6f 6e 73 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 | versions)............(malyon-hid | 
| 2820 | 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72    73 20 22 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f | e-internal-errors."initializatio | 
| 2840 | 6e 20 6f 66 20 69 6e 74 65 72 70 72 65 74 65 72    20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 20 20 | n.of.interpreter.failed."....... | 
| 2860 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69    6e 69 74 69 61 6c 69 7a 65 29 29 0a 20 20 20 20 | .......(malyon-initialize))..... | 
| 2880 | 20 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 0a 20 20 20 | .......(malyon-interpreter)).... | 
| 28a0 | 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20    20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 | .......(t............(message."% | 
| 28c0 | 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 20 38 20 73 74 | s.is.not.a.version.3,.5,.or.8.st | 
| 28e0 | 6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d    6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 | ory.file.".file-name)........... | 
| 2900 | 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | .(malyon-cleanup)))))..(defun.ma | 
| 2920 | 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 20 28 29 0a    20 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 73 | lyon-restore.()..."Restore.the.s | 
| 2940 | 61 76 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69    67 75 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 | ave.window.configuration.for.the | 
| 2960 | 20 69 6e 74 65 72 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 | .interpreter."...(interactive).. | 
| 2980 | 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 20 22 72 | .(malyon-hide-internal-errors."r | 
| 29a0 | 65 73 74 6f 72 69 6e 67 20 77 69 6e 64 6f 77 20    63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 61 | estoring.window.configuration.fa | 
| 29c0 | 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 6d 61 6c 79 6f 6e 2d | iled.".....(progn.......(malyon- | 
| 29e0 | 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 0a 20 20 | restore-window-configuration)... | 
| 2a00 | 20 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 | ....(malyon-adjust-transcript))) | 
| 2a20 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 71 75 69 74 20 28 29 0a 20 20 22 45 78 69 74 | )..(defun.malyon-quit.()..."Exit | 
| 2a40 | 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65    72 70 72 65 74 65 72 2e 22 0a 20 20 28 69 6e 74 | .the.malyon.interpreter."...(int | 
| 2a60 | 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20    6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c | eractive)...(if.malyon-story-fil | 
| 2a80 | 65 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 6c 79 6f 6e 2d 72 | e.......(progn.........(malyon-r | 
| 2aa0 | 65 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20    28 69 66 20 28 6d 61 6c 79 6f 6e 2d 79 65 73 2d | estore).........(if.(malyon-yes- | 
| 2ac0 | 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20    22 44 6f 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 | or-no-p-minibuf."Do.you.really.w | 
| 2ae0 | 61 6e 74 20 74 6f 20 71 75 69 74 3f 20 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | ant.to.quit?.").............(mal | 
| 2b00 | 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 29 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | yon-cleanup)))))..;;;###autoload | 
| 2b20 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d    6f 64 65 20 28 29 0a 20 20 22 54 68 69 73 20 6d | .(defun.malyon-mode.()..."This.m | 
| 2b40 | 6f 64 65 20 70 72 6f 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 | ode.provides.a.basic.interpreter | 
| 2b60 | 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 33 2c 20    35 2c 20 38 20 5a 2d 63 6f 64 65 0a 73 74 6f 72 | .for.version.3,.5,.8.Z-code.stor | 
| 2b80 | 79 20 66 69 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 | y.files.as.generated.by.Inform.( | 
| 2ba0 | 43 29 20 47 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 4e | C).Graham.Nelson.and.Infocom...N | 
| 2bc0 | 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 70 61    63 6b 61 67 65 20 69 73 20 62 79 20 6e 6f 20 6d | ote.that.this.package.is.by.no.m | 
| 2be0 | 65 61 6e 73 20 63 6f 6d 70 6c 65 74 65 20 61 6e    64 20 62 75 67 20 66 72 65 65 2e 0a 49 66 20 79 | eans.complete.and.bug.free..If.y | 
| 2c00 | 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 20 61 | ou.encounter.a.bug.please.send.a | 
| 2c20 | 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 70 65 74 65 72 | .report.to.Peter.Ilberg.at.peter | 
| 2c40 | 2e 69 6c 62 65 72 67 40 6e 61 74 69 6e 73 74 2e    63 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f 75 21 0a | .ilberg@natinst.com..Thank.you!. | 
| 2c60 | 0a 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 6c 65 20 74 79 70 | .To.play.a.story.file.simple.typ | 
| 2c80 | 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 20 70 61 74 68 20 | e.M-x.malyon.and.enter.the.path. | 
| 2ca0 | 74 6f 20 74 68 65 0a 73 74 6f 72 79 20 66 69 6c    65 2e 20 49 66 20 61 6e 79 74 68 69 6e 67 20 67 | to.the.story.file..If.anything.g | 
| 2cc0 | 6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f    75 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c | oes.wrong.and.you.want.to.manual | 
| 2ce0 | 6c 79 20 63 6c 65 61 6e 0a 75 70 20 74 79 70 65    20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 | ly.clean.up.type.M-x.malyon-quit | 
| 2d00 | 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79    6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 62 61 | ..In.addition,.you.can.switch.ba | 
| 2d20 | 63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a    70 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 | ck.to.a.game.in.progress.by.typi | 
| 2d40 | 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2e 0a 0a 54 68 65 20 61 75 74 68 | ng.M-x.malyon-restore...The.auth | 
| 2d60 | 6f 72 20 77 6f 75 6c 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 | or.would.like.to.thank.the.follo | 
| 2d80 | 77 69 6e 67 20 70 65 6f 70 6c 65 20 66 6f 72 20    72 65 70 6f 72 74 69 6e 67 0a 62 75 67 73 2c 20 | wing.people.for.reporting.bugs,. | 
| 2da0 | 74 65 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 | testing,.suggesting.and/or.contr | 
| 2dc0 | 69 62 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d    65 6e 74 73 3a 0a 20 20 20 20 42 65 72 6e 68 61 | ibuting.improvements:.....Bernha | 
| 2de0 | 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 72 | rd.Barde,.Jonathan.Craven,.Alber | 
| 2e00 | 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 22 0a 20 20 28 6d 65 | to.Petrofsky,.Alan.Shutko"...(me | 
| 2e20 | 73 73 61 67 65 20 22 55 73 65 20 4d 2d 78 20 6d    61 6c 79 6f 6e 20 69 66 20 79 6f 75 20 77 61 6e | ssage."Use.M-x.malyon.if.you.wan | 
| 2e40 | 74 20 74 6f 20 70 6c 61 79 20 61 20 7a 63 6f 64    65 20 67 61 6d 65 2e 22 29 29 0a 0a 3b 3b 20 63 | t.to.play.a.zcode.game."))..;;.c | 
| 2e60 | 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e    63 74 69 6f 6e 73 20 66 6f 72 20 47 4e 55 20 65 | ompatibility.functions.for.GNU.e | 
| 2e80 | 6d 61 63 73 0a 3b 3b 20 6e 75 6b 65 64 20 31 32    2f 34 2f 31 36 20 62 79 20 65 72 69 6b 40 73 65 | macs.;;.nuked.12/4/16.by.erik@se | 
| 2ea0 | 6c 62 65 72 67 2e 6f 72 67 20 2d 2d 2d 20 74 68    65 73 65 20 61 72 65 6e 27 74 20 6e 65 65 64 65 | lberg.org.---.these.aren't.neede | 
| 2ec0 | 64 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e    64 70 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 20 | d..;;.(if.(fboundp.'cadr).;;.... | 
| 2ee0 | 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79    6f 6e 2d 63 61 64 72 20 27 63 61 64 72 29 0a 3b | .(defalias.'malyon-cadr.'cadr).; | 
| 2f00 | 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 63 61 64 72 20 28 6c 69 73 74 29 0a 3b 3b | ;...(defun.malyon-cadr.(list).;; | 
| 2f20 | 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63    61 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e | ....."Take.the.cadr.of.the.list. | 
| 2f40 | 22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63    64 72 20 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20 | ".;;.....(car.(cdr.list))))..;;. | 
| 2f60 | 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61    64 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 | (if.(fboundp.'caddr).;;.....(def | 
| 2f80 | 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 61    64 64 72 20 27 63 61 64 64 72 29 0a 3b 3b 20 20 | alias.'malyon-caddr.'caddr).;;.. | 
| 2fa0 | 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63    61 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 | .(defun.malyon-caddr.(list).;;.. | 
| 2fc0 | 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 64    64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 | ..."Take.the.caddr.of.the.list." | 
| 2fe0 | 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64    72 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 | .;;.....(car.(cdr.(cdr.list))))) | 
| 3000 | 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64    70 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 20 | ..;;.(if.(fboundp.'cdddr).;;.... | 
| 3020 | 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79    6f 6e 2d 63 64 64 64 72 20 27 63 64 64 64 72 29 | .(defalias.'malyon-cdddr.'cdddr) | 
| 3040 | 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 63 64 64 64 72 20 28 6c 69 73 74 29 | .;;...(defun.malyon-cdddr.(list) | 
| 3060 | 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68    65 20 63 64 64 64 72 20 6f 66 20 74 68 65 20 6c | .;;....."Take.the.cdddr.of.the.l | 
| 3080 | 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 64    72 20 28 63 64 72 20 28 63 64 72 20 6c 69 73 74 | ist.".;;.....(cdr.(cdr.(cdr.list | 
| 30a0 | 29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66    62 6f 75 6e 64 70 20 27 63 68 61 72 2d 62 65 66 | )))))..;;.(if.(fboundp.'char-bef | 
| 30c0 | 6f 72 65 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 68 | ore).;;.....(defalias.'malyon-ch | 
| 30e0 | 61 72 2d 62 65 66 6f 72 65 20 27 63 68 61 72 2d    62 65 66 6f 72 65 29 0a 3b 3b 20 20 20 28 64 65 | ar-before.'char-before).;;...(de | 
| 3100 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d    62 65 66 6f 72 65 20 28 29 0a 3b 3b 20 20 20 20 | fun.malyon-char-before.().;;.... | 
| 3120 | 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 68 61    72 61 63 74 65 72 20 62 65 66 6f 72 65 20 74 68 | ."Return.the.character.before.th | 
| 3140 | 65 20 70 6f 69 6e 74 2e 22 0a 3b 3b 20 20 20 20    20 28 63 68 61 72 2d 61 66 74 65 72 20 28 2d 20 | e.point.".;;.....(char-after.(-. | 
| 3160 | 28 70 6f 69 6e 74 29 20 31 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 | (point).1))))..(defun.malyon-cha | 
| 3180 | 72 2d 74 6f 2d 69 6e 74 20 28 63 29 0a 20 20 22    43 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63 | r-to-int.(c)..."Convert.a.charac | 
| 31a0 | 74 65 72 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65    67 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f | ter.into.an.integer."...(if.(fbo | 
| 31c0 | 75 6e 64 70 20 27 63 68 61 72 2d 74 6f 2d 69 6e    74 29 0a 20 20 20 20 20 20 28 63 68 61 72 2d 74 | undp.'char-to-int).......(char-t | 
| 31e0 | 6f 2d 69 6e 74 20 63 29 0a 20 20 20 20 63 29 29    0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 | o-int.c).....c))..;;.(if.(fbound | 
| 3200 | 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b    3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 | p.'characterp).;;.....(defalias. | 
| 3220 | 27 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65    72 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a | 'malyon-characterp.'characterp). | 
| 3240 | 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 63 68 61 72 61 63 74 65 72 70 20 28 78 | ;;...(defun.malyon-characterp.(x | 
| 3260 | 29 0a 3b 3b 20 20 20 20 20 22 54 65 73 74 20 66    6f 72 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 | ).;;....."Test.for.a.character." | 
| 3280 | 0a 3b 3b 20 20 20 20 20 28 61 6e 64 20 28 6e 75    6d 62 65 72 70 20 78 29 20 28 3c 3d 20 30 20 78 | .;;.....(and.(numberp.x).(<=.0.x | 
| 32a0 | 29 20 28 3c 20 78 20 32 35 36 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 | ).(<.x.256))))..(defun.malyon-di | 
| 32c0 | 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 20    28 29 0a 20 20 22 44 69 73 61 62 6c 65 20 6d 75 | sable-multibyte.()..."Disable.mu | 
| 32e0 | 6c 74 69 62 79 74 65 20 73 75 70 70 6f 72 74 20    69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 | ltibyte.support.in.the.current.b | 
| 3300 | 75 66 66 65 72 2e 22 0a 20 20 28 63 6f 6e 64 69    74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 73 | uffer."...(condition-case.nil.(s | 
| 3320 | 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62    79 74 65 20 6e 69 6c 29 20 28 65 72 72 6f 72 29 | et-buffer-multibyte.nil).(error) | 
| 3340 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 28 | ))..(defun.malyon-erase-buffer.( | 
| 3360 | 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72    29 0a 20 20 22 45 72 61 73 65 20 74 68 65 20 67 | &optional.buffer)..."Erase.the.g | 
| 3380 | 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 6e 0a | iven.buffer."...(save-excursion. | 
| 33a0 | 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 66 65 | ....(if.buffer.(set-buffer.buffe | 
| 33c0 | 72 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64    20 62 75 66 66 65 72 20 28 65 71 20 62 75 66 66 | r)).....(if.(and.buffer.(eq.buff | 
| 33e0 | 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 29 0a 20 20 | er.malyon-transcript-buffer))... | 
| 3400 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 65    67 69 6e 2d 73 65 63 74 69 6f 6e 29 0a 20 20 20 | ......(malyon-begin-section).... | 
| 3420 | 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | ...(erase-buffer))))..(defun.mal | 
| 3440 | 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20    28 69 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 | yon-int-to-char.(i)..."Convert.a | 
| 3460 | 6e 20 69 6e 74 65 67 65 72 20 69 6e 74 6f 20 61    20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 | n.integer.into.a.character."...( | 
| 3480 | 69 66 20 28 66 62 6f 75 6e 64 70 20 27 69 6e 74    2d 74 6f 2d 63 68 61 72 29 0a 20 20 20 20 28 69 | if.(fboundp.'int-to-char).....(i | 
| 34a0 | 6e 74 2d 74 6f 2d 63 68 61 72 20 69 29 0a 20 20    20 20 69 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 | nt-to-char.i).....i))..;;.(if.(f | 
| 34c0 | 62 6f 75 6e 64 70 20 27 6d 61 70 63 29 0a 3b 3b    20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 | boundp.'mapc).;;.....(defalias.' | 
| 34e0 | 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 27 6d 61 70    63 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d | malyon-mapc.'mapc).;;...(defun.m | 
| 3500 | 61 6c 79 6f 6e 2d 6d 61 70 63 20 28 66 75 6e 63    74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20 | alyon-mapc.(function.list).;;... | 
| 3520 | 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 6f 20    65 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66 | .."Apply.fun.to.every.element.of | 
| 3540 | 20 61 72 67 73 20 69 67 6e 6f 72 69 6e 67 20 74    68 65 20 72 65 73 75 6c 74 73 2e 22 0a 3b 3b 20 | .args.ignoring.the.results.".;;. | 
| 3560 | 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69    73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20 | ....(if.(null.list).;;..'().;;.. | 
| 3580 | 20 20 20 20 20 28 66 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 | .....(funcall.function.(car.list | 
| 35a0 | 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 6d 61 70 63 20 66 75 6e 63 74 69 6f | )).;;.......(malyon-mapc.functio | 
| 35c0 | 6e 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 | n.(cdr.list)))))..;;.(if.(fbound | 
| 35e0 | 70 20 27 6d 61 70 63 61 6e 29 0a 3b 3b 20 20 20    20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c | p.'mapcan).;;.....(defalias.'mal | 
| 3600 | 79 6f 6e 2d 6d 61 70 63 61 6e 20 27 6d 61 70 63    61 6e 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 | yon-mapcan.'mapcan).;;...(defun. | 
| 3620 | 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 28 66    75 6e 63 74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b | malyon-mapcan.(function.list).;; | 
| 3640 | 20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20    74 6f 20 65 76 65 72 79 20 65 6c 65 6d 65 6e 74 | ....."Apply.fun.to.every.element | 
| 3660 | 20 6f 66 20 61 72 67 73 20 6e 63 6f 6e 63 27 69    6e 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a | .of.args.nconc'ing.the.result.". | 
| 3680 | 3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c    20 6c 69 73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b | ;;.....(if.(null.list).;;..'().; | 
| 36a0 | 3b 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28    66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e | ;.......(nconc.(funcall.function | 
| 36c0 | 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20    09 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 61 | .(car.list)).;;.......(malyon-ma | 
| 36e0 | 70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 28 63    64 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 0a | pcan.function.(cdr.list))))))... | 
| 3700 | 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 65    20 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 | ;.Do.not.use.the.built-in.conver | 
| 3720 | 73 69 6f 6e 20 76 69 61 20 27 6d 75 6c 74 69 62    79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 | sion.via.'multibyte-char-to-unib | 
| 3740 | 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 | yte..(defun.malyon-multibyte-cha | 
| 3760 | 72 2d 74 6f 2d 75 6e 69 62 79 74 65 20 28 63 68    61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 | r-to-unibyte.(char)..."Convert.a | 
| 3780 | 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61    63 74 65 72 20 74 6f 20 75 6e 69 62 79 74 65 2e | .multibyte.character.to.unibyte. | 
| 37a0 | 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d | "...char)..(defun.malyon-point-m | 
| 37c0 | 61 78 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75    66 66 65 72 29 0a 20 20 22 47 65 74 20 74 68 65 | ax.(&optional.buffer)..."Get.the | 
| 37e0 | 20 70 6f 69 6e 74 2d 6d 61 78 20 6f 66 20 74 68    65 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22 | .point-max.of.the.given.buffer." | 
| 3800 | 0a 20 20 28 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 | ...(save-excursion.....(if.buffe | 
| 3820 | 72 20 28 73 65 74 2d 62 75 66 66 65 72 20 62 75    66 66 65 72 29 29 0a 20 20 20 20 28 70 6f 69 6e | r.(set-buffer.buffer)).....(poin | 
| 3840 | 74 2d 6d 61 78 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 | t-max)))..(defun.malyon-redispla | 
| 3860 | 79 2d 66 72 61 6d 65 20 28 66 72 61 6d 65 20 26    72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 | y-frame.(frame.&rest.ignore)..." | 
| 3880 | 52 65 64 69 73 70 6c 61 79 20 74 68 65 20 67 69    76 65 6e 20 66 72 61 6d 65 2e 22 0a 20 20 28 69 | Redisplay.the.given.frame."...(i | 
| 38a0 | 66 20 28 66 62 6f 75 6e 64 70 20 27 72 65 64 69    73 70 6c 61 79 2d 66 72 61 6d 65 29 0a 20 20 20 | f.(fboundp.'redisplay-frame).... | 
| 38c0 | 20 20 20 28 72 65 64 69 73 70 6c 61 79 2d 66 72    61 6d 65 20 66 72 61 6d 65 20 69 67 6e 6f 72 65 | ...(redisplay-frame.frame.ignore | 
| 38e0 | 29 29 29 0a 0a 0a 3b 3b 20 28 69 66 20 28 66 62    6f 75 6e 64 70 20 27 72 65 6d 6f 76 65 29 0a 3b | )))...;;.(if.(fboundp.'remove).; | 
| 3900 | 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20    27 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 27 | ;.....(defalias.'malyon-remove.' | 
| 3920 | 72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 | remove).;;...(defun.malyon-remov | 
| 3940 | 65 20 28 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29    0a 3b 3b 20 20 20 20 20 22 52 65 6d 6f 76 65 20 | e.(element.list).;;....."Remove. | 
| 3960 | 74 68 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d    20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 | the.element.from.the.list.".;;.. | 
| 3980 | 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20    6c 69 73 74 29 0a 3b 3b 20 09 20 20 20 27 28 29 | ...(cond.((null.list).;;.....'() | 
| 39a0 | 29 0a 3b 3b 20 09 20 20 28 28 65 71 20 65 6c 65    6d 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29 | ).;;....((eq.element.(car.list)) | 
| 39c0 | 0a 3b 3b 20 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 | .;;.....(malyon-remove.element.( | 
| 39e0 | 63 64 72 20 6c 69 73 74 29 29 29 0a 3b 3b 20 09    20 20 28 28 65 71 75 61 6c 20 65 6c 65 6d 65 6e | cdr.list))).;;....((equal.elemen | 
| 3a00 | 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 65 6d | t.(car.list)).;;.....(malyon-rem | 
| 3a20 | 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 20 28 | ove.element.(cdr.list))).;;....( | 
| 3a40 | 74 0a 3b 3b 20 09 20 20 20 28 63 6f 6e 73 20 28    63 61 72 20 6c 69 73 74 29 0a 3b 3b 20 09 09 20 | t.;;.....(cons.(car.list).;;.... | 
| 3a60 | 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 6c 69 73 74 | (malyon-remove.element.(cdr.list | 
| 3a80 | 29 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 65 67 61    63 79 20 74 68 69 6e 67 2e 2e 2e 20 6e 6f 72 6d | )))))))..;;.legacy.thing....norm | 
| 3aa0 | 61 6c 6c 79 20 74 68 69 73 20 69 73 20 61 20 6e    6f 6f 70 20 66 6f 72 20 46 53 46 20 45 6d 61 63 | ally.this.is.a.noop.for.FSF.Emac | 
| 3ac0 | 73 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 | s.(defun.malyon-set-keymap-name. | 
| 3ae0 | 28 6b 65 79 6d 61 70 20 6e 61 6d 65 29 0a 20 20    22 53 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 | (keymap.name)..."Set.the.name.of | 
| 3b00 | 20 74 68 65 20 6b 65 79 6d 61 70 2e 22 0a 20 20    28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 65 | .the.keymap."...(if.(fboundp.'se | 
| 3b20 | 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 29 0a 20    20 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 | t-keymap-name).......(set-keymap | 
| 3b40 | 2d 6e 61 6d 65 20 6b 65 79 6d 61 70 20 6e 61 6d    65 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 | -name.keymap.name)))..;;.(if.(fb | 
| 3b60 | 6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f    2d 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 28 64 | oundp.'string-to-list).;;.....(d | 
| 3b80 | 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d    73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 27 | efalias.'malyon-string-to-list.' | 
| 3ba0 | 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 29 0a    3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 | string-to-list).;;...(defun.maly | 
| 3bc0 | 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73    74 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f | on-string-to-list.(s).;;....."Co | 
| 3be0 | 6e 76 65 72 74 20 61 20 73 74 72 69 6e 67 20 69    6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 63 68 | nvert.a.string.into.a.list.of.ch | 
| 3c00 | 61 72 61 63 74 65 72 73 2e 22 0a 3b 3b 20 20 20    20 20 28 6c 65 74 20 28 28 69 20 28 2d 20 28 6c | aracters.".;;.....(let.((i.(-.(l | 
| 3c20 | 65 6e 67 74 68 20 73 29 20 31 29 29 20 28 6c 20    27 28 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 | ength.s).1)).(l.'())).;;.......( | 
| 3c40 | 77 68 69 6c 65 20 28 3c 3d 20 30 20 69 29 0a 3b    3b 20 09 28 73 65 74 71 20 6c 20 28 63 6f 6e 73 | while.(<=.0.i).;;..(setq.l.(cons | 
| 3c60 | 20 28 61 72 65 66 20 73 20 69 29 20 6c 29 0a 3b    3b 20 09 20 20 20 20 20 20 69 20 28 2d 20 69 20 | .(aref.s.i).l).;;........i.(-.i. | 
| 3c80 | 31 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 6c 29    29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 | 1))).;;.......l)))..;;.(if.(fbou | 
| 3ca0 | 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76    65 63 74 6f 72 29 0a 3b 3b 20 20 20 20 20 28 64 | ndp.'string-to-vector).;;.....(d | 
| 3cc0 | 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d    73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 | efalias.'malyon-string-to-vector | 
| 3ce0 | 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74    6f 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 | .'string-to-vector).;;...(defun. | 
| 3d00 | 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f    2d 76 65 63 74 6f 72 20 28 73 29 0a 3b 3b 20 20 | malyon-string-to-vector.(s).;;.. | 
| 3d20 | 20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74    72 69 6e 67 20 69 6e 74 6f 20 61 20 76 65 63 74 | ..."Convert.a.string.into.a.vect | 
| 3d40 | 6f 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73    2e 22 0a 3b 3b 20 20 20 20 20 28 6c 65 74 2a 20 | or.of.characters.".;;.....(let*. | 
| 3d60 | 28 28 69 20 30 29 20 28 6c 20 28 6c 65 6e 67 74    68 20 73 29 29 20 28 76 20 28 6d 61 6b 65 2d 76 | ((i.0).(l.(length.s)).(v.(make-v | 
| 3d80 | 65 63 74 6f 72 20 6c 20 30 29 29 29 0a 3b 3b 20    20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | ector.l.0))).;;.......(while.(<. | 
| 3da0 | 69 20 6c 29 0a 3b 3b 20 09 28 61 73 65 74 20 76    20 69 20 28 61 72 65 66 20 73 20 69 29 29 0a 3b | i.l).;;..(aset.v.i.(aref.s.i)).; | 
| 3dc0 | 3b 20 09 28 73 65 74 71 20 69 20 28 2b 20 31 20    69 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 76 29 | ;..(setq.i.(+.1.i))).;;.......v) | 
| 3de0 | 29 29 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65    20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f | ))..;.Do.not.use.the.built-in.co | 
| 3e00 | 6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 75 6e    69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 | nversion.via.'unibyte-char-to-mu | 
| 3e20 | 6c 74 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63 | ltibyte..(defun.malyon-unibyte-c | 
| 3e40 | 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65    20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 | har-to-multibyte.(char)..."Conve | 
| 3e60 | 72 74 20 61 20 75 6e 69 62 79 74 65 20 63 68 61    72 61 63 74 65 72 20 74 6f 20 6d 75 6c 74 69 62 | rt.a.unibyte.character.to.multib | 
| 3e80 | 79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 76 65 63 | yte."...char)..(defun.malyon-vec | 
| 3ea0 | 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 28 76 20 62    65 67 69 6e 20 65 6e 64 29 0a 20 20 22 52 65 74 | tor-to-list.(v.begin.end)..."Ret | 
| 3ec0 | 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 65 6c    65 6d 65 6e 74 73 20 69 6e 20 76 20 69 6e 20 74 | urn.a.list.of.elements.in.v.in.t | 
| 3ee0 | 68 65 20 72 61 6e 67 65 20 5b 62 65 67 69 6e 2c    20 65 6e 64 29 2e 22 0a 20 20 28 6c 65 74 20 28 | he.range.[begin,.end)."...(let.( | 
| 3f00 | 28 72 65 73 75 6c 74 20 27 28 29 29 29 0a 20 20    20 20 28 77 68 69 6c 65 20 28 3c 20 62 65 67 69 | (result.'())).....(while.(<.begi | 
| 3f20 | 6e 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 | n.end).......(setq.result.(cons. | 
| 3f40 | 28 61 72 65 66 20 76 20 62 65 67 69 6e 29 20 72    65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73 | (aref.v.begin).result)).......(s | 
| 3f60 | 65 74 71 20 62 65 67 69 6e 20 28 2b 20 31 20 62    65 67 69 6e 29 29 29 0a 20 20 20 20 28 72 65 76 | etq.begin.(+.1.begin))).....(rev | 
| 3f80 | 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 77 | erse.result)))...(defun.malyon-w | 
| 3fa0 | 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d    68 65 69 67 68 74 20 28 26 6f 70 74 69 6f 6e 61 | indow-displayed-height.(&optiona | 
| 3fc0 | 6c 20 77 69 6e 64 6f 77 29 0a 20 20 22 47 65 74    20 74 68 65 20 68 65 69 67 68 74 20 6f 66 20 74 | l.window)..."Get.the.height.of.t | 
| 3fe0 | 68 65 20 77 69 6e 64 6f 77 27 73 20 64 69 73 70    6c 61 79 65 64 20 72 65 67 69 6f 6e 2e 22 0a 20 | he.window's.displayed.region.".. | 
| 4000 | 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77    69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d | .(if.(fboundp.'window-displayed- | 
| 4020 | 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 77    69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d | height).......(window-displayed- | 
| 4040 | 68 65 69 67 68 74 20 77 69 6e 64 6f 77 29 0a 20    20 20 20 28 2d 20 28 77 69 6e 64 6f 77 2d 68 65 | height.window).....(-.(window-he | 
| 4060 | 69 67 68 74 29 20 31 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72 | ight).1)))..(defun.malyon-yes-or | 
| 4080 | 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 28 70    72 6f 6d 70 74 29 0a 20 20 22 41 73 6b 20 61 20 | -no-p-minibuf.(prompt)..."Ask.a. | 
| 40a0 | 79 65 73 20 6f 72 20 6e 6f 20 71 75 65 73 74 69    6f 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 | yes.or.no.question."...(if.(fbou | 
| 40c0 | 6e 64 70 20 27 79 65 73 2d 6f 72 2d 6e 6f 2d 70    2d 6d 69 6e 69 62 75 66 29 0a 20 20 20 20 20 20 | ndp.'yes-or-no-p-minibuf)....... | 
| 40e0 | 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e    69 62 75 66 20 70 72 6f 6d 70 74 29 0a 20 20 20 | (yes-or-no-p-minibuf.prompt).... | 
| 4100 | 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 70 72    6f 6d 70 74 29 29 29 0a 0a 3b 3b 20 67 6c 6f 62 | .(yes-or-no-p.prompt)))..;;.glob | 
| 4120 | 61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72    20 74 68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 | al.variables.for.the.malyon.mode | 
| 4140 | 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e    2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69 | ..(defvar.malyon-syntax-table.ni | 
| 4160 | 6c 0a 20 20 22 53 79 6e 74 61 78 20 74 61 62 6c    65 20 75 73 65 64 20 77 68 69 6c 65 20 69 6e 20 | l..."Syntax.table.used.while.in. | 
| 4180 | 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 28 73 61 6d    65 20 61 73 20 69 6e 20 74 65 78 74 2d 6d 6f 64 | malyon.mode.(same.as.in.text-mod | 
| 41a0 | 65 29 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f    6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 | e).")..(if.malyon-syntax-table.. | 
| 41c0 | 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 | ...'()...(setq.malyon-syntax-tab | 
| 41e0 | 6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d    74 61 62 6c 65 29 29 0a 20 20 28 6d 6f 64 69 66 | le.(make-syntax-table))...(modif | 
| 4200 | 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f    5c 22 20 22 2e 20 20 20 22 20 6d 61 6c 79 6f 6e | y-syntax-entry.?\"."....".malyon | 
| 4220 | 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 79 6e 74 61 78 2d | -syntax-table)...(modify-syntax- | 
| 4240 | 65 6e 74 72 79 20 3f 5c 5c 20 22 2e 20 20 20 22    20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 | entry.?\\."....".malyon-syntax-t | 
| 4260 | 61 62 6c 65 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 27 20 | able)...(modify-syntax-entry.?'. | 
| 4280 | 20 22 77 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 29 0a 0a 28 | ."w...".malyon-syntax-table))..( | 
| 42a0 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65    79 6d 61 70 2d 72 65 61 64 20 6e 69 6c 0a 20 20 | defvar.malyon-keymap-read.nil... | 
| 42c0 | 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 72 65 61 64 | "Keymap.for.malyon.mode.for.read | 
| 42e0 | 69 6e 67 20 69 6e 70 75 74 20 69 6e 74 6f 20 61    20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 | ing.input.into.a.buffer.")..(def | 
| 4300 | 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 75 70 20 6e 69 6c 0a | var.malyon-history-saved-up.nil. | 
| 4320 | 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 75 70 20 | .."The.saved.binding.for.the.up. | 
| 4340 | 61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 64    65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 | arrow.key.")..(defvar.malyon-his | 
| 4360 | 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20    6e 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64 | tory-saved-down.nil..."The.saved | 
| 4380 | 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65    20 64 6f 77 6e 20 61 72 72 6f 77 20 6b 65 79 2e | .binding.for.the.down.arrow.key. | 
| 43a0 | 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b    65 79 6d 61 70 2d 72 65 61 64 0a 20 20 20 20 27 | ")..(if.malyon-keymap-read.....' | 
| 43c0 | 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 20 28 6d | ()...(setq.malyon-keymap-read.(m | 
| 43e0 | 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 79 6f 6e 2d 73 65 | ake-sparse-keymap))...(malyon-se | 
| 4400 | 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 70 2d 72 65 61 64 | t-keymap-name.malyon-keymap-read | 
| 4420 | 20 27 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 71 20 6d 61 | .'malyon-keymap-read)...(setq.ma | 
| 4440 | 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76    65 64 2d 75 70 20 20 20 28 67 6c 6f 62 61 6c 2d | lyon-history-saved-up...(global- | 
| 4460 | 6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 75 70 5d    29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | key-binding.[up]))...(setq.malyo | 
| 4480 | 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d    64 6f 77 6e 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 | n-history-saved-down.(global-key | 
| 44a0 | 2d 62 69 6e 64 69 6e 67 20 5b 64 6f 77 6e 5d 29    29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | -binding.[down]))...(define-key. | 
| 44c0 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65    61 64 20 22 5c 72 22 20 20 20 20 20 20 20 20 27 | malyon-keymap-read."\r"........' | 
| 44e0 | 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 75 74    29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | malyon-end-input)...(define-key. | 
| 4500 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65    61 64 20 5b 75 70 5d 20 20 20 20 20 20 20 20 27 | malyon-keymap-read.[up]........' | 
| 4520 | 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 0a 20 20 | malyon-history-previous-char)... | 
| 4540 | 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 64 20 5b | (define-key.malyon-keymap-read.[ | 
| 4560 | 64 6f 77 6e 5d 20 20 20 20 20 20 27 6d 61 6c 79    6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d | down]......'malyon-history-next- | 
| 4580 | 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 79 6d 61 | char)...(define-key.malyon-keyma | 
| 45a0 | 70 2d 72 65 61 64 20 22 5c 4d 2d 70 22 20 20 20    20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | p-read."\M-p"......'malyon-histo | 
| 45c0 | 72 79 2d 70 72 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 | ry-previous-char)...(define-key. | 
| 45e0 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65    61 64 20 22 5c 4d 2d 6e 22 20 20 20 20 20 20 27 | malyon-keymap-read."\M-n"......' | 
| 4600 | 6d 61 6c 79 6f 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 | malyon-history-next-char)...(def | 
| 4620 | 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 22 5c 43 2d 61 | ine-key.malyon-keymap-read."\C-a | 
| 4640 | 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 62    65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 | "......'malyon-beginning-of-line | 
| 4660 | 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 72 65 | )...(define-key.malyon-keymap-re | 
| 4680 | 61 64 20 22 5c 43 2d 77 22 20 20 20 20 20 20 27    6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 | ad."\C-w"......'malyon-kill-regi | 
| 46a0 | 6f 6e 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 | on)...(define-key.malyon-keymap- | 
| 46c0 | 72 65 61 64 20 22 5c 43 2d 6b 22 20 20 20 20 20    20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 6c 69 | read."\C-k"......'malyon-kill-li | 
| 46e0 | 6e 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 6d 61 70 2d | ne)...(define-key.malyon-keymap- | 
| 4700 | 72 65 61 64 20 22 5c 4d 2d 64 22 20 20 20 20 20    20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f | read."\M-d"......'malyon-kill-wo | 
| 4720 | 72 64 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 | rd)...(define-key.malyon-keymap- | 
| 4740 | 72 65 61 64 20 22 5c 43 2d 79 22 20 20 20 20 20    20 27 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 29 0a 20 | read."\C-y"......'malyon-yank).. | 
| 4760 | 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 64 20 | .(define-key.malyon-keymap-read. | 
| 4780 | 22 5c 4d 2d 79 22 20 20 20 20 20 20 27 6d 61 6c    79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 29 0a 20 20 | "\M-y"......'malyon-yank-pop)... | 
| 47a0 | 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 64 20 22 | (define-key.malyon-keymap-read." | 
| 47c0 | 5c 43 2d 64 22 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 | \C-d"......'malyon-delete-char). | 
| 47e0 | 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 64 | ..(define-key.malyon-keymap-read | 
| 4800 | 20 22 5c 64 22 20 20 20 20 20 20 20 20 27 6d 61    6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 | ."\d"........'malyon-backward-de | 
| 4820 | 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 79 6f 6e 2d | lete-char)...(define-key.malyon- | 
| 4840 | 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 65 6c    5d 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d | keymap-read.[del].......'malyon- | 
| 4860 | 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 79 6f | delete-char)...(define-key.malyo | 
| 4880 | 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 62    61 63 6b 73 70 61 63 65 5d 20 27 6d 61 6c 79 6f | n-keymap-read.[backspace].'malyo | 
| 48a0 | 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 73 75 62 73 74 | n-backward-delete-char)...(subst | 
| 48c0 | 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 6b 65 79 | itute-key-definition.(lookup-key | 
| 48e0 | 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 20 20 20 | .(current-global-map)."a")...... | 
| 4900 | 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 6f 6e 2d | ........................'malyon- | 
| 4920 | 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d    61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 | self-insert-command............. | 
| 4940 | 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 72 | .................malyon-keymap-r | 
| 4960 | 65 61 64 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 | ead.(current-global-map)))..(def | 
| 4980 | 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61    70 2d 72 65 61 64 63 68 61 72 20 6e 69 6c 0a 20 | var.malyon-keymap-readchar.nil.. | 
| 49a0 | 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 77 61 69 | ."Keymap.for.malyon.mode.for.wai | 
| 49c0 | 74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 22    29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 | ting.for.input.")..(if.malyon-ke | 
| 49e0 | 79 6d 61 70 2d 72 65 61 64 63 68 61 72 0a 20 20    20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 | ymap-readchar.....'()...(setq.ma | 
| 4a00 | 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64    63 68 61 72 20 28 6d 61 6b 65 2d 73 70 61 72 73 | lyon-keymap-readchar.(make-spars | 
| 4a20 | 65 2d 6b 65 79 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 | e-keymap))...(malyon-set-keymap- | 
| 4a40 | 6e 61 6d 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d    61 70 2d 72 65 61 64 63 68 61 72 20 27 6d 61 6c | name.malyon-keymap-readchar.'mal | 
| 4a60 | 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63    68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b | yon-keymap-readchar)...(define-k | 
| 4a80 | 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70    2d 72 65 61 64 63 68 61 72 20 22 5c 72 22 20 27 | ey.malyon-keymap-readchar."\r".' | 
| 4aa0 | 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72    29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d | malyon-wait-char)...(substitute- | 
| 4ac0 | 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28    6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 | key-definition.(lookup-key.(curr | 
| 4ae0 | 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20    22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ent-global-map)."a")............ | 
| 4b00 | 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 77 61 69 74 2d 63 | ..................'malyon-wait-c | 
| 4b20 | 68 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 20 20 20 | har............................. | 
| 4b40 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72    65 61 64 63 68 61 72 20 28 63 75 72 72 65 6e 74 | .malyon-keymap-readchar.(current | 
| 4b60 | 2d 67 6c 6f 62 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 | -global-map)))..(defvar.malyon-k | 
| 4b80 | 65 79 6d 61 70 2d 6d 6f 72 65 20 6e 69 6c 0a 20    20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c | eymap-more.nil..."Keymap.for.mal | 
| 4ba0 | 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 72 6f    77 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 65 | yon.mode.for.browsing.through.te | 
| 4bc0 | 78 74 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 0a 20 20 | xt.")..(if.malyon-keymap-more... | 
| 4be0 | 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 70 2d 6d 6f 72 65 | ..'()...(setq.malyon-keymap-more | 
| 4c00 | 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 79 6f 6e | .(make-sparse-keymap))...(malyon | 
| 4c20 | 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 70 2d 6d | -set-keymap-name.malyon-keymap-m | 
| 4c40 | 6f 72 65 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d    61 70 2d 6d 6f 72 65 29 0a 20 20 28 64 65 66 69 | ore.'malyon-keymap-more)...(defi | 
| 4c60 | 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65    79 6d 61 70 2d 6d 6f 72 65 20 22 5c 72 22 20 27 | ne-key.malyon-keymap-more."\r".' | 
| 4c80 | 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72    29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d | malyon-more-char)...(substitute- | 
| 4ca0 | 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28    6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 | key-definition.(lookup-key.(curr | 
| 4cc0 | 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20    22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ent-global-map)."a")............ | 
| 4ce0 | 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 6d 6f 72 65 2d 63 | ..................'malyon-more-c | 
| 4d00 | 68 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 20 20 20 | har............................. | 
| 4d20 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d    6f 72 65 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f | .malyon-keymap-more.(current-glo | 
| 4d40 | 62 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 | bal-map)))..(defvar.malyon-keyma | 
| 4d60 | 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 6e 69    6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 | p-more-status.nil..."Keymap.for. | 
| 4d80 | 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20    62 72 6f 77 73 69 6e 67 20 74 68 72 6f 75 67 68 | malyon.mode.for.browsing.through | 
| 4da0 | 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66    65 72 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f | .the.status.buffer.")..(if.malyo | 
| 4dc0 | 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74    61 74 75 73 0a 20 20 20 20 27 28 29 0a 20 20 28 | n-keymap-more-status.....'()...( | 
| 4de0 | 73 65 74 71 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 28 | setq.malyon-keymap-more-status.( | 
| 4e00 | 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 79 6f 6e 2d 73 | make-sparse-keymap))...(malyon-s | 
| 4e20 | 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 70 2d 6d 6f 72 | et-keymap-name.malyon-keymap-mor | 
| 4e40 | 65 2d 73 74 61 74 75 73 20 27 6d 61 6c 79 6f 6e    2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 | e-status.'malyon-keymap-more-sta | 
| 4e60 | 74 75 73 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 | tus)...(define-key.malyon-keymap | 
| 4e80 | 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 22 5c 72    22 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 | -more-status."\r".'malyon-more-c | 
| 4ea0 | 68 61 72 2d 73 74 61 74 75 73 29 0a 20 20 28 73    75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 | har-status)...(substitute-key-de | 
| 4ec0 | 66 69 6e 69 74 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 | finition.(lookup-key.(current-gl | 
| 4ee0 | 6f 62 61 6c 2d 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 | obal-map)."a").................. | 
| 4f00 | 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c    79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 | ............'malyon-more-char-st | 
| 4f20 | 61 74 75 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 | atus............................ | 
| 4f40 | 20 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 28 63 75 72 | ..malyon-keymap-more-status.(cur | 
| 4f60 | 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29    29 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c | rent-global-map)))..(defface.mal | 
| 4f80 | 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 0a 20    20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 | yon-face-plain...'((t.:inherit.d | 
| 4fa0 | 65 66 61 75 6c 74 29 29 0a 20 20 22 42 61 73 69    63 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 | efault))..."Basic.face.for.game. | 
| 4fc0 | 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 | text."...:group.'malyon)..(deffa | 
| 4fe0 | 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62    6f 6c 64 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 | ce.malyon-face-bold...'((t.:inhe | 
| 5000 | 72 69 74 20 62 6f 6c 64 29 29 0a 20 20 22 42 6f    6c 64 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 | rit.bold))..."Bold.face.for.game | 
| 5020 | 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 | .text."...:group.'malyon)..(deff | 
| 5040 | 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d    65 72 72 6f 72 0a 20 20 27 28 28 74 20 3a 69 6e | ace.malyon-face-error...'((t.:in | 
| 5060 | 68 65 72 69 74 20 65 72 72 6f 72 29 29 0a 20 20    22 46 61 63 65 20 66 6f 72 20 67 61 6d 65 20 65 | herit.error))..."Face.for.game.e | 
| 5080 | 72 72 6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 | rrors."...:group.'malyon)..(deff | 
| 50a0 | 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d    69 74 61 6c 69 63 0a 20 20 27 28 28 74 20 3a 69 | ace.malyon-face-italic...'((t.:i | 
| 50c0 | 6e 68 65 72 69 74 20 69 74 61 6c 69 63 29 29 0a    20 20 22 49 74 61 6c 69 63 20 66 61 63 65 20 66 | nherit.italic))..."Italic.face.f | 
| 50e0 | 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 6d 61 6c 79 6f 6e 29 | or.game.text."...:group.'malyon) | 
| 5100 | 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f    6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 0a 20 | ..(defface.malyon-face-reverse.. | 
| 5120 | 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64    65 66 61 75 6c 74 20 3a 69 6e 76 65 72 73 65 2d | .'((t.:inherit.default.:inverse- | 
| 5140 | 76 69 64 65 6f 20 74 29 29 0a 20 20 22 46 61 63    65 20 66 6f 72 20 72 65 76 65 72 73 65 2d 76 69 | video.t))..."Face.for.reverse-vi | 
| 5160 | 64 65 6f 20 74 65 78 74 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 | deo.text."...:group.'malyon)..(d | 
| 5180 | 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 61 63    65 73 0a 20 20 27 28 28 30 20 2e 20 6d 61 6c 79 | efvar.malyon-faces...'((0...maly | 
| 51a0 | 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 0a 20    20 20 20 28 31 20 2e 20 6d 61 6c 79 6f 6e 2d 66 | on-face-plain).....(1...malyon-f | 
| 51c0 | 61 63 65 2d 72 65 76 65 72 73 65 29 0a 20 20 20    20 28 32 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 | ace-reverse).....(2...malyon-fac | 
| 51e0 | 65 2d 62 6f 6c 64 29 0a 20 20 20 20 28 34 20 2e    20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 74 61 | e-bold).....(4...malyon-face-ita | 
| 5200 | 6c 69 63 29 0a 20 20 20 20 28 38 20 2e 20 6d 61    6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 | lic).....(8...malyon-face-plain) | 
| 5220 | 29 0a 20 20 22 41 6e 20 61 73 73 6f 63 69 61 74    69 6f 6e 20 6c 69 73 74 20 6f 66 20 74 65 78 74 | )..."An.association.list.of.text | 
| 5240 | 20 66 61 63 65 73 20 75 73 65 64 20 62 79 20 74    68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 2e 22 | .faces.used.by.the.malyon.mode." | 
| 5260 | 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f    6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f | )..(defvar.malyon-print-separato | 
| 5280 | 72 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 | r.nil..."A.flag.indicating.wheth | 
| 52a0 | 65 72 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20    2a 20 2a 20 2a 20 73 65 70 61 72 61 74 6f 72 2e | er.to.print.the.*.*.*.separator. | 
| 52c0 | 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 62 65 67 69 6e 2d 73 65 63 74 69 6f 6e 20 | ")..(defun.malyon-begin-section. | 
| 52e0 | 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 65    63 74 69 6f 6e 20 64 69 76 69 64 65 72 20 61 6e | ()..."Print.a.section.divider.an | 
| 5300 | 64 20 62 65 67 69 6e 20 61 20 6e 65 77 20 73 65    63 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 6d 61 | d.begin.a.new.section."...(if.ma | 
| 5320 | 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72    61 74 6f 72 0a 20 20 20 20 20 20 28 70 72 6f 67 | lyon-print-separator.......(prog | 
| 5340 | 6e 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20    27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d | n.........(mapc.'malyon-putchar- | 
| 5360 | 74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e    20 3f 5c 6e 20 3f 2a 20 3f 20 20 3f 2a 20 3f 20 | transcript.'(?\n.?\n.?*.?..?*.?. | 
| 5380 | 20 3f 2a 29 29 0a 20 20 20 20 20 20 20 20 28 63    65 6e 74 65 72 2d 6c 69 6e 65 29 0a 20 20 20 20 | .?*)).........(center-line)..... | 
| 53a0 | 20 20 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f    6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 | ....(mapc.'malyon-putchar-transc | 
| 53c0 | 72 69 70 74 20 27 28 3f 5c 6e 20 3f 5c 6e 29 29    0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d | ript.'(?\n.?\n)).........(setq.m | 
| 53e0 | 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61    72 61 74 6f 72 20 6e 69 6c 29 29 29 0a 20 20 28 | alyon-print-separator.nil)))...( | 
| 5400 | 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e    20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f | narrow-to-region.(point-max).(po | 
| 5420 | 69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 69 66 20    6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 | int-max)))..(if.malyon-whitespac | 
| 5440 | 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74    71 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 | e.....'()...(setq.malyon-whitesp | 
| 5460 | 61 63 65 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f    6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 20 | ace.(list.(malyon-char-to-int.?. | 
| 5480 | 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 20 | )............................... | 
| 54a0 | 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74    6f 2d 69 6e 74 20 3f 5c 74 29 0a 20 20 20 20 20 | ..(malyon-char-to-int.?\t)...... | 
| 54c0 | 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 79 | ...........................(maly | 
| 54e0 | 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f    5c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | on-char-to-int.?\n)............. | 
| 5500 | 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 63 68 61 72 | ....................(malyon-char | 
| 5520 | 2d 74 6f 2d 69 6e 74 20 3f 5c 72 29 29 29 29 0a    0a 3b 3b 20 6d 65 6d 6f 72 79 20 75 74 69 6c 69 | -to-int.?\r))))..;;.memory.utili | 
| 5540 | 74 69 65 73 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 | ties..(defsubst.malyon-read-byte | 
| 5560 | 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65    61 64 20 61 20 62 79 74 65 20 61 74 20 61 64 64 | .(address)..."Read.a.byte.at.add | 
| 5580 | 72 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 | ress.in.the.story.file."...(if.( | 
| 55a0 | 3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20    20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e | <=.0.address).......(aref.malyon | 
| 55c0 | 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72    65 73 73 29 0a 20 20 20 20 28 61 72 65 66 20 6d | -story-file.address).....(aref.m | 
| 55e0 | 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 64 72 65 73 | alyon-story-file.(+.65536.addres | 
| 5600 | 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74    20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 | s))))..(defsubst.malyon-store-by | 
| 5620 | 74 65 20 28 61 64 64 72 65 73 73 20 76 61 6c 75    65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 62 79 | te.(address.value)..."Store.a.by | 
| 5640 | 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 20 66 69 6c 65 2e | te.at.address.in.the.story.file. | 
| 5660 | 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 20 20 20 28 61 73 | "...(if.(<=.0.address).......(as | 
| 5680 | 65 74 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 20 28 6c 6f | et.malyon-story-file.address.(lo | 
| 56a0 | 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29    0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f | gand.255.value)).....(aset.malyo | 
| 56c0 | 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20    36 35 35 33 36 20 61 64 64 72 65 73 73 29 20 28 | n-story-file.(+.65536.address).( | 
| 56e0 | 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65    29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 | logand.255.value))))..(defsubst. | 
| 5700 | 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64    20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 | malyon-read-word.(address)..."Re | 
| 5720 | 61 64 20 61 20 77 6f 72 64 20 61 74 20 61 64 64    72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 | ad.a.word.at.address.in.the.stor | 
| 5740 | 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 73 73 29 0a 20 20 | y.file."...(if.(<=.0.address)... | 
| 5760 | 20 20 20 20 28 6c 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 | ....(logior.(lsh.(aref.malyon-st | 
| 5780 | 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73    29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ory-file.address).8)............ | 
| 57a0 | 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 31 20 | ...(aref.malyon-story-file.(+.1. | 
| 57c0 | 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28    6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 61 72 65 | address))).....(logior.(lsh.(are | 
| 57e0 | 66 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 64 | f.malyon-story-file.(+.65536.add | 
| 5800 | 72 65 73 73 29 29 20 38 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 | ress)).8).............(aref.maly | 
| 5820 | 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b    20 36 35 35 33 37 20 61 64 64 72 65 73 73 29 29 | on-story-file.(+.65537.address)) | 
| 5840 | 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d    61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 | )))..(defsubst.malyon-store-word | 
| 5860 | 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29    0a 20 20 22 53 74 6f 72 65 20 61 20 77 6f 72 64 | .(address.value)..."Store.a.word | 
| 5880 | 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74    68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a | .at.address.in.the.story.file.". | 
| 58a0 | 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72    65 73 73 29 0a 20 20 20 20 20 20 28 70 72 6f 67 | ..(if.(<=.0.address).......(prog | 
| 58c0 | 6e 0a 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 | n.........(aset.malyon-story-fil | 
| 58e0 | 65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e    64 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 | e.address.(logand.255.(lsh.value | 
| 5900 | 20 2d 38 29 29 29 0a 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 | .-8))).........(aset.malyon-stor | 
| 5920 | 79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72    65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 | y-file.(+.1.address).(logand.255 | 
| 5940 | 20 76 61 6c 75 65 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 | .value))).....(aset.malyon-story | 
| 5960 | 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 36 20 61    64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 | -file.(+.65536.address).(logand. | 
| 5980 | 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 28 61 73 65 74 20 6d | 255.(lsh.value.-8))).....(aset.m | 
| 59a0 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    20 28 2b 20 36 35 35 33 37 20 61 64 64 72 65 73 | alyon-story-file.(+.65537.addres | 
| 59c0 | 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76    61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 73 75 | s).(logand.255.value))))..(defsu | 
| 59e0 | 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    63 6f 64 65 2d 62 79 74 65 20 28 29 0a 20 20 22 | bst.malyon-read-code-byte.()..." | 
| 5a00 | 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79    74 65 20 61 74 20 74 68 65 20 70 72 6f 67 72 61 | Read.the.next.byte.at.the.progra | 
| 5a20 | 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 65 74 71 20 6d 61 6c | m.counter.location."...(setq.mal | 
| 5a40 | 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 2b 20 6d 61 6c 79 6f | yon-instruction-pointer.(+.malyo | 
| 5a60 | 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 0a 20 20 28 6d 61 6c | n-instruction-pointer.1))...(mal | 
| 5a80 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2d    20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 | yon-read-byte.(-.malyon-instruct | 
| 5aa0 | 69 6f 6e 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 | ion-pointer.1)))..(defsubst.maly | 
| 5ac0 | 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72    64 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 | on-read-code-word.()..."Read.the | 
| 5ae0 | 20 6e 65 78 74 20 77 6f 72 64 20 61 74 20 74 68    65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 | .next.word.at.the.program.counte | 
| 5b00 | 72 20 6c 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 | r.location."...(setq.malyon-inst | 
| 5b20 | 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 72 75 | ruction-pointer.(+.malyon-instru | 
| 5b40 | 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | ction-pointer.2))...(malyon-read | 
| 5b60 | 2d 77 6f 72 64 20 28 2d 20 6d 61 6c 79 6f 6e 2d    69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e | -word.(-.malyon-instruction-poin | 
| 5b80 | 74 65 72 20 32 29 29 29 0a 0a 28 64 65 66 73 75    62 73 74 20 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 | ter.2)))..(defsubst.malyon-pop-s | 
| 5ba0 | 74 61 63 6b 20 28 29 0a 20 20 22 50 6f 70 20 61    20 76 61 6c 75 65 20 6f 66 66 20 74 68 65 20 73 | tack.()..."Pop.a.value.off.the.s | 
| 5bc0 | 74 61 63 6b 2e 22 0a 20 20 28 69 66 20 28 3e 20    30 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 | tack."...(if.(>.0.malyon-stack-p | 
| 5be0 | 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f | ointer).......(malyon-fatal-erro | 
| 5c00 | 72 20 22 73 74 61 63 6b 20 75 6e 64 65 72 66 6c    6f 77 2e 22 29 29 0a 20 20 28 73 65 74 71 20 6d | r."stack.underflow."))...(setq.m | 
| 5c20 | 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e    74 65 72 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 | alyon-stack-pointer.(-.malyon-st | 
| 5c40 | 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a    20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 | ack-pointer.1))...(aref.malyon-s | 
| 5c60 | 74 61 63 6b 20 28 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 | tack.(+.malyon-stack-pointer.1)) | 
| 5c80 | 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 6c 6f 63 61 6c 2d 76 | )..(defsubst.malyon-read-local-v | 
| 5ca0 | 61 72 69 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 6c 6f 63 | ariable.(variable)..."Read.a.loc | 
| 5cc0 | 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 | al.variable."...(aref.malyon-sta | 
| 5ce0 | 63 6b 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 | ck.(+.variable.malyon-frame-poin | 
| 5d00 | 74 65 72 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 67 6c | ter)))..(defsubst.malyon-read-gl | 
| 5d20 | 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76    61 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64 | obal-variable.(variable)..."Read | 
| 5d40 | 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62    6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 | .a.global.variable."...(malyon-r | 
| 5d60 | 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79    6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 | ead-word.(+.malyon-global-variab | 
| 5d80 | 6c 65 73 20 28 2a 20 32 20 76 61 72 69 61 62 6c    65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 | les.(*.2.variable))))..(defsubst | 
| 5da0 | 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72    69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 29 | .malyon-read-variable.(variable) | 
| 5dc0 | 0a 20 20 22 52 65 61 64 20 61 20 76 61 72 69 61    62 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 | ..."Read.a.variable."...(cond.(( | 
| 5de0 | 3d 20 76 61 72 69 61 62 6c 65 20 30 29 20 20 28    6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b | =.variable.0)..(malyon-pop-stack | 
| 5e00 | 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 76    61 72 69 61 62 6c 65 20 31 36 29 20 28 6d 61 6c | )).........((<.variable.16).(mal | 
| 5e20 | 79 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76    61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 | yon-read-local-variable.variable | 
| 5e40 | 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | )).........(t...............(mal | 
| 5e60 | 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 2d 20 76 61 72 69 | yon-read-global-variable.(-.vari | 
| 5e80 | 61 62 6c 65 20 31 36 29 29 29 29 29 0a 0a 28 64    65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 | able.16)))))..(defsubst.malyon-p | 
| 5ea0 | 75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65    29 0a 20 20 22 50 75 73 68 20 61 20 76 61 6c 75 | ush-stack.(value)..."Push.a.valu | 
| 5ec0 | 65 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b    2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | e.onto.the.stack."...(setq.malyo | 
| 5ee0 | 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20    28 2b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d | n-stack-pointer.(+.malyon-stack- | 
| 5f00 | 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 73 74 61 63 6b | pointer.1))...(aset.malyon-stack | 
| 5f20 | 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f    69 6e 74 65 72 20 76 61 6c 75 65 29 29 0a 0a 28 | .malyon-stack-pointer.value))..( | 
| 5f40 | 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d    73 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 | defsubst.malyon-store-local-vari | 
| 5f60 | 61 62 6c 65 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 | able.(variable.value)..."Store.a | 
| 5f80 | 20 76 61 6c 75 65 20 69 6e 20 61 20 6c 6f 63 61    6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 | .value.in.a.local.variable."...( | 
| 5fa0 | 61 73 65 74 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 | aset.malyon-stack.(+.variable.ma | 
| 5fc0 | 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74    65 72 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 | lyon-frame-pointer).value))..(de | 
| 5fe0 | 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74    6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 | fsubst.malyon-store-global-varia | 
| 6000 | 62 6c 65 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 | ble.(variable.value)..."Store.a. | 
| 6020 | 76 61 6c 75 65 20 69 6e 20 61 20 67 6c 6f 62 61    6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 | value.in.a.global.variable."...( | 
| 6040 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72    64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 | malyon-store-word.(+.malyon-glob | 
| 6060 | 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 29 29 20 76 61 6c | al-variables.(*.2.variable)).val | 
| 6080 | 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 72 65 2d 76 61 72 | ue))..(defsubst.malyon-store-var | 
| 60a0 | 69 61 62 6c 65 20 28 76 61 72 20 76 61 6c 75 65    29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 76 | iable.(var.value)..."Store.the.v | 
| 60c0 | 61 6c 75 65 20 69 6e 20 61 20 76 61 72 69 61 62    6c 65 2e 22 0a 20 20 28 73 65 74 71 20 76 61 6c | alue.in.a.variable."...(setq.val | 
| 60e0 | 75 65 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35    20 76 61 6c 75 65 29 29 0a 20 20 28 63 6f 6e 64 | ue.(logand.65535.value))...(cond | 
| 6100 | 20 28 28 3d 20 76 61 72 20 30 29 20 20 28 6d 61    6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 | .((=.var.0)..(malyon-push-stack. | 
| 6120 | 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20    28 28 3c 20 76 61 72 20 31 36 29 20 28 6d 61 6c | value)).........((<.var.16).(mal | 
| 6140 | 79 6f 6e 2d 73 74 6f 72 65 2d 6c 6f 63 61 6c 2d    76 61 72 69 61 62 6c 65 20 76 61 72 20 76 61 6c | yon-store-local-variable.var.val | 
| 6160 | 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20    20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | ue)).........(t..........(malyon | 
| 6180 | 2d 73 74 6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61    72 69 61 62 6c 65 20 28 2d 20 76 61 72 20 31 36 | -store-global-variable.(-.var.16 | 
| 61a0 | 29 20 76 61 6c 75 65 29 29 29 29 0a 0a 3b 3b 20    6c 69 73 74 20 6f 66 20 6f 70 63 6f 64 65 73 0a | ).value))))..;;.list.of.opcodes. | 
| 61c0 | 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 73 0a 20 20 5b 6d 61 6c 79 6f | .(defvar.malyon-opcodes...[malyo | 
| 61e0 | 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 6a 65 | n-opcode-nop....malyon-opcode-je | 
| 6200 | 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 6a 6c 0a 20 | ..............malyon-opcode-jl.. | 
| 6220 | 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 20 20 20 20 20 | ..malyon-opcode-jg.............. | 
| 6240 | 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 6c 79 6f 6e 2d | malyon-opcode-dec-chk....malyon- | 
| 6260 | 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 6f 6e 2d 6f 70 | opcode-inc-chk.........malyon-op | 
| 6280 | 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 65 73 74 20 20 | code-jin....malyon-opcode-test.. | 
| 62a0 | 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 20 20 20 6d 61 | ..........malyon-opcode-or....ma | 
| 62c0 | 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 20 6d 61 6c 79 | lyon-opcode-and.............maly | 
| 62e0 | 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 6f 6e 2d 6f 70 | on-opcode-test-attr....malyon-op | 
| 6300 | 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 2d 6f 70 63 6f | code-set-attr........malyon-opco | 
| 6320 | 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 6f 64 65 2d 73 | de-clear-attr....malyon-opcode-s | 
| 6340 | 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 65 2d 69 6e 73 | tore...........malyon-opcode-ins | 
| 6360 | 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 61 64 77 20 20 | ert-obj....malyon-opcode-loadw.. | 
| 6380 | 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 62 0a 20 20 20 | .........malyon-opcode-loadb.... | 
| 63a0 | 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 20 20 20 6d 61 | malyon-opcode-get-prop........ma | 
| 63c0 | 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 20 20 6d 61 6c | lyon-opcode-get-prop-addr....mal | 
| 63e0 | 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 6d 61 6c 79 6f | yon-opcode-get-next-prop...malyo | 
| 6400 | 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 64 65 2d 73 75 | n-opcode-add....malyon-opcode-su | 
| 6420 | 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 2d 6d 75 6c 0a | b.............malyon-opcode-mul. | 
| 6440 | 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 20 20 20 20 20 | ...malyon-opcode-div............ | 
| 6460 | 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 6e 2d 6f 70 63 | .malyon-opcode-mod....malyon-opc | 
| 6480 | 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 6f 70 63 6f 64 | ode-calls...........malyon-opcod | 
| 64a0 | 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 74 2d 63 6f 6c | e-calln....malyon-opcode-set-col | 
| 64c0 | 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 77 0a 20 20 20 | or.......malyon-opcode-throw.... | 
| 64e0 | 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 6d 61 | malyon-opcode-nop.............ma | 
| 6500 | 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 64 65 | lyon-opcode-nop....malyon-opcode | 
| 6520 | 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 6f 64 65 2d 6e | -nop.............malyon-opcode-n | 
| 6540 | 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 20 20 20 20 20 | op....malyon-opcode-je.......... | 
| 6560 | 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 79 6f 6e 2d 6f | ....malyon-opcode-jl....malyon-o | 
| 6580 | 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 6e 2d 6f 70 63 | pcode-jg..............malyon-opc | 
| 65a0 | 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 65 2d 69 6e 63 | ode-dec-chk....malyon-opcode-inc | 
| 65c0 | 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 6a 69 6e 0a 20 | -chk.........malyon-opcode-jin.. | 
| 65e0 | 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 20 20 20 20 20 | ..malyon-opcode-test............ | 
| 6600 | 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 6f 70 63 6f 64 | malyon-opcode-or....malyon-opcod | 
| 6620 | 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 63 6f 64 65 2d | e-and.............malyon-opcode- | 
| 6640 | 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 73 65 74 2d 61 | test-attr....malyon-opcode-set-a | 
| 6660 | 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 65 61 72 2d 61 | ttr........malyon-opcode-clear-a | 
| 6680 | 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 20 20 20 20 20 | ttr....malyon-opcode-store...... | 
| 66a0 | 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 62 6a 0a 20 20 | .....malyon-opcode-insert-obj... | 
| 66c0 | 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 20 20 20 20 6d | .malyon-opcode-loadw...........m | 
| 66e0 | 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 6e 2d 6f 70 63 | alyon-opcode-loadb....malyon-opc | 
| 6700 | 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 6f 70 63 6f 64 | ode-get-prop........malyon-opcod | 
| 6720 | 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 70 63 6f 64 65 | e-get-prop-addr....malyon-opcode | 
| 6740 | 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 6f 64 65 2d 61 | -get-next-prop...malyon-opcode-a | 
| 6760 | 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 20 20 20 20 20 | dd....malyon-opcode-sub......... | 
| 6780 | 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 6c 79 6f 6e 2d | ....malyon-opcode-mul....malyon- | 
| 67a0 | 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 6f 6e 2d 6f 70 | opcode-div.............malyon-op | 
| 67c0 | 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 61 6c 6c 73 20 | code-mod....malyon-opcode-calls. | 
| 67e0 | 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 0a 20 20 | ..........malyon-opcode-calln... | 
| 6800 | 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 20 20 20 20 6d | .malyon-opcode-set-color.......m | 
| 6820 | 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 6e 2d 6f 70 63 | alyon-opcode-throw....malyon-opc | 
| 6840 | 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 6f 64 | ode-nop.............malyon-opcod | 
| 6860 | 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 20 20 20 20 20 | e-nop....malyon-opcode-nop...... | 
| 6880 | 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 20 6d 61 6c 79 | .......malyon-opcode-nop....maly | 
| 68a0 | 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 79 6f 6e | on-opcode-je..............malyon | 
| 68c0 | 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 67 20 20 | -opcode-jl....malyon-opcode-jg.. | 
| 68e0 | 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 2d 63 68 | ............malyon-opcode-dec-ch | 
| 6900 | 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 20 20 20 | k....malyon-opcode-inc-chk...... | 
| 6920 | 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 6e 2d 6f | ...malyon-opcode-jin....malyon-o | 
| 6940 | 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 6f 70 63 | pcode-test............malyon-opc | 
| 6960 | 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 20 20 20 | ode-or....malyon-opcode-and..... | 
| 6980 | 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 74 72 0a | ........malyon-opcode-test-attr. | 
| 69a0 | 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 20 20 20 | ...malyon-opcode-set-attr....... | 
| 69c0 | 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 6d 61 6c | .malyon-opcode-clear-attr....mal | 
| 69e0 | 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 6c 79 6f | yon-opcode-store...........malyo | 
| 6a00 | 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 2d 6f 70 | n-opcode-insert-obj....malyon-op | 
| 6a20 | 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 70 63 6f | code-loadw...........malyon-opco | 
| 6a40 | 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 2d 70 72 | de-loadb....malyon-opcode-get-pr | 
| 6a60 | 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 72 6f 70 | op........malyon-opcode-get-prop | 
| 6a80 | 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 78 74 2d | -addr....malyon-opcode-get-next- | 
| 6aa0 | 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 61 6c 79 | prop...malyon-opcode-add....maly | 
| 6ac0 | 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 79 6f 6e | on-opcode-sub.............malyon | 
| 6ae0 | 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 64 69 76 | -opcode-mul....malyon-opcode-div | 
| 6b00 | 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 64 0a 20 | .............malyon-opcode-mod.. | 
| 6b20 | 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 20 20 20 | ..malyon-opcode-calls........... | 
| 6b40 | 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 2d 6f 70 | malyon-opcode-calln....malyon-op | 
| 6b60 | 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 70 63 6f | code-set-color.......malyon-opco | 
| 6b80 | 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 20 20 20 | de-throw....malyon-opcode-nop... | 
| 6ba0 | 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 20 6d | ..........malyon-opcode-nop....m | 
| 6bc0 | 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 6d 61 6c | alyon-opcode-nop.............mal | 
| 6be0 | 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 64 65 2d | yon-opcode-nop....malyon-opcode- | 
| 6c00 | 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 2d 6a 6c | je..............malyon-opcode-jl | 
| 6c20 | 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 20 20 20 | ....malyon-opcode-jg............ | 
| 6c40 | 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 6c 79 6f | ..malyon-opcode-dec-chk....malyo | 
| 6c60 | 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 6f 6e 2d | n-opcode-inc-chk.........malyon- | 
| 6c80 | 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 65 73 74 | opcode-jin....malyon-opcode-test | 
| 6ca0 | 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 20 20 20 | ............malyon-opcode-or.... | 
| 6cc0 | 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 20 6d 61 | malyon-opcode-and.............ma | 
| 6ce0 | 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 6f 6e 2d | lyon-opcode-test-attr....malyon- | 
| 6d00 | 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 2d 6f 70 | opcode-set-attr........malyon-op | 
| 6d20 | 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 6f 64 65 | code-clear-attr....malyon-opcode | 
| 6d40 | 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 65 2d 69 | -store...........malyon-opcode-i | 
| 6d60 | 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 61 64 77 | nsert-obj....malyon-opcode-loadw | 
| 6d80 | 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 62 0a 20 | ...........malyon-opcode-loadb.. | 
| 6da0 | 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 20 20 20 | ..malyon-opcode-get-prop........ | 
| 6dc0 | 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 20 20 6d | malyon-opcode-get-prop-addr....m | 
| 6de0 | 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 6d 61 6c | alyon-opcode-get-next-prop...mal | 
| 6e00 | 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 64 65 2d | yon-opcode-add....malyon-opcode- | 
| 6e20 | 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 2d 6d 75 | sub.............malyon-opcode-mu | 
| 6e40 | 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 20 20 20 | l....malyon-opcode-div.......... | 
| 6e60 | 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 6e 2d 6f | ...malyon-opcode-mod....malyon-o | 
| 6e80 | 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 6f 70 63 | pcode-calls...........malyon-opc | 
| 6ea0 | 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 74 2d 63 | ode-calln....malyon-opcode-set-c | 
| 6ec0 | 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 77 0a 20 | olor.......malyon-opcode-throw.. | 
| 6ee0 | 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............. | 
| 6f00 | 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 | 
| 6f20 | 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 6f 64 65 | de-nop.............malyon-opcode | 
| 6f40 | 2d 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 | -jz....malyon-opcode-get-sibling | 
| 6f60 | 20 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 | .....malyon-opcode-get-child.... | 
| 6f80 | 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 20 20 20 20 20 6d 61 | malyon-opcode-get-parent......ma | 
| 6fa0 | 6c 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 | lyon-opcode-get-prop-len....maly | 
| 6fc0 | 6f 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 | on-opcode-inc.............malyon | 
| 6fe0 | 2d 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 | -opcode-dec....malyon-opcode-pri | 
| 7000 | 6e 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 | nt-addr......malyon-opcode-calls | 
| 7020 | 0a 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 | ....malyon-opcode-remove-obj.... | 
| 7040 | 20 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 | ..malyon-opcode-print-obj....mal | 
| 7060 | 79 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 | yon-opcode-ret.............malyo | 
| 7080 | 6e 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 | n-opcode-jump....malyon-opcode-p | 
| 70a0 | 72 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 | rint-paddr.....malyon-opcode-loa | 
| 70c0 | 64 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 | d....malyon-opcode-calln........ | 
| 70e0 | 20 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 | ...malyon-opcode-jz....malyon-op | 
| 7100 | 63 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 | code-get-sibling.....malyon-opco | 
| 7120 | 64 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 | de-get-child....malyon-opcode-ge | 
| 7140 | 74 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 | t-parent......malyon-opcode-get- | 
| 7160 | 70 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 | prop-len....malyon-opcode-inc... | 
| 7180 | 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 0a 20 20 20 6d | ..........malyon-opcode-dec....m | 
| 71a0 | 61 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 | alyon-opcode-print-addr......mal | 
| 71c0 | 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 70 63 6f 64 | yon-opcode-calls....malyon-opcod | 
| 71e0 | 65 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 | e-remove-obj......malyon-opcode- | 
| 7200 | 70 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 | print-obj....malyon-opcode-ret.. | 
| 7220 | 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 6a 75 6d 70 0a 20 20 | ...........malyon-opcode-jump... | 
| 7240 | 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 20 20 20 20 6d | .malyon-opcode-print-paddr.....m | 
| 7260 | 61 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 | alyon-opcode-load....malyon-opco | 
| 7280 | 64 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 | de-calln...........malyon-opcode | 
| 72a0 | 2d 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 | -jz....malyon-opcode-get-sibling | 
| 72c0 | 20 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 | .....malyon-opcode-get-child.... | 
| 72e0 | 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 20 20 20 20 20 6d 61 | malyon-opcode-get-parent......ma | 
| 7300 | 6c 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 | lyon-opcode-get-prop-len....maly | 
| 7320 | 6f 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 | on-opcode-inc.............malyon | 
| 7340 | 2d 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 | -opcode-dec....malyon-opcode-pri | 
| 7360 | 6e 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 | nt-addr......malyon-opcode-calls | 
| 7380 | 0a 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 | ....malyon-opcode-remove-obj.... | 
| 73a0 | 20 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 | ..malyon-opcode-print-obj....mal | 
| 73c0 | 79 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 | yon-opcode-ret.............malyo | 
| 73e0 | 6e 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 | n-opcode-jump....malyon-opcode-p | 
| 7400 | 72 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 | rint-paddr.....malyon-opcode-loa | 
| 7420 | 64 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 | d....malyon-opcode-calln........ | 
| 7440 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 72 74 72 75 65 0a 20 20 20 6d 61 6c 79 6f 6e | ...malyon-opcode-rtrue....malyon | 
| 7460 | 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 20 20    20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-rfalse..........malyon-o | 
| 7480 | 70 63 6f 64 65 2d 70 72 69 6e 74 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 | pcode-print....malyon-opcode-pri | 
| 74a0 | 6e 74 2d 72 65 74 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 | nt-ret.......malyon-opcode-nop.. | 
| 74c0 | 20 20 6d 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 | ..malyon-opcode-illegal......... | 
| 74e0 | 6d 61 6c 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 | malyon-opcode-illegal....malyon- | 
| 7500 | 6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 20    20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | opcode-restart.........malyon-op | 
| 7520 | 63 6f 64 65 2d 72 65 74 2d 70 6f 70 70 65 64 0a    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | code-ret-popped....malyon-opcode | 
| 7540 | 2d 63 61 74 63 68 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 71 | -catch...........malyon-opcode-q | 
| 7560 | 75 69 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 20 20 | uit....malyon-opcode-new-line... | 
| 7580 | 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 0a 20 20 20 6d 61 | .....malyon-opcode-illegal....ma | 
| 75a0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69    66 79 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-verify..........maly | 
| 75c0 | 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 6f | on-opcode-illegal....malyon-opco | 
| 75e0 | 64 65 2d 70 69 72 61 63 79 20 20 20 20 20 20 20    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | de-piracy..........malyon-opcode | 
| 7600 | 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 20 20 20 | -nop....malyon-opcode-je........ | 
| 7620 | 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 79 6f 6e | ......malyon-opcode-jl....malyon | 
| 7640 | 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 6e 2d 6f | -opcode-jg..............malyon-o | 
| 7660 | 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 65 2d 69 | pcode-dec-chk....malyon-opcode-i | 
| 7680 | 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 6a 69 6e | nc-chk.........malyon-opcode-jin | 
| 76a0 | 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 20 20 20 | ....malyon-opcode-test.......... | 
| 76c0 | 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 6f 70 63 | ..malyon-opcode-or....malyon-opc | 
| 76e0 | 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 63 6f 64 | ode-and.............malyon-opcod | 
| 7700 | 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 73 65 74 | e-test-attr....malyon-opcode-set | 
| 7720 | 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 65 61 72 | -attr........malyon-opcode-clear | 
| 7740 | 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 20 20 20 | -attr....malyon-opcode-store.... | 
| 7760 | 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 62 6a 0a | .......malyon-opcode-insert-obj. | 
| 7780 | 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 20 20 20 | ...malyon-opcode-loadw.......... | 
| 77a0 | 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 6e 2d 6f | .malyon-opcode-loadb....malyon-o | 
| 77c0 | 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 6f 70 63 | pcode-get-prop........malyon-opc | 
| 77e0 | 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 70 63 6f | ode-get-prop-addr....malyon-opco | 
| 7800 | 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 6f 64 65 | de-get-next-prop...malyon-opcode | 
| 7820 | 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 20 20 20 | -add....malyon-opcode-sub....... | 
| 7840 | 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 6c 79 6f | ......malyon-opcode-mul....malyo | 
| 7860 | 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 6f 6e 2d | n-opcode-div.............malyon- | 
| 7880 | 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 61 6c 6c | opcode-mod....malyon-opcode-call | 
| 78a0 | 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 6c 6e 0a | s...........malyon-opcode-calln. | 
| 78c0 | 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 20 20 20 | ...malyon-opcode-set-color...... | 
| 78e0 | 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 6e 2d 6f | .malyon-opcode-throw....malyon-o | 
| 7900 | 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 | 
| 7920 | 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 20 20 20 | ode-nop....malyon-opcode-nop.... | 
| 7940 | 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 73 0a 20 20 20 | .........malyon-opcode-calls.... | 
| 7960 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74    6f 72 65 77 20 20 20 20 20 20 20 20 20 20 6d 61 | malyon-opcode-storew..........ma | 
| 7980 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72    65 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | lyon-opcode-storeb....malyon-opc | 
| 79a0 | 6f 64 65 2d 70 75 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 | ode-put-prop........malyon-opcod | 
| 79c0 | 65 2d 61 72 65 61 64 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 | e-aread....malyon-opcode-print-c | 
| 79e0 | 68 61 72 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 2d 6e 75 6d | har......malyon-opcode-print-num | 
| 7a00 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 72 61 6e 64 6f 6d 20 20 20 20 20 20 20 20 | ....malyon-opcode-random........ | 
| 7a20 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    70 75 73 68 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | ..malyon-opcode-push....malyon-o | 
| 7a40 | 70 63 6f 64 65 2d 70 75 6c 6c 20 20 20 20 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-pull............malyon-opc | 
| 7a60 | 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77    0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-split-window....malyon-opcod | 
| 7a80 | 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 20 20 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-set-window......malyon-opcode- | 
| 7aa0 | 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 77 69 6e | calls....malyon-opcode-erase-win | 
| 7ac0 | 64 6f 77 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 0a | dow....malyon-opcode-erase-line. | 
| 7ae0 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 73 65 74 2d 63 75 72 73 6f 72 20 20 20 20 20 | ...malyon-opcode-set-cursor..... | 
| 7b00 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67    65 74 2d 63 75 72 73 6f 72 0a 20 20 20 6d 61 6c | .malyon-opcode-get-cursor....mal | 
| 7b20 | 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 20 6d 61 6c 79 6f | yon-opcode-set-text-style..malyo | 
| 7b40 | 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 2d    6d 6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | n-opcode-buffer-mode....malyon-o | 
| 7b60 | 70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72    65 61 6d 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-output-stream...malyon-opc | 
| 7b80 | 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d    0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-input-stream....malyon-opcod | 
| 7ba0 | 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 6f 64 65 2d | e-nop.............malyon-opcode- | 
| 7bc0 | 72 65 61 64 2d 63 68 61 72 0a 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d | read-char....malyon-opcode-scan- | 
| 7be0 | 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 0a 20 20 20 | table......malyon-opcode-not.... | 
| 7c00 | 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 20 20 6d 61 | malyon-opcode-calln...........ma | 
| 7c20 | 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 2d 6f 70 63 6f | lyon-opcode-calln....malyon-opco | 
| 7c40 | 64 65 2d 74 6f 6b 65 6e 69 73 65 20 20 20 20 20    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | de-tokenise........malyon-opcode | 
| 7c60 | 2d 65 6e 63 6f 64 65 2d 74 65 78 74 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f | -encode-text....malyon-opcode-co | 
| 7c80 | 70 79 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e | py-table......malyon-opcode-prin | 
| 7ca0 | 74 2d 74 61 62 6c 65 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61 | t-table....malyon-opcode-check-a | 
| 7cc0 | 72 67 2d 63 6f 75 6e 74 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 73 61 76 65 0a 20 20 20 6d | rg-count.malyon-opcode-save....m | 
| 7ce0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73    74 6f 72 65 20 20 20 20 20 20 20 20 20 6d 61 6c | alyon-opcode-restore.........mal | 
| 7d00 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73    68 69 66 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | yon-opcode-log-shift....malyon-o | 
| 7d20 | 70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-art-shift.......malyon-opc | 
| 7d40 | 6f 64 65 2d 73 65 74 2d 66 6f 6e 74 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c | ode-set-font....malyon-opcode-il | 
| 7d60 | 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 65 | legal.........malyon-opcode-ille | 
| 7d80 | 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20 | gal....malyon-opcode-illegal.... | 
| 7da0 | 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 0a 20 20 20 6d 61 | .....malyon-opcode-illegal....ma | 
| 7dc0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65    2d 75 6e 64 6f 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-save-undo.......maly | 
| 7de0 | 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72    65 2d 75 6e 64 6f 0a 20 20 20 6d 61 6c 79 6f 6e | on-opcode-restore-undo....malyon | 
| 7e00 | 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e    69 63 6f 64 65 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-print-unicode...malyon-o | 
| 7e20 | 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63    6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | pcode-check-unicode....malyon-op | 
| 7e40 | 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 6f | code-nop.............malyon-opco | 
| 7e60 | 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 5d 0a 20 20 22 | de-nop....malyon-opcode-nop]..." | 
| 7e80 | 41 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20    6b 6e 6f 77 6e 20 6c 65 67 61 6c 20 5a 2d 63 6f | A.vector.of.all.known.legal.Z-co | 
| 7ea0 | 64 65 20 6f 70 63 6f 64 65 73 2e 22 29 0a 0a 3b    3b 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e | de.opcodes.")..;;.initialization | 
| 7ec0 | 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 72 6f 6d 2d | ..(defun.malyon-load-story-from- | 
| 7ee0 | 62 75 66 66 65 72 20 28 6d 69 6e 20 6d 61 78 29    0a 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 | buffer.(min.max)..."Load.a.Z-cod | 
| 7f00 | 65 20 73 74 6f 72 79 20 69 6e 74 6f 20 61 6e 20    69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e | e.story.into.an.internal.vector. | 
| 7f20 | 22 0a 20 20 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 73 74 72 | "...(setq.malyon-story-file.(str | 
| 7f40 | 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ing-to-vector................... | 
| 7f60 | 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72    2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 | .........(buffer-substring-no-pr | 
| 7f80 | 6f 70 65 72 74 69 65 73 20 6d 69 6e 20 6d 61 78    29 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 | operties.min.max)))...(if.(not.( | 
| 7fa0 | 65 71 20 3f 5c 5e 41 20 31 29 29 0a 20 20 20 20    20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 | eq.?\^A.1)).......(let.((i.0)).. | 
| 7fc0 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c    20 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f | .......(while.(<.i.(length.malyo | 
| 7fe0 | 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d | n-story-file))...........(aset.m | 
| 8000 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | alyon-story-file................ | 
| 8020 | 20 69 0a 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 | .i.................(malyon-char- | 
| 8040 | 74 6f 2d 69 6e 74 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 69 | to-int.(aref.malyon-story-file.i | 
| 8060 | 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 29 | )))...........(setq.i.(+.1.i)))) | 
| 8080 | 29 0a 20 20 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 28 | )...)..(defun.malyon-load-file.( | 
| 80a0 | 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f    61 64 20 61 20 62 69 6e 61 72 79 20 66 69 6c 65 | file-name)..."Load.a.binary.file | 
| 80c0 | 20 69 6e 74 6f 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 6d 61 | .into.the.current.buffer."...(ma | 
| 80e0 | 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c    74 69 62 79 74 65 29 0a 20 20 28 6d 61 6c 79 6f | lyon-disable-multibyte)...(malyo | 
| 8100 | 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a    20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d | n-erase-buffer)...(let.((coding- | 
| 8120 | 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20    27 62 69 6e 61 72 79 29 29 0a 20 20 20 20 28 69 | system-for-read.'binary)).....(i | 
| 8140 | 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65    6e 74 73 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 | nsert-file-contents.file-name))) | 
| 8160 | 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79    6f 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65 | ..(defconst.malyon-iff-chunk-spe | 
| 8180 | 63 0a 20 20 27 28 28 3a 69 64 20 20 20 20 20 73    74 72 20 34 29 0a 20 20 20 20 28 3a 6c 65 6e 67 | c...'((:id.....str.4).....(:leng | 
| 81a0 | 74 68 20 75 33 32 29 29 0a 20 20 22 44 65 73 63    72 69 70 74 69 6f 6e 20 6f 66 20 61 6e 20 49 46 | th.u32))..."Description.of.an.IF | 
| 81c0 | 46 20 63 68 75 6e 6b 20 68 65 61 64 65 72 2e 22    29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c | F.chunk.header.")..(defconst.mal | 
| 81e0 | 79 6f 6e 2d 52 49 64 78 2d 73 70 65 63 0a 20 20    27 28 28 3a 6e 75 6d 20 75 33 32 29 0a 20 20 20 | yon-RIdx-spec...'((:num.u32).... | 
| 8200 | 20 28 3a 72 65 73 6f 75 72 63 65 73 20 72 65 70    65 61 74 20 28 3a 6e 75 6d 29 20 28 3a 75 73 61 | .(:resources.repeat.(:num).(:usa | 
| 8220 | 67 65 20 73 74 72 20 34 29 20 28 3a 6e 75 6d 62    65 72 20 75 33 32 29 20 28 3a 73 74 61 72 74 20 | ge.str.4).(:number.u32).(:start. | 
| 8240 | 75 33 32 29 29 29 0a 20 20 22 44 65 73 63 72 69    70 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 49 64 | u32)))..."Description.of.the.RId | 
| 8260 | 78 20 63 68 75 6e 6b 2e 22 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b | x.chunk.")..(defun.malyon-unpack | 
| 8280 | 20 28 73 70 65 63 20 73 74 61 72 74 20 6c 65 6e    67 74 68 29 0a 20 20 22 55 6e 70 61 63 6b 20 4c | .(spec.start.length)..."Unpack.L | 
| 82a0 | 45 4e 47 54 48 20 62 79 74 65 73 20 61 74 20 30    2d 62 61 73 65 64 20 6f 66 66 73 65 74 20 53 54 | ENGTH.bytes.at.0-based.offset.ST | 
| 82c0 | 41 52 54 20 61 63 63 6f 72 64 69 6e 67 20 74 6f    20 53 50 45 43 2e 22 0a 20 20 28 62 69 6e 64 61 | ART.according.to.SPEC."...(binda | 
| 82e0 | 74 2d 75 6e 70 61 63 6b 20 73 70 65 63 20 28 62    75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d | t-unpack.spec.(buffer-substring- | 
| 8300 | 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 31    2b 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 | no-properties.(1+.start)........ | 
| 8320 | 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 | ................................ | 
| 8340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2b 20 31 20 73 74 61 72 74 20 6c 65 6e 67 74 68 | ...............(+.1.start.length | 
| 8360 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 2d 66 | ))))..(defun.malyon-load-blorb-f | 
| 8380 | 69 6c 65 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 | ile.(file-name)..."Load.a.Z-code | 
| 83a0 | 20 42 6c 6f 72 62 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 | .Blorb.file.into.an.internal.vec | 
| 83c0 | 74 6f 72 2e 22 0a 20 20 28 72 65 71 75 69 72 65    20 27 62 69 6e 64 61 74 29 0a 20 20 28 72 65 71 | tor."...(require.'bindat)...(req | 
| 83e0 | 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 20 20    28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 | uire.'cl-lib)...(with-temp-buffe | 
| 8400 | 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f    61 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d | r.....(malyon-load-file.file-nam | 
| 8420 | 65 29 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20    74 68 65 20 73 69 67 6e 61 74 75 72 65 2e 20 20 | e).....;;.Check.the.signature... | 
| 8440 | 4d 75 73 74 20 62 65 20 61 6e 20 49 46 46 20 66    69 6c 65 20 6f 66 20 74 79 70 65 20 49 46 52 53 | Must.be.an.IFF.file.of.type.IFRS | 
| 8460 | 0a 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67    20 77 69 74 68 20 61 6e 20 52 49 64 78 20 63 68 | .....;;.starting.with.an.RIdx.ch | 
| 8480 | 75 6e 6b 2e 0a 20 20 20 20 28 6f 72 20 28 61 6e    64 20 28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d | unk......(or.(and.(string=."FORM | 
| 84a0 | 22 20 28 62 75 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 | ".(buffer-substring-no-propertie | 
| 84c0 | 73 20 31 20 35 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 49 | s.1.5))..............(string=."I | 
| 84e0 | 46 52 53 52 49 64 78 22 20 28 62 75 66 66 65 72    2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 | FRSRIdx".(buffer-substring-no-pr | 
| 8500 | 6f 70 65 72 74 69 65 73 20 39 20 31 37 29 29 29    0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 | operties.9.17))).........(error. | 
| 8520 | 22 4e 6f 74 20 61 20 42 6c 6f 72 62 20 66 69 6c    65 22 29 29 0a 20 20 20 20 3b 3b 20 55 6e 70 61 | "Not.a.Blorb.file")).....;;.Unpa | 
| 8540 | 63 6b 20 74 68 65 20 52 49 64 78 20 63 68 75 6e    6b 2c 20 66 69 6e 64 20 74 68 65 20 45 78 65 63 | ck.the.RIdx.chunk,.find.the.Exec | 
| 8560 | 20 63 68 75 6e 63 6b 2c 20 61 6e 64 20 75 6e 70    61 63 6b 20 69 74 73 20 68 65 61 64 65 72 2e 0a | .chunck,.and.unpack.its.header.. | 
| 8580 | 20 20 20 20 28 6c 65 74 2a 20 28 28 72 69 64 78    2d 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d | ....(let*.((ridx-header.(malyon- | 
| 85a0 | 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66    66 2d 63 68 75 6e 6b 2d 73 70 65 63 20 31 32 20 | unpack.malyon-iff-chunk-spec.12. | 
| 85c0 | 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    72 69 64 78 20 20 20 20 20 20 20 20 28 6d 61 6c | 8))............(ridx........(mal | 
| 85e0 | 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f    6e 2d 52 49 64 78 2d 73 70 65 63 20 32 30 0a 20 | yon-unpack.malyon-RIdx-spec.20.. | 
| 8600 | 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 | ................................ | 
| 8620 | 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71    20 3a 6c 65 6e 67 74 68 20 72 69 64 78 2d 68 65 | ......(cdr.(assq.:length.ridx-he | 
| 8640 | 61 64 65 72 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 65 78 65 63 20 28 63 6c 2d 66 69 | ader))))............(exec.(cl-fi | 
| 8660 | 6e 64 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f | nd-if...................(functio | 
| 8680 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 29 | n....................(lambda.(r) | 
| 86a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 61 6e 64 20 28 3d 20 30 20 | ......................(and.(=.0. | 
| 86c0 | 28 63 64 72 20 28 61 73 73 71 20 3a 6e 75 6d 62    65 72 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 | (cdr.(assq.:number.r)))......... | 
| 86e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 74 72 69 6e 67 3d 20 22 45 78 65 63 | ..................(string=."Exec | 
| 8700 | 22 20 28 63 64 72 20 28 61 73 73 71 20 3a 75 73    61 67 65 20 72 29 29 29 29 29 29 0a 20 20 20 20 | ".(cdr.(assq.:usage.r))))))..... | 
| 8720 | 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 3a 72 65 73 6f 75 72 | ..............(cdr.(assq.:resour | 
| 8740 | 63 65 73 20 72 69 64 78 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 73 74 6f 72 79 2d 73 | ces.ridx))))............(story-s | 
| 8760 | 74 61 72 74 20 28 63 64 72 20 28 61 73 73 71 20    3a 73 74 61 72 74 20 65 78 65 63 29 29 29 0a 20 | tart.(cdr.(assq.:start.exec))).. | 
| 8780 | 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 2d    68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75 | ..........(exec-header.(malyon-u | 
| 87a0 | 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66    2d 63 68 75 6e 6b 2d 73 70 65 63 20 73 74 6f 72 | npack.malyon-iff-chunk-spec.stor | 
| 87c0 | 79 2d 73 74 61 72 74 20 38 29 29 29 0a 20 20 20    20 20 20 3b 3b 20 45 6e 73 75 72 65 20 74 68 61 | y-start.8))).......;;.Ensure.tha | 
| 87e0 | 74 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 6b    20 69 73 20 5a 2d 63 6f 64 65 2e 0a 20 20 20 20 | t.the.Exec.chunk.is.Z-code...... | 
| 8800 | 20 20 28 6f 72 20 28 73 74 72 69 6e 67 3d 20 22    5a 43 4f 44 22 20 28 63 64 72 20 28 61 73 73 71 | ..(or.(string=."ZCOD".(cdr.(assq | 
| 8820 | 20 3a 69 64 20 65 78 65 63 2d 68 65 61 64 65 72    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 | .:id.exec-header)))...........(e | 
| 8840 | 72 72 6f 72 20 22 4e 6f 74 20 61 20 5a 2d 63 6f    64 65 20 42 6c 6f 72 62 20 66 69 6c 65 22 29 29 | rror."Not.a.Z-code.Blorb.file")) | 
| 8860 | 0a 20 20 20 20 20 20 3b 3b 20 4c 6f 61 64 20 74    68 65 20 5a 2d 63 6f 64 65 20 66 72 6f 6d 20 74 | .......;;.Load.the.Z-code.from.t | 
| 8880 | 68 65 20 63 68 75 6e 6b 2e 0a 20 20 20 20 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f | he.chunk........(setq.malyon-sto | 
| 88a0 | 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c    65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d | ry-file-name.file-name).......(m | 
| 88c0 | 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79    2d 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 2b 20 | alyon-load-story-from-buffer.(+. | 
| 88e0 | 39 20 73 74 6f 72 79 2d 73 74 61 72 74 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 9.story-start).................. | 
| 8900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 2b 20 39 20 73 74 6f 72 79 2d 73 | ....................(+.9.story-s | 
| 8920 | 74 61 72 74 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 | tart............................ | 
| 8940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64    72 20 28 61 73 73 71 20 3a 6c 65 6e 67 74 68 20 | .............(cdr.(assq.:length. | 
| 8960 | 65 78 65 63 2d 68 65 61 64 65 72 29 29 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | exec-header)))))))..(defun.malyo | 
| 8980 | 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c    65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 | n-load-story-file.(file-name)... | 
| 89a0 | 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73    74 6f 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 61 | "Load.a.Z-code.story.file.into.a | 
| 89c0 | 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f    72 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 | n.internal.vector."...(with-temp | 
| 89e0 | 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69 | -buffer.....(malyon-load-file.fi | 
| 8a00 | 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | le-name).....(setq.malyon-story- | 
| 8a20 | 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e    61 6d 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | file-name.file-name).....(malyon | 
| 8a40 | 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d    2d 62 75 66 66 65 72 20 28 70 6f 69 6e 74 2d 6d | -load-story-from-buffer.(point-m | 
| 8a60 | 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | in).(point-max))))..(defun.malyo | 
| 8a80 | 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 20 28 29 0a    20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 | n-initialize.()..."Initialize.th | 
| 8aa0 | 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72    65 74 65 72 2e 22 0a 3b 20 20 28 6d 61 6c 79 6f | e.Z-code.interpreter.".;..(malyo | 
| 8ac0 | 6e 2d 74 72 61 63 65 2d 66 69 6c 65 29 0a 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d | n-trace-file)...(setq.malyon-gam | 
| 8ae0 | 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20    74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 | e-state-quetzal.t)...(malyon-ini | 
| 8b00 | 74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 29 0a    20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 | tialize-status)...(malyon-initia | 
| 8b20 | 6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 29    0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 | lize-transcript)...(malyon-initi | 
| 8b40 | 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c | alize-windows)...(malyon-initial | 
| 8b60 | 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 | ize-story-header)...(malyon-init | 
| 8b80 | 69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 | ialize-registers)...(malyon-init | 
| 8ba0 | 69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 29 0a    20 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 | ialize-opcodes)...(malyon-histor | 
| 8bc0 | 79 2d 63 6c 65 61 72 29 0a 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 | y-clear)...(setq.malyon-game-sta | 
| 8be0 | 74 65 2d 72 65 73 74 61 72 74 20 28 6d 61 6c 79    6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d | te-restart.(malyon-current-game- | 
| 8c00 | 73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f    6e 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 29 29 | state))...(malyon-print-header)) | 
| 8c20 | 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 2d 73 74 61 74 75 | ..(defun.malyon-initialize-statu | 
| 8c40 | 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69    7a 65 20 74 68 65 20 73 74 61 74 75 73 20 62 75 | s.()..."Initialize.the.status.bu | 
| 8c60 | 66 66 65 72 2e 22 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 | ffer."...(setq.malyon-status-buf | 
| 8c80 | 66 65 72 20 28 67 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 53 | fer.(get-buffer-create."Malyon.S | 
| 8ca0 | 74 61 74 75 73 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 | tatus"))...(switch-to-buffer.mal | 
| 8cc0 | 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 | yon-status-buffer)...(malyon-era | 
| 8ce0 | 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 61 72 | se-buffer)...(kill-all-local-var | 
| 8d00 | 69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20    63 75 72 73 6f 72 2d 69 6e 2d 6e 6f 6e 2d 73 65 | iables)...(setq.cursor-in-non-se | 
| 8d20 | 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 73 20 6e    69 6c 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 | lected-windows.nil)...(setq.mode | 
| 8d40 | 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 6e 69 6c    29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | -line-format.nil)...(setq.malyon | 
| 8d60 | 2d 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 | -status-buffer-point.(point))... | 
| 8d80 | 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 6c 69 6e 65 73 | (setq.malyon-status-buffer-lines | 
| 8da0 | 20 30 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 72 | .0)...(setq.malyon-status-buffer | 
| 8dc0 | 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e    69 6c 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c | -delayed-split.nil)...(use-local | 
| 8de0 | 2d 6d 61 70 20 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 | -map.malyon-keymap-read)...(set- | 
| 8e00 | 73 79 6e 74 61 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 | syntax-table.malyon-syntax-table | 
| 8e20 | 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6e    61 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20 | )...(setq.mode-name."Malyon")... | 
| 8e40 | 28 73 65 74 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65    20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20 | (setq.major-mode.'malyon-mode).. | 
| 8e60 | 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6d 61 6c    79 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a | .(run-hooks.'malyon-mode-hook)). | 
| 8e80 | 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 74 72 61 6e 73 63 | .(defun.malyon-initialize-transc | 
| 8ea0 | 72 69 70 74 20 28 29 0a 20 20 22 49 6e 69 74 69    61 6c 69 7a 65 20 74 68 65 20 74 72 61 6e 73 63 | ript.()..."Initialize.the.transc | 
| 8ec0 | 72 69 70 74 20 62 75 66 66 65 72 2e 22 0a 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 | ript.buffer."...(setq.malyon-tra | 
| 8ee0 | 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28    67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 | nscript-buffer.(get-buffer-creat | 
| 8f00 | 65 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63    72 69 70 74 22 29 29 0a 20 20 28 73 77 69 74 63 | e."Malyon.Transcript"))...(switc | 
| 8f20 | 68 2d 74 6f 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 2d 62 75 | h-to-buffer.malyon-transcript-bu | 
| 8f40 | 66 66 65 72 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 | ffer)...(malyon-erase-buffer)... | 
| 8f60 | 28 6b 69 6c 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 | (kill-all-local-variables)...(se | 
| 8f80 | 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 | 
| 8fa0 | 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 | fter-input.........(malyon-point | 
| 8fc0 | 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 29 0a | -max.malyon-transcript-buffer)). | 
| 8fe0 | 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 70 2d 72 | ..(use-local-map.malyon-keymap-r | 
| 9000 | 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 6f 6e 2d | ead)...(set-syntax-table.malyon- | 
| 9020 | 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20    28 73 65 74 71 20 66 69 6c 6c 2d 63 6f 6c 75 6d | syntax-table)...(setq.fill-colum | 
| 9040 | 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c    75 6d 6e 29 0a 20 20 28 61 75 74 6f 2d 66 69 6c | n.malyon-max-column)...(auto-fil | 
| 9060 | 6c 2d 6d 6f 64 65 20 31 29 0a 20 20 28 73 65 74    71 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 4d 61 6c | l-mode.1)...(setq.mode-name."Mal | 
| 9080 | 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 27 6d 61 6c 79 6f 6e | yon")...(setq.major-mode.'malyon | 
| 90a0 | 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 6f 6e 2d 6d 6f 64 65 | -mode)...(run-hooks.'malyon-mode | 
| 90c0 | 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 69 74 69 61 6c 69 7a | -hook))..(defun.malyon-initializ | 
| 90e0 | 65 2d 77 69 6e 64 6f 77 73 20 28 29 0a 20 20 22    49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 77 | e-windows.()..."Initialize.the.w | 
| 9100 | 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74    69 6f 6e 20 66 6f 72 20 74 68 65 20 7a 20 6d 61 | indow.configuration.for.the.z.ma | 
| 9120 | 63 68 69 6e 65 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 | chine."...(setq.malyon-transcrip | 
| 9140 | 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65    64 20 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 | t-buffer-buffered.t)...(malyon-s | 
| 9160 | 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67    75 72 61 74 69 6f 6e 20 30 29 0a 20 20 28 6d 61 | et-window-configuration.0)...(ma | 
| 9180 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d    77 69 6e 64 6f 77 20 30 29 29 0a 0a 28 64 65 66 | lyon-opcode-set-window.0))..(def | 
| 91a0 | 75 6e 20 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 | un.malyon-initialize-story-heade | 
| 91c0 | 72 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69    7a 65 73 20 74 68 65 20 68 65 61 64 65 72 20 73 | r.()..."Initializes.the.header.s | 
| 91e0 | 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74    6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61 | ection.of.the.story.file."...(ma | 
| 9200 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20    31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lyon-store-byte.1............... | 
| 9220 | 20 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 65 72 73 | .......(if.(>=.malyon-story-vers | 
| 9240 | 69 6f 6e 20 35 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 | ion.5).......................... | 
| 9260 | 32 38 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 6c 6f 67 69 6f | 28........................(logio | 
| 9280 | 72 20 23 78 32 30 20 28 6c 6f 67 61 6e 64 20 23    62 31 31 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | r.#x20.(logand.#b111.(malyon-rea | 
| 92a0 | 64 2d 62 79 74 65 20 31 29 29 29 29 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 | d-byte.1)))))...(malyon-store-by | 
| 92c0 | 74 65 20 31 36 20 28 6c 6f 67 61 6e 64 20 34 34    30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | te.16.(logand.440.(malyon-read-b | 
| 92e0 | 79 74 65 20 31 36 29 29 29 0a 20 20 28 6d 61 6c    79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 | yte.16)))...(malyon-store-byte.3 | 
| 9300 | 30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73    74 6f 72 65 2d 62 79 74 65 20 33 31 20 36 35 29 | 0.1)...(malyon-store-byte.31.65) | 
| 9320 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 62 79 74 65 20 33 32 20 32 35 35 29 0a 20 20 | ...(malyon-store-byte.32.255)... | 
| 9340 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79    74 65 20 33 33 20 28 2d 20 6d 61 6c 79 6f 6e 2d | (malyon-store-byte.33.(-.malyon- | 
| 9360 | 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 | 
| 9380 | 6f 72 64 20 33 34 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 | ord.34.(-.malyon-max-column.1)). | 
| 93a0 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    77 6f 72 64 20 33 36 20 32 35 35 29 0a 20 20 28 | ..(malyon-store-word.36.255)...( | 
| 93c0 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72    64 20 33 38 20 31 29 0a 20 20 28 6d 61 6c 79 6f | malyon-store-word.38.1)...(malyo | 
| 93e0 | 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 39 20    31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f | n-store-word.39.1)...(malyon-sto | 
| 9400 | 72 65 2d 62 79 74 65 20 34 34 20 30 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 | re-byte.44.0)...(malyon-store-by | 
| 9420 | 74 65 20 34 35 20 30 29 0a 20 20 28 6d 61 6c 79    6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 35 30 | te.45.0)...(malyon-store-byte.50 | 
| 9440 | 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74    6f 72 65 2d 62 79 74 65 20 35 31 20 30 29 29 0a | .1)...(malyon-store-byte.51.0)). | 
| 9460 | 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 72 65 67 69 73 74 | .(defun.malyon-initialize-regist | 
| 9480 | 65 72 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61    6c 69 7a 65 20 74 68 65 20 69 6e 74 65 72 70 72 | ers.()..."Initialize.the.interpr | 
| 94a0 | 65 74 65 72 27 73 20 69 6e 74 65 72 6e 61 6c 20    72 65 67 69 73 74 65 72 73 2e 22 0a 20 20 28 73 | eter's.internal.registers."...(s | 
| 94c0 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b    20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 30 | etq.malyon-stack.(make-vector.10 | 
| 94e0 | 32 34 20 30 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 | 24.0))...(setq.malyon-stack-poin | 
| 9500 | 74 65 72 20 2d 31 29 0a 20 20 28 6d 61 6c 79 6f    6e 2d 70 75 73 68 2d 69 6e 69 74 69 61 6c 2d 66 | ter.-1)...(malyon-push-initial-f | 
| 9520 | 72 61 6d 65 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 | rame)...(setq.malyon-frame-point | 
| 9540 | 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 20 28 73 65 74 71 | er.malyon-stack-pointer)...(setq | 
| 9560 | 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 6d 61 6c | .malyon-instruction-pointer.(mal | 
| 9580 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 36 29    29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | yon-read-word.6))...(setq.malyon | 
| 95a0 | 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65    73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | -global-variables.(malyon-read-w | 
| 95c0 | 6f 72 64 20 31 32 29 29 0a 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 | ord.12))...(setq.malyon-object-t | 
| 95e0 | 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 77 6f 72 64 20 31 30 29 29 0a 20 20 28 63 | able.(malyon-read-word.10))...(c | 
| 9600 | 6f 6e 64 20 28 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 | ond.((<.malyon-story-version.5). | 
| 9620 | 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 74 61 62 | .........(setq.malyon-object-tab | 
| 9640 | 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 39 29    0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | le-entry-size.9)..........(setq. | 
| 9660 | 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72    6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 33 | malyon-object-properties.......3 | 
| 9680 | 31 29 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 | 1)..........(setq.malyon-object- | 
| 96a0 | 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20    20 37 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a | property-offset..7)).........(t. | 
| 96c0 | 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 74 61 62 | .........(setq.malyon-object-tab | 
| 96e0 | 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 31 34    29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | le-entry-size.14)..........(setq | 
| 9700 | 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 20 20 20 20 20 20 20 | .malyon-object-properties....... | 
| 9720 | 36 33 29 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 | 63)..........(setq.malyon-object | 
| 9740 | 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74    20 20 31 32 29 29 29 0a 20 20 28 73 65 74 71 20 | -property-offset..12)))...(setq. | 
| 9760 | 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74    69 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | malyon-abbreviations.(malyon-rea | 
| 9780 | 64 2d 77 6f 72 64 20 32 34 29 29 0a 20 20 28 69    66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | d-word.24))...(if.(<.malyon-stor | 
| 97a0 | 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d | y-version.5).......(setq.malyon- | 
| 97c0 | 73 63 6f 72 65 2d 67 61 6d 65 20 28 7a 65 72 6f    70 20 28 6c 6f 67 61 6e 64 20 32 20 28 6d 61 6c | score-game.(zerop.(logand.2.(mal | 
| 97e0 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29    29 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c | yon-read-byte.1)))))...(setq.mal | 
| 9800 | 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69    70 6c 69 65 72 0a 20 20 20 20 20 20 20 20 28 63 | yon-packed-multiplier.........(c | 
| 9820 | 61 64 72 20 28 61 73 73 71 20 6d 61 6c 79 6f 6e    2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 27 | adr.(assq.malyon-story-version.' | 
| 9840 | 28 28 33 20 32 29 20 28 35 20 34 29 20 28 38 20    38 29 29 29 29 29 0a 20 20 28 69 66 20 28 6f 72 | ((3.2).(5.4).(8.8)))))...(if.(or | 
| 9860 | 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 28 7a 65 72 | .(<.malyon-story-version.5).(zer | 
| 9880 | 6f 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    77 6f 72 64 20 35 32 29 29 29 0a 20 20 20 20 20 | op.(malyon-read-word.52)))...... | 
| 98a0 | 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 6c    70 68 61 62 65 74 20 28 63 6f 6e 63 61 74 20 22 | .(setq.malyon-alphabet.(concat." | 
| 98c0 | 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70    71 72 73 74 75 76 77 78 79 7a 22 0a 20 20 20 20 | abcdefghijklmnopqrstuvwxyz"..... | 
| 98e0 | 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 | ................................ | 
| 9900 | 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f    50 51 52 53 54 55 56 57 58 59 5a 22 0a 20 20 20 | "ABCDEFGHIJKLMNOPQRSTUVWXYZ".... | 
| 9920 | 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 | ................................ | 
| 9940 | 20 22 20 5c 6e 30 31 32 33 34 35 36 37 38 39 2e    2c 21 3f 5f 23 27 5c 22 2f 5c 5c 2d 3a 28 29 22 | .".\n0123456789.,!?_#'\"/\\-:()" | 
| 9960 | 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c    79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 6d 61 | )).....(setq.malyon-alphabet.(ma | 
| 9980 | 6b 65 2d 73 74 72 69 6e 67 20 37 38 20 3f 20 29    29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 | ke-string.78.?.)).....(let.((i.0 | 
| 99a0 | 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20    28 3c 20 69 20 37 38 29 0a 20 20 20 20 20 20 20 | )).......(while.(<.i.78)........ | 
| 99c0 | 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 61 6c    70 68 61 62 65 74 20 69 0a 20 20 20 20 20 20 20 | .(aset.malyon-alphabet.i........ | 
| 99e0 | 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 2b 20 69 20 28 6d | .......(malyon-read-byte.(+.i.(m | 
| 9a00 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20    35 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 | alyon-read-word.52)))).........( | 
| 9a20 | 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29    29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 | setq.i.(+.1.i)))))...(malyon-ini | 
| 9a40 | 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 65 2d    74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d | tialize-unicode-table)...(setq.m | 
| 9a60 | 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 65 61 64 2d 77 6f | alyon-dictionary.(malyon-read-wo | 
| 9a80 | 72 64 20 38 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 | rd.8))...(setq.malyon-dictionary | 
| 9aa0 | 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 0a 20 20    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | -entry-length.........(malyon-re | 
| 9ac0 | 61 64 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20    20 28 2b 20 31 20 6d 61 6c 79 6f 6e 2d 64 69 63 | ad-byte..........(+.1.malyon-dic | 
| 9ae0 | 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 | 
| 9b00 | 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a    20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 | -dictionary))))...(setq.malyon-d | 
| 9b20 | 69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e    74 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 6d | ictionary-num-entries.........(m | 
| 9b40 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 0a    20 20 20 20 20 20 20 20 20 28 2b 20 32 20 6d 61 | alyon-read-word..........(+.2.ma | 
| 9b60 | 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 65 61 64 2d 62 79 74 | lyon-dictionary.(malyon-read-byt | 
| 9b80 | 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 20 28 73 65 74 71 20 | e.malyon-dictionary))))...(setq. | 
| 9ba0 | 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 | malyon-dictionary-entries....... | 
| 9bc0 | 20 20 28 2b 20 34 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 | ..(+.4.malyon-dictionary.(malyon | 
| 9be0 | 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 72 79 29 29 29 0a | -read-byte.malyon-dictionary))). | 
| 9c00 | 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 2d 77 6f 72 64 2d 6c | ..(setq.malyon-dictionary-word-l | 
| 9c20 | 65 6e 67 74 68 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 | ength.(if.(<.malyon-story-versio | 
| 9c40 | 6e 20 35 29 20 33 20 35 29 29 0a 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e | n.5).3.5))...(setq.malyon-curren | 
| 9c60 | 74 2d 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66    61 63 65 2d 70 6c 61 69 6e 29 0a 20 20 28 73 65 | t-face.'malyon-face-plain)...(se | 
| 9c80 | 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d    73 65 70 61 72 61 74 6f 72 20 6e 69 6c 29 0a 20 | tq.malyon-print-separator.nil).. | 
| 9ca0 | 20 28 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 | .(malyon-initialize-output-strea | 
| 9cc0 | 6d 73 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 69 7a 65 2d 6f | ms))..(defun.malyon-initialize-o | 
| 9ce0 | 70 63 6f 64 65 73 20 28 29 0a 20 20 22 49 6e 69    74 69 61 6c 69 7a 65 20 74 68 65 20 6f 70 63 6f | pcodes.()..."Initialize.the.opco | 
| 9d00 | 64 65 20 74 61 62 6c 65 20 75 73 65 64 20 62 79    20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e | de.table.used.by.the.story.file. | 
| 9d20 | 22 0a 20 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 72 73 69 | "...(cond.((<.malyon-story-versi | 
| 9d40 | 6f 6e 20 35 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 | on.5)..........(aset.malyon-opco | 
| 9d60 | 64 65 73 20 31 34 33 20 27 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 6e 6f 74 29 0a 20 20 20 20 | des.143.'malyon-opcode-not)..... | 
| 9d80 | 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 31 20 27 6d | .....(aset.malyon-opcodes.181.'m | 
| 9da0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76    65 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 | alyon-opcode-save)..........(ase | 
| 9dc0 | 74 20 6d 61 6c 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 | t.malyon-opcodes.182.'malyon-opc | 
| 9de0 | 6f 64 65 2d 72 65 73 74 6f 72 65 29 0a 20 20 20    20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 | ode-restore)..........(aset.maly | 
| 9e00 | 6f 6e 2d 6f 70 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 70 6f | on-opcodes.185.'malyon-opcode-po | 
| 9e20 | 70 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 | p)..........(aset.malyon-opcodes | 
| 9e40 | 20 31 38 38 20 27 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 | .188.'malyon-opcode-show-status) | 
| 9e60 | 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20    20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 | ).........(t..........(aset.maly | 
| 9e80 | 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 | on-opcodes.143.'malyon-opcode-ca | 
| 9ea0 | 6c 6c 6e 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 | lln)..........(aset.malyon-opcod | 
| 9ec0 | 65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 29 0a 20 | es.181.'malyon-opcode-illegal).. | 
| 9ee0 | 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 32 | ........(aset.malyon-opcodes.182 | 
| 9f00 | 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    69 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20 | .'malyon-opcode-illegal)........ | 
| 9f20 | 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 61 6c 79 | ..(aset.malyon-opcodes.185.'maly | 
| 9f40 | 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 29    0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 63 | on-opcode-catch)..........;;.Tec | 
| 9f60 | 68 6e 69 63 61 6c 6c 79 2c 20 31 38 38 20 28 73    68 6f 77 5f 73 74 61 74 75 73 29 20 69 73 20 76 | hnically,.188.(show_status).is.v | 
| 9f80 | 33 20 6f 6e 6c 79 2c 20 62 75 74 20 56 65 72 73    69 6f 6e 20 35 20 52 65 6c 65 61 73 65 20 32 33 | 3.only,.but.Version.5.Release.23 | 
| 9fa0 | 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20    57 69 73 68 62 72 69 6e 67 65 72 20 63 6f 6e 74 | ..........;;.of.Wishbringer.cont | 
| 9fc0 | 61 69 6e 73 20 69 74 20 62 79 20 61 63 63 69 64    65 6e 74 2c 20 73 6f 20 74 72 65 61 74 20 69 74 | ains.it.by.accident,.so.treat.it | 
| 9fe0 | 20 61 73 20 4e 4f 50 20 69 6e 73 74 65 61 64 2e    0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 | .as.NOP.instead...........(aset. | 
| a000 | 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 64 | malyon-opcodes.188.'malyon-opcod | 
| a020 | 65 2d 6e 6f 70 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 68 | e-nop))))..(defun.malyon-print-h | 
| a040 | 65 61 64 65 72 20 28 29 0a 20 20 22 50 72 69 6e    74 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 68 65 | eader.()..."Print.malyon.mode.he | 
| a060 | 61 64 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e    2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 | ader.information."...(malyon-opc | 
| a080 | 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79    6c 65 20 32 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d | ode-set-text-style.2)...(malyon- | 
| a0a0 | 70 72 69 6e 74 20 28 63 6f 6e 63 61 74 20 22 4d    61 6c 79 6f 6e 20 56 20 22 20 6d 61 6c 79 6f 6e | print.(concat."Malyon.V.".malyon | 
| a0c0 | 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d | -version))...(malyon-opcode-set- | 
| a0e0 | 74 65 78 74 2d 73 74 79 6c 65 20 30 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 | text-style.0)...(malyon-newline) | 
| a100 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74    20 22 41 20 7a 2d 63 6f 64 65 20 69 6e 74 65 72 | ...(malyon-print."A.z-code.inter | 
| a120 | 70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69    6f 6e 20 33 2c 20 35 2c 20 61 6e 64 20 38 20 67 | preter.for.version.3,.5,.and.8.g | 
| a140 | 61 6d 65 73 2e 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 | ames.")...(malyon-newline)...(ma | 
| a160 | 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20    31 39 39 39 2d 32 30 31 31 20 62 79 20 50 65 74 | lyon-print."(c).1999-2011.by.Pet | 
| a180 | 65 72 20 49 6c 62 65 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 | er.Ilberg.<peter.ilberg@gmail.co | 
| a1a0 | 6d 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 6f | m>")...(malyon-newline)...(malyo | 
| a1c0 | 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 32 30 31    36 20 62 79 20 45 72 69 6b 20 53 65 6c 62 65 72 | n-print."(c).2016.by.Erik.Selber | 
| a1e0 | 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e    6f 72 67 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e | g.<erik@selberg.org>")...(malyon | 
| a200 | 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c    79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 3b | -newline)...(malyon-newline))..; | 
| a220 | 3b 20 63 6c 65 61 6e 75 70 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 | ;.cleanup..(defun.malyon-cleanup | 
| a240 | 20 28 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20    74 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 | .()..."Clean.up.the.Z-code.inter | 
| a260 | 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79    6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c | preter."...(malyon-hide-internal | 
| a280 | 2d 65 72 72 6f 72 73 20 22 63 6c 65 61 6e 75 70    20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70 | -errors."cleanup.failed.".....(p | 
| a2a0 | 72 6f 67 6e 0a 20 20 20 20 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 | rogn.......(setq.malyon-story-fi | 
| a2c0 | 6c 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73    65 74 71 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f | le.nil).......(setq.malyon-windo | 
| a2e0 | 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20    6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 | w-configuration.nil).......(setq | 
| a300 | 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 20 6e 69 6c 29 0a | .malyon-game-state-restart.nil). | 
| a320 | 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 65 2d 75 6e | ......(setq.malyon-game-state-un | 
| a340 | 64 6f 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 69    66 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d | do.nil).......(if.(get-buffer."M | 
| a360 | 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 0a 20    20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 | alyon.Status")...........(kill-b | 
| a380 | 75 66 66 65 72 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 | uffer.(get-buffer."Malyon.Status | 
| a3a0 | 22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28    67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 | "))).......(if.(get-buffer."Maly | 
| a3c0 | 6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 0a    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e | on.Transcript")...........(progn | 
| a3e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77    69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 | .............(switch-to-buffer.( | 
| a400 | 67 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 29 | get-buffer."Malyon.Transcript")) | 
| a420 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 | .............(malyon-redisplay-f | 
| a440 | 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 20 20 20 | rame.(selected-frame).t)........ | 
| a460 | 20 20 20 20 20 28 64 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 | .....(delete-other-windows.(get- | 
| a480 | 62 75 66 66 65 72 2d 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 | buffer-window.(current-buffer))) | 
| a4a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69    64 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .............(widen)............ | 
| a4c0 | 20 28 74 65 78 74 2d 6d 6f 64 65 29 29 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | .(text-mode))).......(setq.malyo | 
| a4e0 | 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20    6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 | n-status-buffer.nil).......(setq | 
| a500 | 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 29 29 29 | .malyon-transcript-buffer.nil))) | 
| a520 | 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 68 61 6e 64    6c 69 6e 67 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | )..;;.error.handling..(defun.mal | 
| a540 | 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20    28 6d 65 73 73 61 67 65 29 0a 20 20 22 50 72 69 | yon-fatal-error.(message)..."Pri | 
| a560 | 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65    20 61 6e 64 20 61 62 6f 72 74 2e 22 0a 20 20 28 | nt.error.message.and.abort."...( | 
| a580 | 73 65 74 71 20 6d 65 73 73 61 67 65 20 28 63 6f    6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 66 61 74 | setq.message.(concat."Malyon.fat | 
| a5a0 | 61 6c 20 65 72 72 6f 72 3a 20 22 20 6d 65 73 73    61 67 65 29 29 0a 20 20 28 75 6e 77 69 6e 64 2d | al.error:.".message))...(unwind- | 
| a5c0 | 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 77    69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 | protect.......(with-current-buff | 
| a5e0 | 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 0a 20 20 20 20 | er.malyon-transcript-buffer..... | 
| a600 | 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))..... | 
| a620 | 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20    20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a | ....(newline).........(newline). | 
| a640 | 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78    74 2d 70 72 6f 70 65 72 74 79 20 30 0a 20 20 20 | ........(put-text-property.0.... | 
| a660 | 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 6c 65 6e 67 74 68 20 | ........................(length. | 
| a680 | 6d 65 73 73 61 67 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 | message)........................ | 
| a6a0 | 20 20 20 20 27 66 61 63 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....'face....................... | 
| a6c0 | 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 66 61 63    65 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 | .....'malyon-face-error......... | 
| a6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 | ...................message)..... | 
| a700 | 20 20 20 20 28 69 6e 73 65 72 74 20 6d 65 73 73    61 67 65 29 0a 20 20 20 20 20 20 20 20 28 6e 65 | ....(insert.message).........(ne | 
| a720 | 77 6c 69 6e 65 29 29 0a 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 20 | wline)).....(malyon-cleanup).... | 
| a740 | 20 28 6d 61 6c 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 | .(malyon-redisplay-frame.(select | 
| a760 | 65 64 2d 66 72 61 6d 65 29 20 74 29 0a 20 20 20    20 28 65 72 72 6f 72 20 6d 65 73 73 61 67 65 29 | ed-frame).t).....(error.message) | 
| a780 | 29 29 0a 0a 3b 3b 20 63 6f 6e 76 65 72 73 69 6f    6e 20 6f 66 20 7a 73 63 69 69 20 74 6f 20 61 73 | ))..;;.conversion.of.zscii.to.as | 
| a7a0 | 63 69 69 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c    79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c | cii..(defvar.malyon-unicode-tabl | 
| a7c0 | 65 20 6e 69 6c 0a 20 20 22 41 6e 20 61 72 72 61    79 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20 | e.nil..."An.array.mapping.zscii. | 
| a7e0 | 63 68 61 72 61 63 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 | characters.to.latin-1.ones.")..( | 
| a800 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 65    66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 | defvar.malyon-default-unicode-ta | 
| a820 | 62 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 64    65 66 61 75 6c 74 20 61 72 72 61 79 20 6d 61 70 | ble.nil..."The.default.array.map | 
| a840 | 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 69 6e 2d 31 | ping.zscii.characters.to.latin-1 | 
| a860 | 20 6f 6e 65 73 2e 22 29 0a 0a 28 69 66 20 6d 61    6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 | .ones.")..(if.malyon-default-uni | 
| a880 | 63 6f 64 65 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 6c 79 6f | code-table.....'()...(setq.malyo | 
| a8a0 | 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 20 20 20 20 | n-default-unicode-table......... | 
| a8c0 | 5b 33 32 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 | [32..........0...0...0...0...0.. | 
| a8e0 | 20 30 20 20 20 30 20 20 20 20 20 20 20 3b 20 20    20 31 20 2d 20 20 20 37 0a 20 20 20 20 20 20 20 | .0...0.......;...1.-...7........ | 
| a900 | 20 20 38 20 20 20 30 20 20 20 30 20 20 20 30 20    20 20 30 20 20 20 31 30 20 20 30 20 20 20 30 20 | ..8...0...0...0...0...10..0...0. | 
| a920 | 20 20 3b 20 20 20 38 20 2d 20 20 31 35 0a 20 20    20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 | ..;...8.-..15..........0...0...0 | 
| a940 | 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 20 31 36 20 2d 20 20 | ...0...0...0...0...0...;..16.-.. | 
| a960 | 32 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20    30 20 20 20 30 20 20 20 33 39 20 20 30 20 20 20 | 23..........0...0...0...39..0... | 
| a980 | 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 20 32    34 20 2d 20 20 33 31 0a 20 20 20 20 20 20 20 20 | 0...0...0...;..24.-..31......... | 
| a9a0 | 20 33 32 20 20 33 33 20 20 33 34 20 20 33 35 20    20 33 36 20 20 33 37 20 20 33 38 20 20 33 39 20 | .32..33..34..35..36..37..38..39. | 
| a9c0 | 20 3b 20 20 33 32 20 2d 20 20 33 39 0a 20 20 20    20 20 20 20 20 20 34 30 20 20 34 31 20 20 34 32 | .;..32.-..39..........40..41..42 | 
| a9e0 | 20 20 34 33 20 20 34 34 20 20 34 35 20 20 34 36    20 20 34 37 20 20 3b 20 20 34 30 20 2d 20 20 34 | ..43..44..45..46..47..;..40.-..4 | 
| aa00 | 37 0a 20 20 20 20 20 20 20 20 20 34 38 20 20 34    39 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 | 7..........48..49..50..51..52..5 | 
| aa20 | 33 20 20 35 34 20 20 35 35 20 20 3b 20 20 34 38    20 2d 20 20 35 35 0a 20 20 20 20 20 20 20 20 20 | 3..54..55..;..48.-..55.......... | 
| aa40 | 35 36 20 20 35 37 20 20 35 38 20 20 35 39 20 20    36 30 20 20 36 31 20 20 36 32 20 20 36 33 20 20 | 56..57..58..59..60..61..62..63.. | 
| aa60 | 3b 20 20 35 36 20 2d 20 20 36 33 0a 20 20 20 20    20 20 20 20 20 36 34 20 20 36 35 20 20 36 36 20 | ;..56.-..63..........64..65..66. | 
| aa80 | 20 36 37 20 20 36 38 20 20 36 39 20 20 37 30 20    20 37 31 20 20 3b 20 20 36 34 20 2d 20 20 37 31 | .67..68..69..70..71..;..64.-..71 | 
| aaa0 | 0a 20 20 20 20 20 20 20 20 20 37 32 20 20 37 33    20 20 37 34 20 20 37 35 20 20 37 36 20 20 37 37 | ..........72..73..74..75..76..77 | 
| aac0 | 20 20 37 38 20 20 37 39 20 20 3b 20 20 37 32 20    2d 20 20 37 39 0a 20 20 20 20 20 20 20 20 20 38 | ..78..79..;..72.-..79..........8 | 
| aae0 | 30 20 20 38 31 20 20 38 32 20 20 38 33 20 20 38    34 20 20 38 35 20 20 38 36 20 20 38 37 20 20 3b | 0..81..82..83..84..85..86..87..; | 
| ab00 | 20 20 38 30 20 2d 20 20 38 37 0a 20 20 20 20 20    20 20 20 20 38 38 20 20 38 39 20 20 39 30 20 20 | ..80.-..87..........88..89..90.. | 
| ab20 | 39 31 20 20 39 32 20 20 39 33 20 20 39 34 20 20    39 35 20 20 3b 20 20 38 38 20 2d 20 20 39 35 0a | 91..92..93..94..95..;..88.-..95. | 
| ab40 | 20 20 20 20 20 20 20 20 20 39 36 20 20 39 37 20    20 39 38 20 20 39 39 20 20 31 30 30 20 31 30 31 | .........96..97..98..99..100.101 | 
| ab60 | 20 31 30 32 20 31 30 33 20 3b 20 20 39 36 20 2d    20 31 30 33 0a 20 20 20 20 20 20 20 20 20 31 30 | .102.103.;..96.-.103..........10 | 
| ab80 | 34 20 31 30 35 20 31 30 36 20 31 30 37 20 31 30    38 20 31 30 39 20 31 31 30 20 31 31 31 20 3b 20 | 4.105.106.107.108.109.110.111.;. | 
| aba0 | 31 30 34 20 2d 20 31 31 31 0a 20 20 20 20 20 20    20 20 20 31 31 32 20 31 31 33 20 31 31 34 20 31 | 104.-.111..........112.113.114.1 | 
| abc0 | 31 35 20 31 31 36 20 31 31 37 20 31 31 38 20 31    31 39 20 3b 20 31 31 32 20 2d 20 31 31 39 0a 20 | 15.116.117.118.119.;.112.-.119.. | 
| abe0 | 20 20 20 20 20 20 20 20 31 32 30 20 31 32 31 20    31 32 32 20 31 32 33 20 31 32 34 20 31 32 35 20 | ........120.121.122.123.124.125. | 
| ac00 | 31 32 36 20 30 20 20 20 3b 20 31 32 30 20 2d 20    31 32 37 0a 20 20 20 20 20 20 20 20 20 30 20 20 | 126.0...;.120.-.127..........0.. | 
| ac20 | 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 31 | .0...0...0...0...0...0...0...;.1 | 
| ac40 | 32 38 20 2d 20 31 33 35 0a 20 20 20 20 20 20 20    20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 | 28.-.135..........0...0...0...0. | 
| ac60 | 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20    20 20 3b 20 31 33 36 20 2d 20 31 34 33 0a 20 20 | ..0...0...0...0...;.136.-.143... | 
| ac80 | 20 20 20 20 20 20 20 30 20 20 20 34 38 20 20 34    39 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 | .......0...48..49..50..51..52..5 | 
| aca0 | 33 20 20 35 34 20 20 3b 20 31 34 34 20 2d 20 31    35 31 0a 20 20 20 20 20 20 20 20 20 35 35 20 20 | 3..54..;.144.-.151..........55.. | 
| acc0 | 35 36 20 20 35 37 20 20 32 32 38 20 32 34 36 20    32 35 32 20 31 39 36 20 32 31 34 20 3b 20 31 35 | 56..57..228.246.252.196.214.;.15 | 
| ace0 | 32 20 2d 20 31 35 39 0a 20 20 20 20 20 20 20 20    20 32 32 30 20 32 32 33 20 31 38 37 20 31 37 31 | 2.-.159..........220.223.187.171 | 
| ad00 | 20 32 33 35 20 32 33 39 20 32 35 35 20 32 30 33    20 3b 20 31 36 30 20 2d 20 31 36 37 0a 20 20 20 | .235.239.255.203.;.160.-.167.... | 
| ad20 | 20 20 20 20 20 20 32 30 37 20 32 32 35 20 32 33    33 20 32 33 37 20 32 34 33 20 32 35 30 20 32 35 | ......207.225.233.237.243.250.25 | 
| ad40 | 33 20 31 39 33 20 3b 20 31 36 38 20 2d 20 31 37    35 0a 20 20 20 20 20 20 20 20 20 32 30 31 20 32 | 3.193.;.168.-.175..........201.2 | 
| ad60 | 30 35 20 32 31 31 20 32 31 38 20 32 32 31 20 32    32 34 20 32 33 32 20 32 33 36 20 3b 20 31 37 36 | 05.211.218.221.224.232.236.;.176 | 
| ad80 | 20 2d 20 31 38 33 0a 20 20 20 20 20 20 20 20 20    32 34 32 20 32 34 39 20 31 39 32 20 32 30 30 20 | .-.183..........242.249.192.200. | 
| ada0 | 32 30 34 20 32 31 30 20 32 31 37 20 32 32 36 20    3b 20 31 38 34 20 2d 20 31 39 31 0a 20 20 20 20 | 204.210.217.226.;.184.-.191..... | 
| adc0 | 20 20 20 20 20 32 33 34 20 32 33 38 20 32 34 34    20 32 35 31 20 31 39 34 20 32 30 32 20 32 30 36 | .....234.238.244.251.194.202.206 | 
| ade0 | 20 32 31 32 20 3b 20 31 39 32 20 2d 20 31 39 39    0a 20 20 20 20 20 20 20 20 20 32 31 39 20 32 32 | .212.;.192.-.199..........219.22 | 
| ae00 | 39 20 31 39 37 20 32 34 38 20 32 31 36 20 32 32    37 20 32 34 31 20 32 34 35 20 3b 20 32 30 30 20 | 9.197.248.216.227.241.245.;.200. | 
| ae20 | 2d 20 32 30 37 0a 20 20 20 20 20 20 20 20 20 31    39 35 20 32 30 39 20 32 31 33 20 32 33 30 20 31 | -.207..........195.209.213.230.1 | 
| ae40 | 39 38 20 32 33 31 20 31 39 39 20 32 35 34 20 3b    20 32 30 38 20 2d 20 32 31 35 0a 20 20 20 20 20 | 98.231.199.254.;.208.-.215...... | 
| ae60 | 20 20 20 20 32 34 30 20 32 32 32 20 32 30 38 20    31 36 33 20 36 33 20 20 36 33 20 20 31 36 31 20 | ....240.222.208.163.63..63..161. | 
| ae80 | 31 39 31 20 3b 20 32 31 36 20 2d 20 32 32 33 0a    20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 | 191.;.216.-.223..........0...0.. | 
| aea0 | 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 32 34 20 2d | .0...0...0...0...0...0...;.224.- | 
| aec0 | 20 32 33 31 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 | .231..........0...0...0...0...0. | 
| aee0 | 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20    32 33 32 20 2d 20 32 33 39 0a 20 20 20 20 20 20 | ..0...0...0...;.232.-.239....... | 
| af00 | 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 20 30 | ...0...0...0...0...0...0...0...0 | 
| af20 | 20 20 20 3b 20 32 34 30 20 2d 20 32 34 37 0a 20    20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 | ...;.240.-.247..........0...0... | 
| af40 | 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 34 38 20 2d 20 | 0...0...0...0...0...0...;.248.-. | 
| af60 | 32 35 35 0a 20 20 20 20 20 20 20 20 20 5d 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | 255..........]))..(defun.malyon- | 
| af80 | 69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f    64 65 2d 74 61 62 6c 65 20 28 29 0a 20 20 22 49 | initialize-unicode-table.()..."I | 
| afa0 | 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 7a    73 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 | nitializes.the.zscii-to-unicode. | 
| afc0 | 63 6f 6e 76 65 72 73 69 6f 6e 20 74 61 62 6c 65    2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | conversion.table."...(setq.malyo | 
| afe0 | 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a    20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 | n-unicode-table.........(copy-se | 
| b000 | 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 64 65    66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 | quence.malyon-default-unicode-ta | 
| b020 | 62 6c 65 29 29 0a 20 20 28 6c 65 74 2a 20 28 28    65 78 74 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | ble))...(let*.((ext...(malyon-re | 
| b040 | 61 64 2d 77 6f 72 64 20 35 34 29 29 0a 20 20 20    20 20 20 20 20 20 28 6c 65 6e 20 20 20 28 69 66 | ad-word.54))..........(len...(if | 
| b060 | 20 28 7a 65 72 6f 70 20 65 78 74 29 20 30 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | .(zerop.ext).0.(malyon-read-word | 
| b080 | 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20    20 28 74 61 62 6c 65 20 28 69 66 20 28 3c 20 6c | .ext)))..........(table.(if.(<.l | 
| b0a0 | 65 6e 20 33 29 20 20 20 30 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 65 | en.3)...0.(malyon-read-word.(+.e | 
| b0c0 | 78 74 20 36 29 29 29 29 29 0a 20 20 20 20 28 69    66 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d | xt.6))))).....(if.(or.(<.malyon- | 
| b0e0 | 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29    20 28 7a 65 72 6f 70 20 74 61 62 6c 65 29 29 0a | story-version.5).(zerop.table)). | 
| b100 | 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20    20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 | ........'().......(let.((i.0)).. | 
| b120 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c    20 69 20 39 36 29 0a 20 20 20 20 20 20 20 20 20 | .......(while.(<.i.96).......... | 
| b140 | 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e    69 63 6f 64 65 2d 74 61 62 6c 65 20 28 2b 20 31 | .(aset.malyon-unicode-table.(+.1 | 
| b160 | 35 35 20 69 29 20 28 6d 61 6c 79 6f 6e 2d 63 68    61 72 2d 74 6f 2d 69 6e 74 20 3f 3f 29 29 0a 20 | 55.i).(malyon-char-to-int.??)).. | 
| b180 | 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 0a 20 20 20 20 | .........(setq.i.(+.1.i))))..... | 
| b1a0 | 20 20 28 73 65 74 71 20 6c 65 6e 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 61 | ..(setq.len.(malyon-read-byte.ta | 
| b1c0 | 62 6c 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74    20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 | ble)).......(let.((i.0))........ | 
| b1e0 | 20 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 61 73 65 | .(while.(<.i.len)...........(ase | 
| b200 | 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65    2d 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29 | t.malyon-unicode-table.(+.155.i) | 
| b220 | 0a 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 | 
| b240 | 72 64 20 28 2b 20 74 61 62 6c 65 20 31 20 69 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 | rd.(+.table.1.i)))...........(se | 
| b260 | 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29    29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | tq.i.(+.1.i)))))))..(defsubst.ma | 
| b280 | 6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e    69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 | lyon-zscii-to-unicode.(char)..." | 
| b2a0 | 43 6f 6e 76 65 72 74 73 20 61 20 7a 73 63 69 69    20 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 6e | Converts.a.zscii.character.to.un | 
| b2c0 | 69 63 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 6f    72 20 28 3c 20 63 68 61 72 20 30 29 20 28 3e 20 | icode."...(if.(or.(<.char.0).(>. | 
| b2e0 | 63 68 61 72 20 32 35 35 29 29 0a 20 20 20 20 20    20 3f 3f 0a 20 20 20 20 28 6c 65 74 20 28 28 75 | char.255)).......??.....(let.((u | 
| b300 | 6e 69 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 63 68 | ni.(aref.malyon-unicode-table.ch | 
| b320 | 61 72 29 29 29 0a 20 20 20 20 20 20 28 69 66 20    28 7a 65 72 6f 70 20 75 6e 69 29 0a 20 20 20 20 | ar))).......(if.(zerop.uni)..... | 
| b340 | 20 20 20 20 20 20 3f 3f 0a 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 | ......??.........(malyon-unibyte | 
| b360 | 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79    74 65 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 | -char-to-multibyte.(malyon-int-t | 
| b380 | 6f 2d 63 68 61 72 20 75 6e 69 29 29 29 29 29 29    0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 | o-char.uni))))))..(defsubst.maly | 
| b3a0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73    63 69 69 20 28 63 68 61 72 29 0a 20 20 22 43 6f | on-unicode-to-zscii.(char)..."Co | 
| b3c0 | 6e 76 65 72 74 73 20 61 20 75 6e 69 63 6f 64 65    20 63 68 61 72 61 63 74 65 72 20 74 6f 20 7a 73 | nverts.a.unicode.character.to.zs | 
| b3e0 | 63 69 69 2e 22 0a 20 20 28 73 65 74 71 20 63 68    61 72 20 28 6d 61 6c 79 6f 6e 2d 6d 75 6c 74 69 | cii."...(setq.char.(malyon-multi | 
| b400 | 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69    62 79 74 65 20 63 68 61 72 29 29 0a 20 20 28 73 | byte-char-to-unibyte.char))...(s | 
| b420 | 65 74 71 20 63 68 61 72 20 28 69 66 20 28 63 68    61 72 61 63 74 65 72 70 20 63 68 61 72 29 20 28 | etq.char.(if.(characterp.char).( | 
| b440 | 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69    6e 74 20 63 68 61 72 29 20 63 68 61 72 29 29 0a | malyon-char-to-int.char).char)). | 
| b460 | 20 20 28 69 66 20 28 3d 20 31 33 20 63 68 61 72    29 0a 20 20 20 20 20 20 3f 5c 72 0a 20 20 20 20 | ..(if.(=.13.char).......?\r..... | 
| b480 | 28 6c 65 74 20 28 28 69 20 31 29 20 28 66 6f 75    6e 64 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 | (let.((i.1).(found.0)).......(wh | 
| b4a0 | 69 6c 65 20 28 61 6e 64 20 28 3c 20 69 20 32 35    35 29 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 | ile.(and.(<.i.255).(zerop.found) | 
| b4c0 | 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d    20 63 68 61 72 20 28 61 72 65 66 20 6d 61 6c 79 | ).........(if.(=.char.(aref.maly | 
| b4e0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65    20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | on-unicode-table.i))............ | 
| b500 | 20 28 73 65 74 71 20 66 6f 75 6e 64 20 69 29 29    0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 | .(setq.found.i)).........(setq.i | 
| b520 | 20 28 2b 20 69 20 31 29 29 29 0a 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d | .(+.i.1))).......(malyon-int-to- | 
| b540 | 63 68 61 72 20 66 6f 75 6e 64 29 29 29 29 0a 0a    3b 3b 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d | char.found))))..;;.output.stream | 
| b560 | 73 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 73 | s..(defvar.malyon-output-streams | 
| b580 | 20 6e 69 6c 0a 20 20 22 56 61 6c 69 64 20 6f 75    74 70 75 74 20 73 74 72 65 61 6d 73 20 66 6f 72 | .nil..."Valid.output.streams.for | 
| b5a0 | 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72    2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c | .the.interpreter.")..(defvar.mal | 
| b5c0 | 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61    6d 73 2d 74 61 62 6c 65 73 20 6e 69 6c 0a 20 20 | yon-output-streams-tables.nil... | 
| b5e0 | 22 41 20 6c 69 73 74 20 6f 66 20 61 63 74 69 76    65 20 74 61 62 6c 65 73 20 66 6f 72 20 73 74 72 | "A.list.of.active.tables.for.str | 
| b600 | 65 61 6d 20 33 2e 22 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 | eam.3.")..(defun.malyon-initiali | 
| b620 | 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d    73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 | ze-output-streams.()..."Initiali | 
| b640 | 7a 65 73 20 74 68 65 20 6f 75 74 70 75 74 20 73    74 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 | zes.the.output.streams."...(setq | 
| b660 | 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73    74 72 65 61 6d 73 20 27 28 29 29 0a 20 20 28 73 | .malyon-output-streams.'())...(s | 
| b680 | 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 61 62 6c 65 73 | etq.malyon-output-streams-tables | 
| b6a0 | 20 27 28 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d    61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 | .'())...(malyon-add-output-strea | 
| b6c0 | 6d 20 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | m.1.0))..(defun.malyon-output-st | 
| b6e0 | 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 28 73    74 72 65 61 6d 29 0a 20 20 22 52 65 74 75 72 6e | ream-function.(stream)..."Return | 
| b700 | 73 20 74 68 65 20 6f 75 74 70 75 74 20 66 75 6e    63 74 69 6f 6e 20 72 65 70 72 65 73 65 6e 74 69 | s.the.output.function.representi | 
| b720 | 6e 67 20 74 68 65 20 67 69 76 65 6e 20 73 74 72    65 61 6d 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 | ng.the.given.stream."...(cond.(( | 
| b740 | 3d 20 31 20 73 74 72 65 61 6d 29 20 28 69 66 20    28 7a 65 72 6f 70 20 6d 61 6c 79 6f 6e 2d 63 75 | =.1.stream).(if.(zerop.malyon-cu | 
| b760 | 72 72 65 6e 74 2d 77 69 6e 64 6f 77 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rrent-window)................... | 
| b780 | 20 20 20 20 20 20 20 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 | ........'malyon-putchar-transcri | 
| b7a0 | 70 74 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 27 6d 61 6c 79 | pt.........................'maly | 
| b7c0 | 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75    73 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 | on-putchar-status)).........((=. | 
| b7e0 | 32 20 73 74 72 65 61 6d 29 20 27 6d 61 6c 79 6f    6e 2d 70 75 74 63 68 61 72 2d 70 72 69 6e 74 65 | 2.stream).'malyon-putchar-printe | 
| b800 | 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 | r)))..(defun.malyon-add-output-s | 
| b820 | 74 72 65 61 6d 20 28 73 74 72 65 61 6d 20 74 61    62 6c 65 29 0a 20 20 22 41 64 64 20 61 20 6e 65 | tream.(stream.table)..."Add.a.ne | 
| b840 | 77 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e    22 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61 | w.output.stream."...(if.(=.strea | 
| b860 | 6d 20 33 29 0a 20 20 20 20 20 20 28 70 72 6f 67    6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | m.3).......(progn.........(setq. | 
| b880 | 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 65 73 0a 20 20 20 | malyon-output-streams-tables.... | 
| b8a0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    20 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 6f 75 | ...........(cons.table.malyon-ou | 
| b8c0 | 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62    6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 6d | tput-streams-tables)).........(m | 
| b8e0 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64    20 74 61 62 6c 65 20 30 29 29 0a 20 20 20 20 28 | alyon-store-word.table.0)).....( | 
| b900 | 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28    6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | let.((function.(malyon-output-st | 
| b920 | 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74    72 65 61 6d 29 29 29 0a 20 20 20 20 20 20 28 73 | ream-function.stream))).......(s | 
| b940 | 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 0a 20 20 20 20 20 20 | etq.malyon-output-streams....... | 
| b960 | 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65    72 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6c 79 6f | ......(if.(member.function.malyo | 
| b980 | 6e 2d 6f 75 74 70 75 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 | n-output-streams)............... | 
| b9a0 | 20 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d    73 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 | ..malyon-output-streams......... | 
| b9c0 | 20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63    74 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 | ......(cons.function.malyon-outp | 
| b9e0 | 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | ut-streams))))))..(defun.malyon- | 
| ba00 | 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74    72 65 61 6d 20 28 73 74 72 65 61 6d 29 0a 20 20 | remove-output-stream.(stream)... | 
| ba20 | 22 52 65 6d 6f 76 65 20 61 6e 20 6f 75 74 70 75    74 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 69 66 | "Remove.an.output.stream."...(if | 
| ba40 | 20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | .(=.stream.3).......(setq.malyon | 
| ba60 | 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d    74 61 62 6c 65 73 20 28 63 64 72 20 6d 61 6c 79 | -output-streams-tables.(cdr.maly | 
| ba80 | 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d    73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 | on-output-streams-tables)).....( | 
| baa0 | 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 0a 09 20 20 28 72 | setq.malyon-output-streams....(r | 
| bac0 | 65 6d 6f 76 65 20 28 6d 61 6c 79 6f 6e 2d 6f 75    74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 | emove.(malyon-output-stream-func | 
| bae0 | 74 69 6f 6e 20 73 74 72 65 61 6d 29 0a 09 09 09    20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 | tion.stream).....malyon-output-s | 
| bb00 | 74 72 65 61 6d 73 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65 | treams))))..(defun.malyon-update | 
| bb20 | 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20    28 29 0a 20 20 22 55 70 64 61 74 65 20 6f 75 74 | -output-streams.()..."Update.out | 
| bb40 | 70 75 74 20 73 74 72 65 61 6d 73 20 77 68 65 6e    20 74 68 65 20 6f 75 74 70 75 74 20 77 69 6e 64 | put.streams.when.the.output.wind | 
| bb60 | 6f 77 20 68 61 73 20 63 68 61 6e 67 65 64 2e 22    0a 20 20 28 6c 65 74 20 28 28 6f 6e 65 20 28 6f | ow.has.changed."...(let.((one.(o | 
| bb80 | 72 20 28 6d 65 6d 62 65 72 20 27 6d 61 6c 79 6f    6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 | r.(member.'malyon-putchar-transc | 
| bba0 | 72 69 70 74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70    75 74 2d 73 74 72 65 61 6d 73 29 0a 20 20 20 20 | ript.malyon-output-streams)..... | 
| bbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65    6d 62 65 72 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 | .............(member.'malyon-put | 
| bbe0 | 63 68 61 72 2d 73 74 61 74 75 73 20 20 20 20 20    6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | char-status.....malyon-output-st | 
| bc00 | 72 65 61 6d 73 29 29 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 | reams)))).....(setq.malyon-outpu | 
| bc20 | 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65    6d 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 | t-streams....(remove.'malyon-put | 
| bc40 | 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a    09 09 09 20 28 72 65 6d 6f 76 65 20 27 6d 61 6c | char-transcript.....(remove.'mal | 
| bc60 | 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74    75 73 0a 09 09 09 09 09 6d 61 6c 79 6f 6e 2d 6f | yon-putchar-status......malyon-o | 
| bc80 | 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29    0a 20 20 20 20 28 69 66 20 6f 6e 65 0a 20 20 20 | utput-streams))).....(if.one.... | 
| bca0 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 64    2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31 | .....(malyon-add-output-stream.1 | 
| bcc0 | 20 30 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73    74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d | .0))))..(defsubst.malyon-output- | 
| bce0 | 63 68 61 72 61 63 74 65 72 20 28 63 68 61 72 29    0a 20 20 22 4f 75 74 70 75 74 20 61 20 73 69 6e | character.(char)..."Output.a.sin | 
| bd00 | 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e    20 61 6c 6c 20 61 63 74 69 76 65 20 73 74 72 65 | gle.character.on.all.active.stre | 
| bd20 | 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 63 68    61 72 20 28 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69 | ams."...(setq.char.(malyon-zscii | 
| bd40 | 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 68 61 72    29 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d | -to-unicode.char))...(if.malyon- | 
| bd60 | 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74    61 62 6c 65 73 0a 20 20 20 20 20 20 28 6d 61 6c | output-streams-tables.......(mal | 
| bd80 | 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 61 62 6c    65 20 63 68 61 72 20 28 63 61 72 20 6d 61 6c 79 | yon-putchar-table.char.(car.maly | 
| bda0 | 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d    73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 | on-output-streams-tables)).....( | 
| bdc0 | 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 73 29    20 28 66 75 6e 63 61 6c 6c 20 73 20 63 68 61 72 | mapc.(lambda.(s).(funcall.s.char | 
| bde0 | 29 29 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 0a 0a 3b 3b 20 | )).malyon-output-streams)))..;;. | 
| be00 | 70 72 69 6e 74 69 6e 67 20 74 65 78 74 0a 0a 28    64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d | printing.text..(defsubst.malyon- | 
| be20 | 61 62 62 72 65 76 20 28 61 62 62 72 65 76 20 78    29 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 61 62 | abbrev.(abbrev.x)..."Print.an.ab | 
| be40 | 62 72 65 76 69 61 74 69 6f 6e 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 | breviation."...(malyon-print-zte | 
| be60 | 78 74 0a 20 20 20 28 2a 20 32 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 | xt....(*.2.(malyon-read-word.(+. | 
| be80 | 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74    69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 | malyon-abbreviations............ | 
| bea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 2a 20 32 20 28 2b 20 78 20 28 2a 20 33 | ..................(*.2.(+.x.(*.3 | 
| bec0 | 32 20 28 31 2d 20 61 62 62 72 65 76 29 29 29 29    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | 2.(1-.abbrev)))))))))..(defun.ma | 
| bee0 | 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 20 28 29 0a    20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 | lyon-newline.()..."Print.a.newli | 
| bf00 | 6e 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d    61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 | ne."...(if.(eq.malyon-status-buf | 
| bf20 | 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66    66 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 | fer.(current-buffer)).......(got | 
| bf40 | 6f 2d 63 68 61 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 | o-char.malyon-status-buffer-poin | 
| bf60 | 74 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 29 0a | t).....(goto-char.(point-max))). | 
| bf80 | 20 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74    2d 63 68 61 72 61 63 74 65 72 20 3f 5c 72 29 0a | ..(malyon-output-character.?\r). | 
| bfa0 | 20 20 28 69 66 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 | ..(if.(eq.malyon-status-buffer.( | 
| bfc0 | 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c | current-buffer)).......(setq.mal | 
| bfe0 | 79 6f 6e 2d 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 | yon-status-buffer-point.(point)) | 
| c000 | 0a 20 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 | .....(goto-char.malyon-last-curs | 
| c020 | 6f 72 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 28 6d 61 6c | or-position-after-input))...(mal | 
| c040 | 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 | 
| c060 | 61 6d 65 29 20 6e 69 6c 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 | ame).nil))..(defun.malyon-print. | 
| c080 | 28 6f 62 6a 65 63 74 29 0a 20 20 22 50 72 69 6e    74 20 74 65 78 74 2e 22 20 0a 20 20 28 6c 65 74 | (object)..."Print.text."....(let | 
| c0a0 | 20 28 28 74 65 78 74 20 28 69 66 20 28 63 68 61    72 61 63 74 65 72 70 20 6f 62 6a 65 63 74 29 20 | .((text.(if.(characterp.object). | 
| c0c0 | 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20    6f 62 6a 65 63 74 29 20 6f 62 6a 65 63 74 29 29 | (char-to-string.object).object)) | 
| c0e0 | 0a 09 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 | ..(start)).....(if.(eq.malyon-tr | 
| c100 | 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 66 66 65 72 29 | anscript-buffer.(current-buffer) | 
| c120 | 29 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 | ).........(goto-char.(point-max) | 
| c140 | 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 74 75 73 | ).......(goto-char.malyon-status | 
| c160 | 2d 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 | -buffer-point)).....(setq.start. | 
| c180 | 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61 | (point)).....(malyon-print-chara | 
| c1a0 | 63 74 65 72 73 20 28 73 74 72 69 6e 67 2d 74 6f    2d 6c 69 73 74 20 74 65 78 74 29 29 0a 20 20 20 | cters.(string-to-list.text)).... | 
| c1c0 | 20 28 70 75 74 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 | .(put-text-property.start.(point | 
| c1e0 | 29 20 27 66 61 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 | ).'face.malyon-current-face).... | 
| c200 | 20 28 69 66 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 | .(if.(eq.malyon-status-buffer.(c | 
| c220 | 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 73 65 74 71 20 6d 61 | urrent-buffer)).........(setq.ma | 
| c240 | 6c 79 6f 6e 2d 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 | lyon-status-buffer-point.(point) | 
| c260 | 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 6c 61 73 74 2d 63 | ).......(goto-char.malyon-last-c | 
| c280 | 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 29 29 29 29 0a 0a | ursor-position-after-input)))).. | 
| c2a0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72    69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 | (defun.malyon-print-characters.( | 
| c2c0 | 74 65 78 74 29 0a 20 20 22 50 72 69 6e 74 20 61    20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 | text)..."Print.a.list.of.charact | 
| c2e0 | 65 72 73 2e 22 0a 20 20 28 6d 61 70 63 20 27 6d    61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 | ers."...(mapc.'malyon-output-cha | 
| c300 | 72 61 63 74 65 72 20 74 65 78 74 29 29 0a 0a 28    64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d | racter.text))..(defsubst.malyon- | 
| c320 | 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20    28 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72 | print-state-new.(char.shift.abbr | 
| c340 | 20 7a 73 63 69 69 20 7a 63 6f 64 65 29 0a 20 20    22 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 | .zscii.zcode)..."Generate.a.new. | 
| c360 | 70 72 69 6e 74 20 73 74 61 74 65 2e 22 0a 20 20    28 6c 69 73 74 20 63 68 61 72 20 73 68 69 66 74 | print.state."...(list.char.shift | 
| c380 | 20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64    65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d | .abbr.zscii.zcode))..(defsubst.m | 
| c3a0 | 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 20 28 29 0a 20 20 22 | alyon-print-state-initial.()..." | 
| c3c0 | 52 65 74 75 72 6e 73 20 61 6e 20 69 6e 69 74 69    61 6c 20 73 74 61 74 65 20 66 6f 72 20 74 68 65 | Returns.an.initial.state.for.the | 
| c3e0 | 20 7a 74 65 78 74 20 64 65 63 6f 64 65 72 2e 22    0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | .ztext.decoder."...(malyon-print | 
| c400 | 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 2d    36 20 30 20 30 20 30 29 29 0a 0a 28 64 65 66 73 | -state-new.nil.-6.0.0.0))..(defs | 
| c420 | 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 78 74 20 28 78 20 | ubst.malyon-print-state-next.(x. | 
| c440 | 69 67 6e 6f 72 65 20 73 68 69 66 74 20 61 62 62    72 20 7a 73 63 69 69 20 7a 29 0a 20 20 22 50 72 | ignore.shift.abbr.zscii.z)..."Pr | 
| c460 | 69 6e 74 20 73 74 61 74 65 20 74 72 61 6e 73 69    74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 22 0a | int.state.transition.function.". | 
| c480 | 20 20 28 63 6f 6e 64 20 28 28 3d 20 7a 73 63 69    69 20 32 29 0a 20 20 20 20 20 20 20 20 20 28 6d | ..(cond.((=.zscii.2)..........(m | 
| c4a0 | 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74    65 2d 6e 65 77 20 28 2b 20 7a 20 78 29 20 2d 36 | alyon-print-state-new.(+.z.x).-6 | 
| c4c0 | 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20    20 28 28 3d 20 7a 73 63 69 69 20 31 29 0a 20 20 | .0.0.0)).........((=.zscii.1)... | 
| c4e0 | 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 | 
| c500 | 69 6c 20 20 20 20 20 2d 36 20 30 20 32 20 28 2a    20 33 32 20 78 29 29 29 0a 20 20 20 20 20 20 20 | il.....-6.0.2.(*.32.x)))........ | 
| c520 | 20 28 28 3e 20 61 62 62 72 20 30 29 0a 20 20 20    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 62 | .((>.abbr.0)..........(malyon-ab | 
| c540 | 62 72 65 76 20 61 62 62 72 20 78 29 0a 20 20 20    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 | brev.abbr.x)..........(malyon-pr | 
| c560 | 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61    6c 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 | int-state-initial)).........((=. | 
| c580 | 78 20 30 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 | x.0)..........(malyon-print-stat | 
| c5a0 | 65 2d 6e 65 77 20 3f 20 20 20 20 20 20 20 2d 36    20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 | e-new.?.......-6.0.0.0))........ | 
| c5c0 | 20 28 28 3c 20 78 20 34 29 0a 20 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | .((<.x.4)..........(malyon-print | 
| c5e0 | 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20    20 20 20 2d 36 20 78 20 30 20 30 29 29 0a 20 20 | -state-new.nil.....-6.x.0.0))... | 
| c600 | 20 20 20 20 20 20 28 28 3d 20 78 20 34 29 0a 20    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | ......((=.x.4)..........(malyon- | 
| c620 | 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20    6e 69 6c 20 20 20 20 20 32 30 20 30 20 30 20 30 | print-state-new.nil.....20.0.0.0 | 
| c640 | 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78    20 35 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 | )).........((=.x.5)..........(ma | 
| c660 | 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 20 20 34 36 20 | lyon-print-state-new.nil.....46. | 
| c680 | 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20    28 28 61 6e 64 20 28 3d 20 73 68 69 66 74 20 34 | 0.0.0)).........((and.(=.shift.4 | 
| c6a0 | 36 29 20 28 3d 20 78 20 36 29 29 0a 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 | 6).(=.x.6))..........(malyon-pri | 
| c6c0 | 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 31 20 30 29 29 0a | nt-state-new.nil.....-6.0.1.0)). | 
| c6e0 | 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d    20 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20 | ........((and.(=.shift.46).(=.x. | 
| c700 | 37 29 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 | 7))..........(malyon-print-state | 
| c720 | 2d 6e 65 77 20 3f 5c 72 20 20 20 20 20 2d 36 20    30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 | -new.?\r.....-6.0.0.0))......... | 
| c740 | 28 74 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 | (t..........(malyon-print-state- | 
| c760 | 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 28 61    72 65 66 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 | new...........(aref.malyon-alpha | 
| c780 | 62 65 74 20 28 2b 20 73 68 69 66 74 20 78 29 29    20 2d 36 20 30 20 30 20 30 29 29 29 29 0a 0a 28 | bet.(+.shift.x)).-6.0.0.0))))..( | 
| c7a0 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69    6e 74 2d 74 65 78 74 20 28 61 64 64 72 65 73 73 | defun.malyon-print-text.(address | 
| c7c0 | 29 0a 20 20 22 50 72 69 6e 74 20 74 65 78 74 20    61 74 20 61 64 64 72 65 73 73 20 61 6e 64 20 72 | )..."Print.text.at.address.and.r | 
| c7e0 | 65 74 75 72 6e 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 69 | eturn.the.address.of.the.followi | 
| c800 | 6e 67 20 62 79 74 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 73 74 61 72 74 29 29 0a 20 20 20 20 28 | ng.byte."...(let.((start)).....( | 
| c820 | 69 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 | if.(eq.malyon-transcript-buffer. | 
| c840 | 28 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 | (current-buffer)).........(goto- | 
| c860 | 63 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 | char.(point-max)).......(goto-ch | 
| c880 | 61 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 | ar.malyon-status-buffer-point)). | 
| c8a0 | 20 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 73 65 | ....(setq.start.(point)).....(se | 
| c8c0 | 74 71 20 61 64 64 72 65 73 73 20 28 6d 61 6c 79    6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 61 | tq.address.(malyon-print-ztext.a | 
| c8e0 | 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 70 75    74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 | ddress)).....(put-text-property. | 
| c900 | 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 72 72 65 | start.(point).'face.malyon-curre | 
| c920 | 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 74 61 74 | nt-face).....(if.(eq.malyon-stat | 
| c940 | 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 20 20 20 | us-buffer.(current-buffer))..... | 
| c960 | 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 2d 70 | ....(setq.malyon-status-buffer-p | 
| c980 | 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 72 20 6d | oint.(point)).......(goto-char.m | 
| c9a0 | 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 | 
| c9c0 | 2d 69 6e 70 75 74 29 29 0a 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 | -input)).....(malyon-redisplay-f | 
| c9e0 | 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66    72 61 6d 65 29 20 6e 69 6c 29 0a 20 20 20 20 61 | rame.(selected-frame).nil).....a | 
| ca00 | 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 | ddress))..(defun.malyon-print-zt | 
| ca20 | 65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20    22 50 72 69 6e 74 20 74 68 65 20 7a 74 65 78 74 | ext.(address)..."Print.the.ztext | 
| ca40 | 20 73 74 6f 72 65 64 20 61 74 20 74 68 65 20 67    69 76 65 6e 20 61 64 64 72 65 73 73 2e 22 0a 20 | .stored.at.the.given.address.".. | 
| ca60 | 20 28 6c 65 74 20 28 28 68 69 67 68 20 30 29 20    28 6c 6f 77 29 20 28 61 29 20 28 62 29 20 28 63 | .(let.((high.0).(low).(a).(b).(c | 
| ca80 | 29 20 28 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e    2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 | ).(state.(malyon-print-state-ini | 
| caa0 | 74 69 61 6c 29 29 29 0a 20 20 20 20 28 77 68 69    6c 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e | tial))).....(while.(zerop.(logan | 
| cac0 | 64 20 31 32 38 20 68 69 67 68 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 68 69 67 68 20 28 6d | d.128.high)).......(setq.high.(m | 
| cae0 | 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 0a 20 20 20 20 20 20 | alyon-read-byte.address))....... | 
| cb00 | 28 73 65 74 71 20 6c 6f 77 20 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 | (setq.low..(malyon-read-byte.(+. | 
| cb20 | 31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 61 20 20 20 20 28 6c | 1.address))).......(setq.a....(l | 
| cb40 | 6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 68 69    67 68 20 2d 32 29 29 29 0a 20 20 20 20 20 20 28 | ogand.31.(lsh.high.-2))).......( | 
| cb60 | 73 65 74 71 20 62 20 20 20 20 28 6c 6f 67 61 6e    64 20 33 31 20 28 6c 6f 67 69 6f 72 20 28 6c 73 | setq.b....(logand.31.(logior.(ls | 
| cb80 | 68 20 68 69 67 68 20 33 29 20 28 6c 73 68 20 6c    6f 77 20 2d 35 29 29 29 29 0a 20 20 20 20 20 20 | h.high.3).(lsh.low.-5))))....... | 
| cba0 | 28 73 65 74 71 20 63 20 20 20 20 28 6c 6f 67 61    6e 64 20 33 31 20 6c 6f 77 29 29 0a 20 20 20 20 | (setq.c....(logand.31.low))..... | 
| cbc0 | 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 69 | ..(setq.state.(apply.'malyon-pri | 
| cbe0 | 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 61 20    73 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 69 | nt-state-next.a.state)).......(i | 
| cc00 | 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 61 | f.(car.state).(malyon-output-cha | 
| cc20 | 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 71 | racter.(car.state))).......(setq | 
| cc40 | 20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d    61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 | .state.(apply.'malyon-print-stat | 
| cc60 | 65 2d 6e 65 78 74 20 62 20 73 74 61 74 65 29 29    0a 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 | e-next.b.state)).......(if.(car. | 
| cc80 | 73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f    75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 | state).(malyon-output-character. | 
| cca0 | 28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 | (car.state))).......(setq.state. | 
| ccc0 | 28 61 70 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 | (apply.'malyon-print-state-next. | 
| cce0 | 63 20 73 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 | c.state)).......(if.(car.state). | 
| cd00 | 28 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 61 72 20 73 74 | (malyon-output-character.(car.st | 
| cd20 | 61 74 65 29 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 61 64 64 72 65 73 73 20 28 2b 20 32 20 | ate))).......(setq.address.(+.2. | 
| cd40 | 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 61    64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e | address))).....address))..(defun | 
| cd60 | 20 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 28 63 68 61 72 | .malyon-putchar-transcript.(char | 
| cd80 | 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e    67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e | )..."Print.a.single.character.in | 
| cda0 | 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20    77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 66 20 28 | .the.transcript.window."...(if.( | 
| cdc0 | 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 6e 65 77 6c | char-equal.char.?\n).......(newl | 
| cde0 | 69 6e 65 20 31 29 0a 20 20 20 20 28 69 6e 73 65    72 74 20 63 68 61 72 29 0a 20 20 20 20 28 73 65 | ine.1).....(insert.char).....(se | 
| ce00 | 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d    73 65 70 61 72 61 74 6f 72 20 28 6e 75 6c 6c 20 | tq.malyon-print-separator.(null. | 
| ce20 | 28 6d 65 6d 62 65 72 20 63 68 61 72 20 6d 61 6c    79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 29 29 | (member.char.malyon-whitespace)) | 
| ce40 | 29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 6d 61    6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d | ))...(if.(and.malyon-transcript- | 
| ce60 | 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 0a    20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 63 | buffer-buffered............(>.(c | 
| ce80 | 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28    63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c | urrent-column).(current-fill-col | 
| cea0 | 75 6d 6e 29 29 29 0a 20 20 20 20 20 20 28 70 72    6f 67 6e 0a 20 20 20 20 20 20 20 20 28 65 6e 64 | umn))).......(progn.........(end | 
| cec0 | 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20    20 20 28 66 6f 72 77 61 72 64 2d 77 6f 72 64 20 | -of-line).........(forward-word. | 
| cee0 | 2d 31 29 0a 20 20 20 20 20 20 20 20 28 69 66 20    28 3c 20 30 20 28 63 75 72 72 65 6e 74 2d 63 6f | -1).........(if.(<.0.(current-co | 
| cf00 | 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 0a | lumn)).............(newline.1)). | 
| cf20 | 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d    6c 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e | ........(end-of-line))))..(defun | 
| cf40 | 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d    73 74 61 74 75 73 20 28 63 68 61 72 29 0a 20 20 | .malyon-putchar-status.(char)... | 
| cf60 | 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20    63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 | "Print.a.single.character.in.the | 
| cf80 | 20 73 74 61 74 75 73 20 77 69 6e 64 6f 77 2e 22    0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 | .status.window."...(if.malyon-st | 
| cfa0 | 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 20 20 | atus-buffer-delayed-split....... | 
| cfc0 | 28 70 72 6f 67 6e 0a 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 | (progn.........(malyon-split-buf | 
| cfe0 | 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 62 75 66 66 65 72 | fer-windows.malyon-status-buffer | 
| d000 | 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a    20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 | -delayed-split).........(other-w | 
| d020 | 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 28 69 66    20 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 | indow.1)))...(if.(char-equal.cha | 
| d040 | 72 20 3f 5c 6e 29 0a 20 20 20 20 20 20 28 70 72    6f 67 6e 0a 20 20 20 20 20 20 20 20 28 62 65 67 | r.?\n).......(progn.........(beg | 
| d060 | 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a    20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 | inning-of-line).........(forward | 
| d080 | 2d 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20    20 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20 | -line.1).........(if.(=.(point). | 
| d0a0 | 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 | (point-max)).............(forwar | 
| d0c0 | 64 2d 6c 69 6e 65 20 2d 31 29 29 29 0a 20 20 20    20 28 69 66 20 28 3e 20 28 63 75 72 72 65 6e 74 | d-line.-1))).....(if.(>.(current | 
| d0e0 | 2d 63 6f 6c 75 6d 6e 29 20 28 63 75 72 72 65 6e    74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 0a | -column).(current-fill-column)). | 
| d100 | 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20    20 20 28 69 6e 73 65 72 74 20 63 68 61 72 29 0a | ........'().......(insert.char). | 
| d120 | 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68    61 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e | ......(delete-char.1))))..(defun | 
| d140 | 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d    74 61 62 6c 65 20 28 63 68 61 72 20 74 61 62 6c | .malyon-putchar-table.(char.tabl | 
| d160 | 65 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69    6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 | e)..."Print.a.single.character.i | 
| d180 | 6e 74 6f 20 61 20 74 61 62 6c 65 2e 22 0a 20 20    28 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79 | nto.a.table."...(setq.char.(maly | 
| d1a0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73    63 69 69 20 63 68 61 72 29 29 0a 20 20 28 6d 61 | on-unicode-to-zscii.char))...(ma | 
| d1c0 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20    28 2b 20 32 20 74 61 62 6c 65 20 28 6d 61 6c 79 | lyon-store-byte.(+.2.table.(maly | 
| d1e0 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62    6c 65 29 29 20 63 68 61 72 29 0a 20 20 28 6d 61 | on-read-word.table)).char)...(ma | 
| d200 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20    74 61 62 6c 65 20 28 2b 20 31 20 28 6d 61 6c 79 | lyon-store-word.table.(+.1.(maly | 
| d220 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62    6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d | on-read-word.table))))..(defun.m | 
| d240 | 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 70 72    69 6e 74 65 72 20 28 63 68 61 72 29 0a 20 20 22 | alyon-putchar-printer.(char)..." | 
| d260 | 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63    68 61 72 61 63 74 65 72 20 6f 6e 74 6f 20 61 20 | Print.a.single.character.onto.a. | 
| d280 | 70 72 69 6e 74 65 72 2e 22 29 3b 20 6e 6f 74 20    79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a | printer.");.not.yet.implemented. | 
| d2a0 | 0a 3b 3b 20 6d 6f 72 65 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f | .;;.more..(defvar.malyon-more-co | 
| d2c0 | 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 6e 69    6c 0a 20 20 22 54 68 65 20 6b 65 79 6d 61 70 20 | ntinue-keymap.nil..."The.keymap. | 
| d2e0 | 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 63 6f    6e 74 69 6e 75 65 20 61 66 74 65 72 20 4d 6f 72 | with.which.to.continue.after.Mor | 
| d300 | 65 20 68 61 73 20 66 69 6e 69 73 68 65 64 2e 22    29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | e.has.finished.")..(defun.malyon | 
| d320 | 2d 6d 6f 72 65 20 28 6b 65 79 6d 61 70 29 0a 20    20 22 45 6e 74 65 72 20 4d 6f 72 65 20 6d 6f 64 | -more.(keymap)..."Enter.More.mod | 
| d340 | 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61    6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 | e."...(if.(eq.malyon-status-buff | 
| d360 | 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 29 29 0a 20 20 20 20 20 20 28 75 73 65 2d | er.(current-buffer)).......(use- | 
| d380 | 6c 6f 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70    29 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c | local-map.keymap).....(if.(<.mal | 
| d3a0 | 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f    6e 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 | yon-story-version.5).(malyon-opc | 
| d3c0 | 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29    29 0a 20 20 20 20 28 69 66 20 28 3c 20 28 63 6f | ode-show-status)).....(if.(<.(co | 
| d3e0 | 75 6e 74 2d 6c 69 6e 65 73 20 6d 61 6c 79 6f 6e    2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 | unt-lines.malyon-last-cursor-pos | 
| d400 | 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75    74 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | ition-after-input.(point-max)).. | 
| d420 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 | ..........(malyon-window-display | 
| d440 | 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20    20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 | ed-height)).........(progn...... | 
| d460 | 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 63 72 69 70 74 29 0a | .....(malyon-adjust-transcript). | 
| d480 | 20 20 20 20 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 | ..........(use-local-map.keymap) | 
| d4a0 | 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 6c 61 73 74 2d 63 | ).......(goto-char.malyon-last-c | 
| d4c0 | 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 29 0a 20 20 20 20 | ursor-position-after-input)..... | 
| d4e0 | 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d    6c 69 6e 65 29 0a 20 20 20 20 20 20 28 72 65 63 | ..(beginning-of-line).......(rec | 
| d500 | 65 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 | enter.1).......(setq.malyon-more | 
| d520 | 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70    20 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 | -continue-keymap.keymap).......( | 
| d540 | 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 6d 6f 72 65 | use-local-map.malyon-keymap-more | 
| d560 | 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65    20 22 5b 4d 6f 72 65 5d 22 29 29 29 29 0a 0a 28 | ).......(message."[More]"))))..( | 
| d580 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72    65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 | defun.malyon-more-status-buffer. | 
| d5a0 | 28 29 0a 20 20 22 45 6e 74 65 72 20 4d 6f 72 65    20 6d 6f 64 65 20 66 6f 72 20 74 68 65 20 73 74 | ()..."Enter.More.mode.for.the.st | 
| d5c0 | 61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 | atus.buffer."...(setq.malyon-mor | 
| d5e0 | 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61    70 20 28 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c | e-continue-keymap.(current-local | 
| d600 | 2d 6d 61 70 29 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 | -map))...(use-local-map.malyon-k | 
| d620 | 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75    73 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b | eymap-more-status)...(message."[ | 
| d640 | 4d 6f 72 65 5d 22 29 0a 20 20 28 74 68 72 6f 77    20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d | More]")...(throw.'malyon-end-of- | 
| d660 | 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 6e 67 | interpreter-loop.'malyon-waiting | 
| d680 | 2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 3b 3b    20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 0a 0a | -for-input))..;;.input.history.. | 
| d6a0 | 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68    69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 54 68 | (defvar.malyon-history.nil..."Th | 
| d6c0 | 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e    22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | e.input.history.")..(defun.malyo | 
| d6e0 | 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f    75 73 20 28 29 0a 20 20 22 4d 6f 76 65 20 6f 6e | n-history-previous.()..."Move.on | 
| d700 | 65 20 65 6e 74 72 79 20 75 70 20 69 6e 20 74 68    65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e | e.entry.up.in.the.input.history. | 
| d720 | 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 6f 6e 2d 68 69 73 | "...(let.((prev.(aref.malyon-his | 
| d740 | 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 65 66 20 6d 61 6c | tory.0)).........(curr.(aref.mal | 
| d760 | 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 65 78 74 20 28 61 | yon-history.1)).........(next.(a | 
| d780 | 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 20 20 28 69 66 20 | ref.malyon-history.2))).....(if. | 
| d7a0 | 28 6e 75 6c 6c 20 70 72 65 76 29 0a 20 20 20 20    20 20 20 20 63 75 72 72 0a 20 20 20 20 20 20 28 | (null.prev).........curr.......( | 
| d7c0 | 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74    6f 72 79 20 32 20 28 69 66 20 63 75 72 72 20 28 | aset.malyon-history.2.(if.curr.( | 
| d7e0 | 63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20    6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 | cons.curr.next).next)).......(as | 
| d800 | 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72    79 20 30 20 28 63 64 72 20 70 72 65 76 29 29 0a | et.malyon-history.0.(cdr.prev)). | 
| d820 | 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 20 31 20 28 63 61 | ......(aset.malyon-history.1.(ca | 
| d840 | 72 20 70 72 65 76 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | r.prev)))))..(defun.malyon-histo | 
| d860 | 72 79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4d 6f    76 65 20 6f 6e 65 20 65 6e 74 72 79 20 64 6f 77 | ry-next.()..."Move.one.entry.dow | 
| d880 | 6e 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 6c 65 74 20 | n.in.the.input.history."...(let. | 
| d8a0 | 28 28 70 72 65 76 20 28 61 72 65 66 20 6d 61 6c    79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a | ((prev.(aref.malyon-history.0)). | 
| d8c0 | 20 20 20 20 20 20 20 20 28 63 75 72 72 20 28 61    72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | ........(curr.(aref.malyon-histo | 
| d8e0 | 72 79 20 31 29 29 0a 20 20 20 20 20 20 20 20 28    6e 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f | ry.1)).........(next.(aref.malyo | 
| d900 | 6e 2d 68 69 73 74 6f 72 79 20 32 29 29 29 0a 20    20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6e 65 78 | n-history.2))).....(if.(null.nex | 
| d920 | 74 29 0a 20 20 20 20 20 20 20 20 63 75 72 72 0a    20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 | t).........curr.......(aset.maly | 
| d940 | 6f 6e 2d 68 69 73 74 6f 72 79 20 30 20 28 69 66    20 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 | on-history.0.(if.curr.(cons.curr | 
| d960 | 20 70 72 65 76 29 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 6e | .prev).prev)).......(aset.malyon | 
| d980 | 2d 68 69 73 74 6f 72 79 20 32 20 28 63 64 72 20    6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 | -history.2.(cdr.next)).......(as | 
| d9a0 | 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72    79 20 31 20 28 63 61 72 20 6e 65 78 74 29 29 29 | et.malyon-history.1.(car.next))) | 
| d9c0 | 29 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 63 6c 65 61 72 20 | ))..(defun.malyon-history-clear. | 
| d9e0 | 28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20    69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a | ()..."Clear.the.input.history.". | 
| da00 | 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68    69 73 74 6f 72 79 20 28 76 65 63 74 6f 72 20 27 | ..(setq.malyon-history.(vector.' | 
| da20 | 28 29 20 6e 69 6c 20 27 28 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 | ().nil.'())))..(defun.malyon-his | 
| da40 | 74 6f 72 79 2d 69 6e 73 65 72 74 20 28 65 6e 74    72 79 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e | tory-insert.(entry)..."Insert.an | 
| da60 | 20 65 6e 74 72 79 20 69 6e 74 6f 20 74 68 65 20    69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a | .entry.into.the.input.history.". | 
| da80 | 20 20 28 6c 65 74 2a 20 28 28 70 72 65 76 20 28    61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 | ..(let*.((prev.(aref.malyon-hist | 
| daa0 | 6f 72 79 20 30 29 29 0a 09 20 28 63 75 72 72 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 | ory.0))...(curr.(aref.malyon-his | 
| dac0 | 74 6f 72 79 20 31 29 29 0a 09 20 28 6e 65 78 74    20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 | tory.1))...(next.(aref.malyon-hi | 
| dae0 | 73 74 6f 72 79 20 32 29 29 0a 09 20 28 6c 20 20    20 20 28 72 65 6d 6f 76 65 20 65 6e 74 72 79 0a | story.2))...(l....(remove.entry. | 
| db00 | 09 09 09 20 20 20 20 20 20 28 61 70 70 65 6e 64    20 28 6e 72 65 76 65 72 73 65 20 70 72 65 76 29 | .........(append.(nreverse.prev) | 
| db20 | 0a 09 09 09 09 20 20 20 20 20 20 28 69 66 20 63    75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e | ...........(if.curr.(cons.curr.n | 
| db40 | 65 78 74 29 20 6e 65 78 74 29 29 29 29 0a 09 20    28 63 75 74 20 20 28 2d 20 28 6c 65 6e 67 74 68 | ext).next))))...(cut..(-.(length | 
| db60 | 20 6c 29 20 31 39 29 29 29 0a 20 20 20 20 28 77    68 69 6c 65 20 28 3e 20 63 75 74 20 30 29 0a 20 | .l).19))).....(while.(>.cut.0).. | 
| db80 | 20 20 20 20 20 28 73 65 74 71 20 6c 20 20 20 28    63 64 72 20 6c 29 0a 20 20 20 20 20 20 20 20 20 | .....(setq.l...(cdr.l).......... | 
| dba0 | 20 20 20 63 75 74 20 28 2d 20 63 75 74 20 31 29    29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c | ...cut.(-.cut.1))).....(aset.mal | 
| dbc0 | 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 0a 09 20    20 28 72 65 6d 6f 76 65 20 6e 69 6c 20 28 72 65 | yon-history.0....(remove.nil.(re | 
| dbe0 | 6d 6f 76 65 20 22 22 20 28 63 6f 6e 73 20 65 6e    74 72 79 20 28 6e 72 65 76 65 72 73 65 20 6c 29 | move."".(cons.entry.(nreverse.l) | 
| dc00 | 29 29 29 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 31 20 | )))).....(aset.malyon-history.1. | 
| dc20 | 6e 69 6c 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 32 20 | nil).....(aset.malyon-history.2. | 
| dc40 | 27 28 29 29 29 29 0a 0a 3b 3b 20 64 69 63 74 69    6f 6e 61 72 79 20 6c 6f 6f 6b 75 70 0a 0a 28 64 | '())))..;;.dictionary.lookup..(d | 
| dc60 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 63 74    69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 63 68 61 | efun.malyon-dictionary-word.(cha | 
| dc80 | 72 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61    20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 | rs)..."Convert.a.list.of.charact | 
| dca0 | 65 72 73 20 69 6e 74 6f 20 61 20 64 69 63 74 69    6f 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28 | ers.into.a.dictionary.word."...( | 
| dcc0 | 6c 69 73 74 20 28 63 61 72 20 28 63 61 72 20 63    68 61 72 73 29 29 0a 09 28 6c 65 6e 67 74 68 20 | list.(car.(car.chars))..(length. | 
| dce0 | 63 68 61 72 73 29 0a 09 28 6d 61 6c 79 6f 6e 2d    65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 | chars)..(malyon-encode-dictionar | 
| dd00 | 79 2d 77 6f 72 64 20 28 61 70 70 65 6e 64 20 28    63 6c 2d 6d 61 70 63 61 6e 20 27 63 64 72 20 63 | y-word.(append.(cl-mapcan.'cdr.c | 
| dd20 | 68 61 72 73 29 0a 09 09 09 09 09 20 20 20 20 20    20 20 27 28 35 20 35 20 35 20 35 20 35 20 35 20 | hars).............'(5.5.5.5.5.5. | 
| dd40 | 35 20 35 29 29 29 29 29 0a 0a 28 64 65 66 73 75    62 73 74 20 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d | 5.5)))))..(defsubst.malyon-join- | 
| dd60 | 63 68 61 72 61 63 74 65 72 73 20 28 73 74 6f 70    20 6c 69 73 74 29 0a 20 20 22 4a 6f 69 6e 73 20 | characters.(stop.list)..."Joins. | 
| dd80 | 74 68 72 65 65 20 7a 74 65 78 74 20 63 68 61 72    61 63 74 65 72 73 20 69 6e 74 6f 20 74 77 6f 20 | three.ztext.characters.into.two. | 
| dda0 | 62 79 74 65 73 2e 22 0a 20 20 28 6c 65 74 20 28    28 61 20 28 63 61 72 20 20 20 20 20 20 20 20 20 | bytes."...(let.((a.(car......... | 
| ddc0 | 20 6c 69 73 74 29 29 0a 09 28 62 20 28 63 61 64    72 20 20 6c 69 73 74 29 29 0a 09 28 63 20 28 63 | .list))..(b.(cadr..list))..(c.(c | 
| dde0 | 6c 2d 63 61 64 64 72 20 6c 69 73 74 29 29 0a 09    28 78 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 | l-caddr.list))..(x.(if.(zerop.st | 
| de00 | 6f 70 29 20 30 20 31 32 38 29 29 29 0a 20 20 20    20 28 6c 69 73 74 20 28 6c 6f 67 69 6f 72 20 78 | op).0.128))).....(list.(logior.x | 
| de20 | 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 61 20 32 29 20 28 | .(logand.255.(logior.(lsh.a.2).( | 
| de40 | 6c 73 68 20 62 20 2d 33 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 32 | lsh.b.-3))))...........(logand.2 | 
| de60 | 35 35 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20    62 20 35 29 20 63 29 29 29 29 29 0a 0a 28 64 65 | 55.(logior.(lsh.b.5).c)))))..(de | 
| de80 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64    65 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 | fun.malyon-encode-dictionary-wor | 
| dea0 | 64 20 28 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74    73 20 61 20 6c 69 73 74 20 6f 66 20 7a 74 65 78 | d.(l)..."Converts.a.list.of.ztex | 
| dec0 | 74 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 6e 61 72 79 20 77 | t.characters.into.a.dictionary.w | 
| dee0 | 6f 72 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28    66 69 72 73 74 20 20 6c 29 0a 09 20 28 73 65 63 | ord."...(let*.((first..l)...(sec | 
| df00 | 6f 6e 64 20 28 63 6c 2d 63 64 64 64 72 20 66 69    72 73 74 29 29 0a 09 20 28 74 68 69 72 64 20 20 | ond.(cl-cdddr.first))...(third.. | 
| df20 | 28 63 6c 2d 63 64 64 64 72 20 73 65 63 6f 6e 64    29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 27 | (cl-cdddr.second))).....(apply.' | 
| df40 | 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20    20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | vector............(if.(<.malyon- | 
| df60 | 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 20 20 20 20 20 | story-version.5)................ | 
| df80 | 28 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 | (append.(malyon-join-characters. | 
| dfa0 | 30 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 20 20 | 0.first)........................ | 
| dfc0 | 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61    72 61 63 74 65 72 73 20 31 20 73 65 63 6f 6e 64 | (malyon-join-characters.1.second | 
| dfe0 | 29 29 0a 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 | ))..............(append.(malyon- | 
| e000 | 6a 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 | join-characters.0.first)........ | 
| e020 | 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 61 | ..............(malyon-join-chara | 
| e040 | 63 74 65 72 73 20 30 20 73 65 63 6f 6e 64 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cters.0.second)................. | 
| e060 | 20 20 20 20 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 31 20 74 | .....(malyon-join-characters.1.t | 
| e080 | 68 69 72 64 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 | hird))))))..(defun.malyon-lookup | 
| e0a0 | 20 28 64 69 63 74 20 63 6f 64 65 29 0a 20 20 22    4c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 67 69 76 | .(dict.code)..."Look.for.the.giv | 
| e0c0 | 65 6e 20 63 6f 64 65 20 69 6e 20 74 68 65 20 64    69 63 74 69 6f 6e 61 72 79 20 61 6e 64 20 72 65 | en.code.in.the.dictionary.and.re | 
| e0e0 | 74 75 72 6e 20 69 74 73 20 61 64 64 72 65 73 73    2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 | turn.its.address."...(cond.((not | 
| e100 | 20 63 6f 64 65 29 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 | .code).................0)....... | 
| e120 | 20 20 28 28 6e 6f 74 20 64 69 63 74 29 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d | ..((not.dict).................(m | 
| e140 | 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61    72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20 | alyon-binary-search.code))...... | 
| e160 | 20 20 20 28 28 3d 20 64 69 63 74 20 6d 61 6c 79    6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 20 28 | ...((=.dict.malyon-dictionary).( | 
| e180 | 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65    61 72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 | malyon-binary-search.code))..... | 
| e1a0 | 20 20 20 20 28 74 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.......................... | 
| e1c0 | 28 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73    65 61 72 63 68 20 64 69 63 74 20 63 6f 64 65 29 | (malyon-linear-search.dict.code) | 
| e1e0 | 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d    61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f | )))..(defsubst.malyon-compare-wo | 
| e200 | 72 64 73 20 28 77 6f 72 64 20 61 64 64 72 65 73    73 29 0a 20 20 22 43 6f 6d 70 61 72 65 73 20 74 | rds.(word.address)..."Compares.t | 
| e220 | 68 65 20 67 69 76 65 6e 20 77 6f 72 64 20 74 6f    20 74 68 65 20 77 6f 72 64 20 73 74 6f 72 65 64 | he.given.word.to.the.word.stored | 
| e240 | 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20 | .at.address."...(let*.((i.0).... | 
| e260 | 20 20 20 20 20 20 28 6a 20 61 64 64 72 65 73 73    29 0a 20 20 20 20 20 20 20 20 20 28 78 20 28 61 | ......(j.address)..........(x.(a | 
| e280 | 72 65 66 20 77 6f 72 64 20 69 29 29 0a 20 20 20    20 20 20 20 20 20 28 79 20 28 6d 61 6c 79 6f 6e | ref.word.i))..........(y.(malyon | 
| e2a0 | 2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a    20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 | -read-byte.j))).....(while.(not. | 
| e2c0 | 28 6f 72 20 28 2f 3d 20 78 20 79 29 20 28 3d 20    69 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e | (or.(/=.x.y).(=.i.malyon-diction | 
| e2e0 | 61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 29    29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 | ary-word-length))).......(setq.i | 
| e300 | 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20 | .(+.1.i).............j.(+.1.j).. | 
| e320 | 20 20 20 20 20 20 20 20 20 20 20 78 20 28 61 72    65 66 20 77 6f 72 64 20 69 29 0a 20 20 20 20 20 | ...........x.(aref.word.i)...... | 
| e340 | 20 20 20 20 20 20 20 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 | .......y.(malyon-read-byte.j))). | 
| e360 | 20 20 20 20 28 2d 20 78 20 79 29 29 29 0a 0a 3b    3b 20 73 65 61 72 63 68 20 66 75 6e 63 74 69 6f | ....(-.x.y)))..;;.search.functio | 
| e380 | 6e 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20 | ns..(defun.malyon-binary-search. | 
| e3a0 | 28 63 6f 64 65 29 0a 20 20 22 42 69 6e 61 72 79    20 73 65 61 72 63 68 20 74 68 72 6f 75 67 68 20 | (code)..."Binary.search.through. | 
| e3c0 | 74 68 65 20 6d 61 69 6e 20 64 69 63 74 69 6f 6e    61 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 | the.main.dictionary."...(let*.(( | 
| e3e0 | 6c 6f 77 65 72 20 20 20 30 29 0a 20 20 20 20 20    20 20 20 20 28 75 70 70 65 72 20 20 20 28 2d 20 | lower...0)..........(upper...(-. | 
| e400 | 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 73 20 31 29 | malyon-dictionary-num-entries.1) | 
| e420 | 29 0a 20 20 20 20 20 20 20 20 20 28 6d 65 64 69    61 6e 20 20 28 2f 20 28 2b 20 6c 6f 77 65 72 20 | )..........(median..(/.(+.lower. | 
| e440 | 75 70 70 65 72 29 20 32 29 29 0a 20 20 20 20 20    20 20 20 20 28 65 6e 74 72 79 20 20 20 28 2b 20 | upper).2))..........(entry...(+. | 
| e460 | 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 | malyon-dictionary-entries....... | 
| e480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2a 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e | ...............(*.malyon-diction | 
| e4a0 | 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68    20 6d 65 64 69 61 6e 29 29 29 0a 20 20 20 20 20 | ary-entry-length.median)))...... | 
| e4c0 | 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 72 | ....(looking.(malyon-compare-wor | 
| e4e0 | 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 74 | ds.code.entry))).....(while.(not | 
| e500 | 20 28 6f 72 20 28 3e 20 6c 6f 77 65 72 20 75 70    70 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b | .(or.(>.lower.upper).(zerop.look | 
| e520 | 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 6c 6f 77 65 72 20 20 20 28 69 66 20 28 | ing))).......(setq.lower...(if.( | 
| e540 | 3c 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2b 20    6d 65 64 69 61 6e 20 31 29 20 6c 6f 77 65 72 29 | <.0.looking).(+.median.1).lower) | 
| e560 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 70 70    65 72 20 20 20 28 69 66 20 28 3e 20 30 20 6c 6f | .............upper...(if.(>.0.lo | 
| e580 | 6f 6b 69 6e 67 29 20 28 2d 20 6d 65 64 69 61 6e    20 31 29 20 75 70 70 65 72 29 0a 20 20 20 20 20 | oking).(-.median.1).upper)...... | 
| e5a0 | 20 20 20 20 20 20 20 6d 65 64 69 61 6e 20 20 28    2f 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72 | .......median..(/.(+.lower.upper | 
| e5c0 | 29 20 32 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 6d 61 6c 79 | ).2).............entry...(+.maly | 
| e5e0 | 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e    74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 | on-dictionary-entries........... | 
| e600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20    6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 | .............(*.malyon-dictionar | 
| e620 | 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6d    65 64 69 61 6e 29 29 0a 20 20 20 20 20 20 20 20 | y-entry-length.median))......... | 
| e640 | 20 20 20 20 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 72 64 | ....looking.(malyon-compare-word | 
| e660 | 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a    20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c | s.code.entry))).....(if.(zerop.l | 
| e680 | 6f 6f 6b 69 6e 67 29 20 65 6e 74 72 79 20 30 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ooking).entry.0)))..(defun.malyo | 
| e6a0 | 6e 2d 6c 69 6e 65 61 72 2d 73 65 61 72 63 68 20    28 64 69 63 74 69 6f 6e 61 72 79 20 63 6f 64 65 | n-linear-search.(dictionary.code | 
| e6c0 | 29 0a 20 20 22 4c 69 6e 65 61 72 20 73 65 61 72    63 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 67 | )..."Linear.search.through.the.g | 
| e6e0 | 69 76 65 6e 20 64 69 63 74 69 6f 6e 61 72 79 2e    22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67 | iven.dictionary."...(let*.((leng | 
| e700 | 74 68 20 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 69 6f 6e | th..(malyon-read-byte.(+.diction | 
| e720 | 61 72 79 20 31 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 | ary.1........................... | 
| e740 | 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 64 | .............(malyon-read-byte.d | 
| e760 | 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 20 | ictionary))))..........(number.. | 
| e780 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72    64 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 | (malyon-read-word.(+.dictionary. | 
| e7a0 | 32 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 20 | 2............................... | 
| e7c0 | 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 64 69 63 74 69 | .........(malyon-read-byte.dicti | 
| e7e0 | 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 28 65 6e 74 72 69 65 73 20 28 2b 20 64 | onary))))..........(entries.(+.d | 
| e800 | 69 63 74 69 6f 6e 61 72 79 20 34 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 | ictionary.4.(malyon-read-byte.di | 
| e820 | 63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 20 20    20 20 20 20 20 28 69 20 20 20 20 20 20 20 30 29 | ctionary)))..........(i.......0) | 
| e840 | 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79    20 20 20 28 2b 20 65 6e 74 72 69 65 73 20 28 2a | ..........(entry...(+.entries.(* | 
| e860 | 20 6c 65 6e 67 74 68 20 69 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 | .length.i)))..........(looking.( | 
| e880 | 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 74 72 79 29 | malyon-compare-words.code.entry) | 
| e8a0 | 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e    6f 74 20 28 6f 72 20 28 3e 3d 20 69 20 6e 75 6d | )).....(while.(not.(or.(>=.i.num | 
| e8c0 | 62 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 | ber).(zerop.looking))).......(se | 
| e8e0 | 74 71 20 69 20 20 20 20 20 20 20 28 2b 20 31 20    69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 | tq.i.......(+.1.i).............e | 
| e900 | 6e 74 72 79 20 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 0a | ntry...(+.entries.(*.length.i)). | 
| e920 | 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 6f 6e 2d 63 6f 6d 70 | ............looking.(malyon-comp | 
| e940 | 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 20 20 20 28 69 66 20 | are-words.code.entry))).....(if. | 
| e960 | 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 29 0a 0a 3b 3b 20 65 | (zerop.looking).entry.0)))..;;.e | 
| e980 | 6e 63 6f 64 69 6e 67 20 74 65 78 74 20 61 6e 64    20 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69 | ncoding.text.and.lexical.analysi | 
| e9a0 | 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 73 70 6c 69 74 2d 6c 69 73 74 20 28 73 65 70 | s..(defun.malyon-split-list.(sep | 
| e9c0 | 20 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20    78 29 0a 20 20 22 53 70 6c 69 74 20 61 20 6c 69 | .list.&optional.x)..."Split.a.li | 
| e9e0 | 73 74 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73    20 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 | st.into.sublists.as.indicated.by | 
| ea00 | 20 74 68 65 20 73 65 70 61 72 61 74 6f 72 73 2e    22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c | .the.separators."...(cond.((null | 
| ea20 | 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20    28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 | .list)..........(list.(nreverse. | 
| ea40 | 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65    71 20 73 65 70 20 28 63 61 72 20 6c 69 73 74 29 | x))).........((eq.sep.(car.list) | 
| ea60 | 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    20 28 6e 72 65 76 65 72 73 65 20 78 29 20 28 6d | )..........(cons.(nreverse.x).(m | 
| ea80 | 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74    20 73 65 70 20 28 63 64 72 20 6c 69 73 74 29 20 | alyon-split-list.sep.(cdr.list). | 
| eaa0 | 27 28 29 29 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 | '()))).........(t..........(maly | 
| eac0 | 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 73 65    70 20 28 63 64 72 20 6c 69 73 74 29 20 28 63 6f | on-split-list.sep.(cdr.list).(co | 
| eae0 | 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | ns.(car.list).x)))))..(defun.mal | 
| eb00 | 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 73 2d 74    6f 2d 77 6f 72 64 73 20 28 6c 69 73 74 29 0a 20 | yon-characters-to-words.(list).. | 
| eb20 | 20 22 54 75 72 6e 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 | ."Turn.the.list.of.characters.in | 
| eb40 | 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 77 6f 72    64 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 27 | to.a.list.of.words."...(mapcar.' | 
| eb60 | 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 | malyon-dictionary-word.......... | 
| eb80 | 20 28 64 65 6c 65 74 65 20 27 28 29 20 28 6d 61    6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 | .(delete.'().(malyon-split-list. | 
| eba0 | 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70    61 72 61 74 6f 72 20 6c 69 73 74 29 29 29 29 0a | 'malyon-word-separator.list)))). | 
| ebc0 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f    6e 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 | .(defsubst.malyon-char-in-string | 
| ebe0 | 20 28 63 20 73 29 0a 20 20 22 52 65 74 75 72 6e    73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 63 | .(c.s)..."Returns.the.index.of.c | 
| ec00 | 20 69 6e 20 73 20 69 66 20 66 6f 75 6e 64 2c 20    6f 72 20 6c 65 6e 67 74 68 20 6f 66 20 73 2e 22 | .in.s.if.found,.or.length.of.s." | 
| ec20 | 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a    20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 | ...(let.((i.0)).....(while.(not. | 
| ec40 | 28 6f 72 20 28 3d 20 69 20 28 6c 65 6e 67 74 68    20 73 29 29 20 28 3d 20 63 20 28 61 72 65 66 20 | (or.(=.i.(length.s)).(=.c.(aref. | 
| ec60 | 73 20 69 29 29 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 | s.i)))).......(setq.i.(+.1.i))). | 
| ec80 | 20 20 20 20 69 29 29 0a 0a 28 64 65 66 73 75 62    73 74 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 | ....i))..(defsubst.malyon-encode | 
| eca0 | 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 28 63 29 0a    20 20 22 43 6f 6e 76 65 72 74 20 61 20 63 68 61 | -into-ztext.(c)..."Convert.a.cha | 
| ecc0 | 72 61 63 74 65 72 20 69 6e 74 6f 20 7a 74 65 78    74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e | racter.into.ztext."...(let*.((in | 
| ece0 | 64 65 78 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72    2d 69 6e 2d 73 74 72 69 6e 67 20 63 20 6d 61 6c | dex.(malyon-char-in-string.c.mal | 
| ed00 | 79 6f 6e 2d 61 6c 70 68 61 62 65 74 29 29 0a 20    20 20 20 20 20 20 20 20 28 73 68 69 66 74 20 28 | yon-alphabet))..........(shift.( | 
| ed20 | 66 6c 6f 6f 72 20 69 6e 64 65 78 20 32 36 29 29    0a 20 20 20 20 20 20 20 20 20 28 63 68 61 72 20 | floor.index.26))..........(char. | 
| ed40 | 20 28 2b 20 36 20 28 6d 6f 64 20 69 6e 64 65 78    20 32 36 29 29 29 29 0a 20 20 20 20 28 63 6f 6e | .(+.6.(mod.index.26)))).....(con | 
| ed60 | 64 20 28 28 3e 20 73 68 69 66 74 20 32 29 20 28    6c 69 73 74 20 35 20 36 20 28 6c 6f 67 61 6e 64 | d.((>.shift.2).(list.5.6.(logand | 
| ed80 | 20 33 31 20 28 6c 73 68 20 63 20 2d 35 29 29 20    28 6c 6f 67 61 6e 64 20 33 31 20 63 29 29 29 0a | .31.(lsh.c.-5)).(logand.31.c))). | 
| eda0 | 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 73 68    69 66 74 20 32 29 20 28 6c 69 73 74 20 35 20 63 | ..........((=.shift.2).(list.5.c | 
| edc0 | 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 28 3d 20 73 68 69 66 74 20 31 29 20 28 6c 69 | har))...........((=.shift.1).(li | 
| ede0 | 73 74 20 34 20 63 68 61 72 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 | st.4.char))...........(t........ | 
| ee00 | 20 20 20 28 6c 69 73 74 20 63 68 61 72 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ...(list.char)))))..(defun.malyo | 
| ee20 | 6e 2d 65 6e 63 6f 64 65 2d 73 69 6e 67 6c 65 2d    63 68 61 72 61 63 74 65 72 20 28 74 65 72 6d 69 | n-encode-single-character.(termi | 
| ee40 | 6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72    73 20 63 68 61 72 29 0a 20 20 22 45 6e 63 6f 64 | nating-characters.char)..."Encod | 
| ee60 | 65 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e    74 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65 | e.a.character.into.ztext."...(le | 
| ee80 | 74 20 28 28 70 6f 73 20 28 63 61 72 20 63 68 61    72 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 20 | t.((pos.(car.char)).........(c.. | 
| eea0 | 20 28 63 64 72 20 63 68 61 72 29 29 29 0a 20 20    20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 72 | .(cdr.char))).....(cond.((member | 
| eec0 | 20 63 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73    70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 | .c.malyon-whitespace)........... | 
| eee0 | 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 74 6f 72 29 29 0a | .(list.'malyon-word-separator)). | 
| ef00 | 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62    65 72 20 63 20 74 65 72 6d 69 6e 61 74 69 6e 67 | ..........((member.c.terminating | 
| ef20 | 2d 63 68 61 72 61 63 74 65 72 73 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d | -characters)............(list.'m | 
| ef40 | 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72    61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 | alyon-word-separator............ | 
| ef60 | 20 20 20 20 20 20 28 63 6f 6e 73 20 70 6f 73 20    28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 | ......(cons.pos.(malyon-encode-i | 
| ef80 | 6e 74 6f 2d 7a 74 65 78 74 20 63 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | nto-ztext.c))..................' | 
| efa0 | 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61    72 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 | malyon-word-separator))......... | 
| efc0 | 20 20 28 74 20 28 6c 69 73 74 20 28 63 6f 6e 73    20 70 6f 73 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 | ..(t.(list.(cons.pos.(malyon-enc | 
| efe0 | 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63    29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ode-into-ztext.c)))))))..(defun. | 
| f000 | 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 63 68    61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 64 69 | malyon-encode-character-list.(di | 
| f020 | 63 74 20 6c 69 73 74 29 0a 20 20 22 45 6e 63 6f    64 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 | ct.list)..."Encode.the.list.of.c | 
| f040 | 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 7a    74 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 | haracters.into.ztext."...(let.(( | 
| f060 | 6c 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 28    69 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 | l.'()).........(i.0)).....(while | 
| f080 | 20 28 3c 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 62 79 74 65 20 64 69 63 74 29 29 0a 20 | .(<.i.(malyon-read-byte.dict)).. | 
| f0a0 | 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 72 65 61 64 2d | .....(setq.l.(cons.(malyon-read- | 
| f0c0 | 62 79 74 65 20 28 2b 20 64 69 63 74 20 31 20 69    29 29 20 6c 29 0a 09 20 20 20 20 69 20 28 2b 20 | byte.(+.dict.1.i)).l)......i.(+. | 
| f0e0 | 31 20 69 29 29 29 0a 20 20 20 20 28 63 6c 2d 6d    61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 78 | 1.i))).....(cl-mapcan.(lambda.(x | 
| f100 | 29 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65    2d 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 | ).(malyon-encode-single-characte | 
| f120 | 72 20 6c 20 78 29 29 20 6c 69 73 74 29 29 29 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 | r.l.x)).list)))..(defun.malyon-t | 
| f140 | 65 78 74 2d 6c 65 6e 67 74 68 20 28 61 64 64 72    65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | ext-length.(address)..."Return.t | 
| f160 | 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65    20 69 6e 70 75 74 20 74 65 78 74 2e 22 0a 20 20 | he.length.of.the.input.text."... | 
| f180 | 28 69 66 20 28 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 | (if.(>=.malyon-story-version.5). | 
| f1a0 | 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 31 20 61 64 64 | ......(malyon-read-byte.(+.1.add | 
| f1c0 | 72 65 73 73 29 29 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 | ress)).....(let.((i.0)).......(w | 
| f1e0 | 68 69 6c 65 20 28 6e 6f 74 20 28 7a 65 72 6f 70    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 | hile.(not.(zerop.(malyon-read-by | 
| f200 | 74 65 20 28 2b 20 69 20 31 20 61 64 64 72 65 73    73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 | te.(+.i.1.address)))).........(s | 
| f220 | 65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a    20 20 20 20 20 20 69 29 29 29 0a 0a 28 64 65 66 | etq.i.(+.i.1))).......i)))..(def | 
| f240 | 75 6e 20 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 | un.malyon-text-to-character-list | 
| f260 | 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 43 6f    6e 76 65 72 74 20 74 68 65 20 69 6e 70 75 74 20 | .(address)..."Convert.the.input. | 
| f280 | 74 65 78 74 20 69 6e 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 | text.into.a.list.of.characters." | 
| f2a0 | 0a 20 20 28 6c 65 74 20 28 28 69 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67 | ...(let.((i....(malyon-text-leng | 
| f2c0 | 74 68 20 61 64 64 72 65 73 73 29 29 0a 20 20 20    20 20 20 20 20 28 74 65 78 74 20 27 28 29 29 29 | th.address)).........(text.'())) | 
| f2e0 | 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30    20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 | .....(while.(<.0.i).......(setq. | 
| f300 | 74 65 78 74 20 28 63 6f 6e 73 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f | text.(cons...................(co | 
| f320 | 6e 73 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 | ns.(if.(<.malyon-story-version.5 | 
| f340 | 29 20 69 20 28 2b 20 31 20 69 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).i.(+.1.i)).................... | 
| f360 | 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.......... | 
| f380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 2b 20 69 20 61 64 64 72 65 73 73 20 28 69 66 | ................(+.i.address.(if | 
| f3a0 | 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 30 20 31 29 | .(<.malyon-story-version.5).0.1) | 
| f3c0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 74 65 78 74 29 0a 20 20 20 20 | )))...................text)..... | 
| f3e0 | 20 20 20 20 20 20 20 20 69 20 20 20 20 28 2d 20    69 20 31 29 29 29 0a 20 20 20 20 74 65 78 74 29 | ........i....(-.i.1))).....text) | 
| f400 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 74 65 78 74 2d 74 6f 2d 77 6f 72 64 73 20 28 | )..(defun.malyon-text-to-words.( | 
| f420 | 61 64 64 72 65 73 73 20 64 69 63 74 69 6f 6e 61    72 79 29 0a 20 20 22 54 75 72 6e 20 7a 74 65 78 | address.dictionary)..."Turn.ztex | 
| f440 | 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66    20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 | t.into.a.list.of.dictionary.word | 
| f460 | 73 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 68    61 72 61 63 74 65 72 73 2d 74 6f 2d 77 6f 72 64 | s."...(malyon-characters-to-word | 
| f480 | 73 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63    6f 64 65 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 | s....(malyon-encode-character-li | 
| f4a0 | 73 74 20 28 69 66 20 64 69 63 74 69 6f 6e 61 72    79 20 64 69 63 74 69 6f 6e 61 72 79 20 6d 61 6c | st.(if.dictionary.dictionary.mal | 
| f4c0 | 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yon-dictionary)................. | 
| f4e0 | 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 74 65 78 74 2d 74 6f | .................(malyon-text-to | 
| f500 | 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20    61 64 64 72 65 73 73 29 29 29 29 0a 0a 3b 3b 20 | -character-list.address))))..;;. | 
| f520 | 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e    74 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f | window.management..(defvar.malyo | 
| f540 | 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 6e | n-status-buffer-grew-this-turn.n | 
| f560 | 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 73 69 67    6e 61 6c 6c 69 6e 67 20 69 66 20 74 68 65 20 73 | il..."A.flag.signalling.if.the.s | 
| f580 | 74 61 74 75 73 20 62 75 66 66 65 72 20 67 72 65    77 20 74 68 69 73 20 74 75 72 6e 2e 22 29 0a 0a | tatus.buffer.grew.this.turn.").. | 
| f5a0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 61 64    6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 20 | (defun.malyon-adjust-transcript. | 
| f5c0 | 28 29 0a 20 20 22 41 64 6a 75 73 74 20 74 68 65    20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 | ()..."Adjust.the.position.of.the | 
| f5e0 | 20 74 72 61 6e 73 63 72 69 70 74 20 74 65 78 74    2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 | .transcript.text."...(with-curre | 
| f600 | 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 2d 62 75 66 66 | nt-buffer.malyon-transcript-buff | 
| f620 | 65 72 0a 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 | er.....(setq.malyon-status-buffe | 
| f640 | 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e    20 6e 69 6c 29 0a 20 20 20 20 28 67 6f 74 6f 2d | r-grew-this-turn.nil).....(goto- | 
| f660 | 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 0a 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 | char.(point-max)).....(recenter. | 
| f680 | 28 2d 20 28 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 65 69 67 | (-.(malyon-window-displayed-heig | 
| f6a0 | 68 74 29 20 32 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65 | ht).2))))..(defun.malyon-prepare | 
| f6c0 | 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28    73 74 61 74 75 73 29 0a 20 20 22 46 69 6c 6c 20 | -status-buffer.(status)..."Fill. | 
| f6e0 | 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65    72 20 77 69 74 68 20 65 6d 70 74 79 20 6c 69 6e | the.status.buffer.with.empty.lin | 
| f700 | 65 73 2e 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 | es."...(with-current-buffer.maly | 
| f720 | 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72    0a 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 | on-status-buffer.....(let.((line | 
| f740 | 73 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e | s.(count-lines.(point-min).(poin | 
| f760 | 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 6e 65 77 20 20 20 73 74 61 74 75 73 | t-max)))...........(new...status | 
| f780 | 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65    72 6f 70 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 | )).......(if.(zerop.lines)...... | 
| f7a0 | 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | .....(newline.1)).......(goto-ch | 
| f7c0 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 | ar.(point-max)).......(setq.stat | 
| f7e0 | 75 73 20 28 2d 20 73 74 61 74 75 73 20 6c 69 6e    65 73 20 2d 31 29 29 0a 20 20 20 20 20 20 28 77 | us.(-.status.lines.-1)).......(w | 
| f800 | 68 69 6c 65 20 28 3e 20 73 74 61 74 75 73 20 30    29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 | hile.(>.status.0).........(inser | 
| f820 | 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 61 78 2d 63 | t.(make-string.(+.3.malyon-max-c | 
| f840 | 6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20    20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a | olumn).?.)).........(newline.1). | 
| f860 | 20 20 20 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 31 | ........(setq.status.(-.status.1 | 
| f880 | 29 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 69 6e 29 | ))).......(goto-char.(point-min) | 
| f8a0 | 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64    2d 6c 69 6e 65 20 28 2b 20 31 20 6e 65 77 29 29 | ).......(forward-line.(+.1.new)) | 
| f8c0 | 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67    69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 | .......(kill-region.(point).(poi | 
| f8e0 | 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28    69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 | nt-max)).......(insert.(make-str | 
| f900 | 69 6e 67 20 28 2b 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 | ing.(+.3.malyon-max-column).?.)) | 
| f920 | 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20    31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | .......(newline.1))))..(defun.ma | 
| f940 | 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 67 75 72 61 74 69 6f | lyon-restore-window-configuratio | 
| f960 | 6e 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20    74 68 65 20 73 61 76 65 64 20 77 69 6e 64 6f 77 | n.()..."Restore.the.saved.window | 
| f980 | 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22    0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 | .configuration."...(let.((buffer | 
| f9a0 | 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20    28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 | .(window-buffer.(selected-window | 
| f9c0 | 29 29 29 29 0a 20 20 20 20 28 69 66 20 6d 61 6c    79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 | )))).....(if.malyon-window-confi | 
| f9e0 | 67 75 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20    20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e | guration.........(set-window-con | 
| fa00 | 66 69 67 75 72 61 74 69 6f 6e 20 6d 61 6c 79 6f    6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 | figuration.malyon-window-configu | 
| fa20 | 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 28 63 6f    6e 64 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 | ration)).....(cond.((eq.malyon-s | 
| fa40 | 74 61 74 75 73 2d 62 75 66 66 65 72 20 62 75 66    66 65 72 29 20 20 20 20 20 28 6f 74 68 65 72 2d | tatus-buffer.buffer).....(other- | 
| fa60 | 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 20    20 20 20 20 20 28 28 65 71 20 6d 61 6c 79 6f 6e | window.1))...........((eq.malyon | 
| fa80 | 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66    65 72 20 62 75 66 66 65 72 29 20 28 67 6f 74 6f | -transcript-buffer.buffer).(goto | 
| faa0 | 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78    29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d | -char.(point-max))))))..(defun.m | 
| fac0 | 61 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 28 | alyon-set-window-configuration.( | 
| fae0 | 73 74 61 74 75 73 29 0a 20 20 22 53 65 74 20 75    70 20 74 68 65 20 6e 65 77 20 77 69 6e 64 6f 77 | status)..."Set.up.the.new.window | 
| fb00 | 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22    0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 73 74 61 | .configuration."...(cond.((<.sta | 
| fb20 | 74 75 73 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 29 0a | tus.malyon-status-buffer-lines). | 
| fb40 | 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 75 66 | .........(setq.malyon-status-buf | 
| fb60 | 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69    74 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 | fer-delayed-split.status)....... | 
| fb80 | 20 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 67 72 65 77 | ...(if.malyon-status-buffer-grew | 
| fba0 | 2d 74 68 69 73 2d 74 75 72 6e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | -this-turn..............(malyon- | 
| fbc0 | 6d 6f 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66    65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 | more-status-buffer))).........(( | 
| fbe0 | 3e 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d    73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 | >.status.malyon-status-buffer-li | 
| fc00 | 6e 65 73 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 | nes)..........(malyon-split-buff | 
| fc20 | 65 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75    73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 | er-windows.status)..........(set | 
| fc40 | 71 20 6d 61 6c 79 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 | q.malyon-status-buffer-grew-this | 
| fc60 | 2d 74 75 72 6e 20 74 29 29 0a 20 20 20 20 20 20    20 20 28 28 6e 6f 74 20 6d 61 6c 79 6f 6e 2d 77 | -turn.t)).........((not.malyon-w | 
| fc80 | 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74    69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6d | indow-configuration)..........(m | 
| fca0 | 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 73 74 61 74 75 | alyon-split-buffer-windows.statu | 
| fcc0 | 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 | s))))..(defun.malyon-split-buffe | 
| fce0 | 72 2d 77 69 6e 64 6f 77 73 20 28 73 74 61 74 75    73 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 | r-windows.(status)..."Split.the. | 
| fd00 | 62 75 66 66 65 72 20 77 69 6e 64 6f 77 73 2e 0a    54 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 | buffer.windows..The.status.buffe | 
| fd20 | 72 20 67 65 74 73 20 27 73 74 61 74 75 73 27 20    6c 69 6e 65 73 20 77 68 69 6c 65 20 74 68 65 20 | r.gets.'status'.lines.while.the. | 
| fd40 | 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65    72 0a 67 65 74 73 20 74 68 65 20 72 65 6d 61 69 | transcript.buffer.gets.the.remai | 
| fd60 | 6e 69 6e 67 20 6c 69 6e 65 73 2e 22 0a 20 20 28    64 65 6c 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e | ning.lines."...(delete-other-win | 
| fd80 | 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 72 72 65 6e 74 | dows.(get-buffer-window.(current | 
| fda0 | 2d 62 75 66 66 65 72 29 29 29 0a 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 | -buffer)))...(setq.malyon-status | 
| fdc0 | 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 73 74    61 74 75 73 29 0a 20 20 28 73 65 74 71 20 6d 61 | -buffer-lines.status)...(setq.ma | 
| fde0 | 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 | 
| fe00 | 20 6e 69 6c 29 0a 20 20 28 69 66 20 28 7a 65 72    6f 70 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 | .nil)...(if.(zerop.status)...... | 
| fe20 | 20 27 28 29 0a 20 20 20 20 28 73 70 6c 69 74 2d    77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 | .'().....(split-window.(get-buff | 
| fe40 | 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 29 29 20 73 74 61 74 | er-window.(current-buffer)).stat | 
| fe60 | 75 73 29 0a 20 20 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 | us).....(switch-to-buffer.malyon | 
| fe80 | 2d 73 74 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 70 72 65 70 | -status-buffer).....(malyon-prep | 
| fea0 | 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 6d | are-status-buffer.status).....(m | 
| fec0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74    2d 63 75 72 73 6f 72 20 31 20 31 29 0a 20 20 20 | alyon-opcode-set-cursor.1.1).... | 
| fee0 | 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31    29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d | .(other-window.1))...(switch-to- | 
| ff00 | 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) | 
| ff20 | 0a 20 20 28 73 65 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 | ...(setq.malyon-window-configura | 
| ff40 | 74 69 6f 6e 20 28 63 75 72 72 65 6e 74 2d 77 69    6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 | tion.(current-window-configurati | 
| ff60 | 6f 6e 29 29 29 0a 0a 3b 3b 20 67 65 74 74 69 6e    67 20 61 6e 64 20 73 65 74 74 69 6e 67 20 74 68 | on)))..;;.getting.and.setting.th | 
| ff80 | 65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 | e.machine.state..(defun.malyon-c | 
| ffa0 | 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74    65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | urrent-game-state.()..."Return.t | 
| ffc0 | 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65    20 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 | he.current.state.of.the.interpre | 
| ffe0 | 74 65 72 2e 22 0a 20 20 28 76 65 63 74 6f 72 20    6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 | ter."...(vector.malyon-instructi | 
| 10000 | 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 | on-pointer...........malyon-stac | 
| 10020 | 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 | k-pointer...........malyon-frame | 
| 10040 | 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20    20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 | -pointer...........(copy-sequenc | 
| 10060 | 65 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 0a    20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d | e.malyon-stack)...........(copy- | 
| 10080 | 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 0a 20 20 20 20 | sequence.malyon-story-file)..... | 
| 100a0 | 20 20 20 20 20 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 29 | ......malyon-game-state-quetzal) | 
| 100c0 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 | )..(defun.malyon-set-game-state. | 
| 100e0 | 28 73 74 61 74 65 29 0a 20 20 22 49 6e 73 74 61    6c 6c 73 20 74 68 65 20 67 69 76 65 6e 20 73 74 | (state)..."Installs.the.given.st | 
| 10100 | 61 74 65 20 61 73 20 74 68 65 20 6e 65 77 20 73    74 61 74 65 20 6f 66 20 74 68 65 20 69 6e 74 65 | ate.as.the.new.state.of.the.inte | 
| 10120 | 72 70 72 65 74 65 72 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 | rpreter."...(setq.malyon-instruc | 
| 10140 | 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 20 20 20    20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 | tion-pointer.......(aref.state.0 | 
| 10160 | 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 65 72 20 | ))...(setq.malyon-stack-pointer. | 
| 10180 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65    66 20 73 74 61 74 65 20 31 29 29 0a 20 20 28 73 | ............(aref.state.1))...(s | 
| 101a0 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65    2d 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 | etq.malyon-frame-pointer........ | 
| 101c0 | 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65    20 32 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c | .....(aref.state.2))...(setq.mal | 
| 101e0 | 79 6f 6e 2d 73 74 61 63 6b 20 28 63 6f 70 79 2d    73 65 71 75 65 6e 63 65 20 20 20 20 20 20 28 61 | yon-stack.(copy-sequence......(a | 
| 10200 | 72 65 66 20 73 74 61 74 65 20 33 29 29 29 0a 20    20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 | ref.state.3)))...(setq.malyon-st | 
| 10220 | 6f 72 79 2d 66 69 6c 65 20 28 63 6f 70 79 2d 73    65 71 75 65 6e 63 65 20 28 61 72 65 66 20 73 74 | ory-file.(copy-sequence.(aref.st | 
| 10240 | 61 74 65 20 34 29 29 29 0a 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 | ate.4)))...(setq.malyon-game-sta | 
| 10260 | 74 65 2d 71 75 65 74 7a 61 6c 20 20 20 20 20 20    20 20 28 61 72 65 66 20 73 74 61 74 65 20 35 29 | te-quetzal........(aref.state.5) | 
| 10280 | 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 20 20 6d 61 6c 79 6f 6e | )...(with-current-buffer..malyon | 
| 102a0 | 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 | -status-buffer.....(malyon-erase | 
| 102c0 | 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 20 | -buffer.malyon-status-buffer)... | 
| 102e0 | 20 20 28 6d 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 30 | ..(malyon-split-buffer-windows.0 | 
| 10300 | 29 0a 20 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 | ).....(setq.malyon-last-cursor-p | 
| 10320 | 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 20 20 20 20 28 6d | osition-after-input...........(m | 
| 10340 | 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 63 72 69 70 | alyon-point-max.malyon-transcrip | 
| 10360 | 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b    20 66 69 6c 65 20 75 74 69 6c 69 74 69 65 73 0a | t-buffer))))..;;.file.utilities. | 
| 10380 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f    6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d | .(defsubst.malyon-write-byte-to- | 
| 103a0 | 66 69 6c 65 20 28 62 79 74 65 29 0a 20 20 22 57    72 69 74 65 20 61 20 62 79 74 65 20 74 6f 20 61 | file.(byte)..."Write.a.byte.to.a | 
| 103c0 | 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72    74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 | .file."...(insert-char.(logand.2 | 
| 103e0 | 35 35 20 62 79 74 65 29 20 31 29 29 0a 0a 28 64    65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 | 55.byte).1))..(defsubst.malyon-w | 
| 10400 | 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c    65 20 28 77 6f 72 64 29 0a 20 20 22 57 72 69 74 | rite-word-to-file.(word)..."Writ | 
| 10420 | 65 20 61 20 77 6f 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 | e.a.word.to.the.last.opened.file | 
| 10440 | 2e 22 0a 20 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 28 6c | ."...(insert-char.(logand.255.(l | 
| 10460 | 73 68 20 77 6f 72 64 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 | sh.word.-8)).1)...(insert-char.( | 
| 10480 | 6c 6f 67 61 6e 64 20 32 35 35 20 77 6f 72 64 29    20 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 | logand.255.word).1))..(defsubst. | 
| 104a0 | 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 28 64 77 6f 72 | malyon-write-dword-to-file.(dwor | 
| 104c0 | 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 64 77    6f 72 64 20 74 6f 20 74 68 65 20 6c 61 73 74 20 | d)..."Write.a.dword.to.the.last. | 
| 104e0 | 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 20 28 6c 6f | opened.file."...(insert-char.(lo | 
| 10500 | 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77    6f 72 64 20 2d 32 34 29 29 20 31 29 0a 20 20 28 | gand.255.(lsh.dword.-24)).1)...( | 
| 10520 | 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 | 
| 10540 | 72 64 20 2d 31 36 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.-16)).1)...(insert-char.(loga | 
| 10560 | 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72    64 20 2d 38 29 29 20 31 29 0a 20 20 28 69 6e 73 | nd.255.(lsh.dword.-8)).1)...(ins | 
| 10580 | 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64    20 32 35 35 20 64 77 6f 72 64 29 20 31 29 29 0a | ert-char.(logand.255.dword).1)). | 
| 105a0 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f    6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 | .(defsubst.malyon-write-chunk-id | 
| 105c0 | 2d 74 6f 2d 66 69 6c 65 20 28 69 64 29 0a 20 20    22 57 72 69 74 65 20 61 20 71 75 65 74 7a 61 6c | -to-file.(id)..."Write.a.quetzal | 
| 105e0 | 20 63 68 75 6e 6b 20 69 64 20 74 6f 20 74 68 65    20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c | .chunk.id.to.the.last.opened.fil | 
| 10600 | 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 20 69 64    29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | e."...(insert.id))..(defsubst.ma | 
| 10620 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66    72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 | lyon-read-byte-from-file.()..."R | 
| 10640 | 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74    65 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a | ead.the.next.byte.from.a.file.". | 
| 10660 | 20 20 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 | ..(if.(=.(point).(point-max))... | 
| 10680 | 20 20 20 20 30 0a 20 20 20 20 28 66 6f 72 77 61    72 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28 | ....0.....(forward-char.1).....( | 
| 106a0 | 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69    6e 74 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 | malyon-char-to-int.(char-before) | 
| 106c0 | 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 2d | )))..(defsubst.malyon-read-word- | 
| 106e0 | 66 72 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 77 6f | from-file.()..."Read.the.next.wo | 
| 10700 | 72 64 20 66 72 6f 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 | rd.from.the.last.opened.file.".. | 
| 10720 | 20 28 6c 6f 67 69 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 | .(logior.(lsh.(malyon-read-byte- | 
| 10740 | 66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d | from-file).8).(malyon-read-byte- | 
| 10760 | 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 6f 6e 2d 72 | from-file)))..(defsubst.malyon-r | 
| 10780 | 65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66    69 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 | ead-dword-from-file.()..."Read.t | 
| 107a0 | 68 65 20 6e 65 78 74 20 64 77 6f 72 64 20 66 72    6f 6d 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e | he.next.dword.from.the.last.open | 
| 107c0 | 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 6c 79 6f 6e | ed.file."...(logior.(lsh.(malyon | 
| 107e0 | 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d    66 69 6c 65 29 20 32 34 29 0a 20 20 20 20 20 20 | -read-byte-from-file).24)....... | 
| 10800 | 20 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 | ....(lsh.(malyon-read-byte-from- | 
| 10820 | 66 69 6c 65 29 20 31 36 29 0a 20 20 20 20 20 20    20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e | file).16)...........(lsh.(malyon | 
| 10840 | 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 20 | -read-byte-from-file).8)........ | 
| 10860 | 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)) | 
| 10880 | 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 68 75 6e 6b 2d 69 | )..(defsubst.malyon-read-chunk-i | 
| 108a0 | 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20    20 22 52 65 61 64 20 61 20 71 75 65 74 7a 61 6c | d-from-file.()..."Read.a.quetzal | 
| 108c0 | 20 63 68 75 6e 6b 20 69 64 20 66 72 6f 6d 20 74    68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 | .chunk.id.from.the.last.opened.f | 
| 108e0 | 69 6c 65 2e 22 0a 20 20 28 73 74 72 69 6e 67 20    28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 | ile."...(string.(malyon-int-to-c | 
| 10900 | 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 6c 65 29 | har.(malyon-read-byte-from-file) | 
| 10920 | 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 6f 2d 63 68 61 72 20 | )...........(malyon-int-to-char. | 
| 10940 | 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 0a 20 20 | (malyon-read-byte-from-file))... | 
| 10960 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c | ........(malyon-int-to-char.(mal | 
| 10980 | 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 0a 20 20 20 20 20 20 | yon-read-byte-from-file))....... | 
| 109a0 | 20 20 20 20 28 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 | ....(malyon-int-to-char.(malyon- | 
| 109c0 | 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66    69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | read-byte-from-file))))..(defun. | 
| 109e0 | 6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d    6e 61 6d 65 20 28 61 64 64 72 65 73 73 29 0a 20 | malyon-get-file-name.(address).. | 
| 10a00 | 20 22 52 65 74 72 69 65 76 65 73 20 74 68 65 20    66 69 6c 65 20 6e 61 6d 65 20 73 74 6f 72 65 64 | ."Retrieves.the.file.name.stored | 
| 10a20 | 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20    28 6c 65 74 20 28 28 6e 61 6d 65 20 28 6d 61 6b | .at.address."...(let.((name.(mak | 
| 10a40 | 65 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 | e-string.(malyon-read-byte.addre | 
| 10a60 | 73 73 29 20 3f 20 29 29 0a 20 20 20 20 20 20 20    20 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 28 | ss).?.)).........(i....0)).....( | 
| 10a80 | 77 68 69 6c 65 20 28 3c 20 69 20 28 6c 65 6e 67    74 68 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 | while.(<.i.(length.name))....... | 
| 10aa0 | 28 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 20 28 | (aset.name.i.(malyon-read-byte.( | 
| 10ac0 | 2b 20 61 64 64 72 65 73 73 20 31 20 69 29 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 | +.address.1.i))).......(setq.i.( | 
| 10ae0 | 2b 20 31 20 69 29 29 29 0a 20 20 20 20 6e 61 6d    65 29 29 0a 0a 3b 3b 20 73 61 76 69 6e 67 20 64 | +.1.i))).....name))..;;.saving.d | 
| 10b00 | 61 74 61 20 74 6f 20 64 69 73 6b 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d | ata.to.disk..(defun.malyon-save- | 
| 10b20 | 66 69 6c 65 20 28 66 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 | file.(file.&optional.table.lengt | 
| 10b40 | 68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63    75 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74 | h)..."Save.the.current.game.stat | 
| 10b60 | 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 73 65    63 74 69 6f 6e 20 74 6f 20 64 69 73 6b 2e 22 0a | e.or.a.memory.section.to.disk.". | 
| 10b80 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    46 53 61 76 65 20 66 69 6c 65 3a 20 22 29 0a 20 | ..(interactive."FSave.file:.").. | 
| 10ba0 | 20 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 28 6c 65 74 20 | .(condition-case.nil.......(let. | 
| 10bc0 | 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d    66 6f 72 2d 77 72 69 74 65 20 27 62 69 6e 61 72 | ((coding-system-for-write.'binar | 
| 10be0 | 79 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74    68 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65 | y)).........(with-temp-file.file | 
| 10c00 | 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79    6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 | ...........(malyon-disable-multi | 
| 10c20 | 62 79 74 65 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 | byte)...........(malyon-erase-bu | 
| 10c40 | 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20    28 63 6f 6e 64 20 28 74 61 62 6c 65 20 28 6d 61 | ffer)...........(cond.(table.(ma | 
| 10c60 | 6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20    74 61 62 6c 65 20 6c 65 6e 67 74 68 29 29 0a 20 | lyon-save-table.table.length)).. | 
| 10c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 | ...............(malyon-game-stat | 
| 10ca0 | 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | e-quetzal..................(maly | 
| 10cc0 | 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d    73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 63 75 | on-save-quetzal-state.(malyon-cu | 
| 10ce0 | 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rrent-game-state)))............. | 
| 10d00 | 20 20 20 20 28 74 0a 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 | ....(t..................(malyon- | 
| 10d20 | 73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20    28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d | save-game-state.(malyon-current- | 
| 10d40 | 67 61 6d 65 2d 73 74 61 74 65 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 31 29 29 0a 20 20 20 | game-state))))...........1)).... | 
| 10d60 | 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 | ...(error.0)))..(defun.malyon-sa | 
| 10d80 | 76 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 53 61 76 65 20 | ve-table.(table.length)..."Save. | 
| 10da0 | 74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f    6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 74 | the.given.section.of.memory.to.t | 
| 10dc0 | 68 65 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 | he.file."...(let.((i.0)......... | 
| 10de0 | 28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28    77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74 | (j.table)).....(while.(<.i.lengt | 
| 10e00 | 68 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 66 | h).......(malyon-write-byte-to-f | 
| 10e20 | 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 62 79 74 65 20 6a 29 29 0a 20 20 20 20 20 20 | ile.(malyon-read-byte.j))....... | 
| 10e40 | 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b | (setq.i.(+.1.i).............j.(+ | 
| 10e60 | 20 31 20 6a 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 2d 67 61 | .1.j)))))..(defun.malyon-save-ga | 
| 10e80 | 6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29    0a 20 20 22 53 61 76 65 73 20 74 68 65 20 67 61 | me-state.(state)..."Saves.the.ga | 
| 10ea0 | 6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b    2e 22 0a 20 20 28 6c 65 74 20 28 28 69 70 20 20 | me.state.to.disk."...(let.((ip.. | 
| 10ec0 | 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29    29 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20 | ..(aref.state.0)).........(sp... | 
| 10ee0 | 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 29    0a 20 20 20 20 20 20 20 20 28 66 70 20 20 20 20 | .(aref.state.1)).........(fp.... | 
| 10f00 | 28 61 72 65 66 20 73 74 61 74 65 20 32 29 29 0a    20 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28 | (aref.state.2)).........(stack.( | 
| 10f20 | 61 72 65 66 20 73 74 61 74 65 20 33 29 29 0a 20    20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 61 | aref.state.3)).........(mem...(a | 
| 10f40 | 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 20    20 20 20 20 20 20 28 64 79 6e 20 20 20 28 6d 61 | ref.state.4)).........(dyn...(ma | 
| 10f60 | 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31    34 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 | lyon-read-word.14)).........(i.. | 
| 10f80 | 20 20 20 30 29 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 | ...0)).....(malyon-write-word-to | 
| 10fa0 | 2d 66 69 6c 65 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 | -file.(length.malyon-story-file- | 
| 10fc0 | 6e 61 6d 65 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 68 20 6d | name)).....(while.(<.i.(length.m | 
| 10fe0 | 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 20 20 20 20 28 6d | alyon-story-file-name)).......(m | 
| 11000 | 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 20 6d | alyon-write-byte-to-file.(aref.m | 
| 11020 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    2d 6e 61 6d 65 20 69 29 29 0a 20 20 20 20 20 20 | alyon-story-file-name.i))....... | 
| 11040 | 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29    29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 | (setq.i.(+.1.i))).....(malyon-wr | 
| 11060 | 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c    65 20 69 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f | ite-dword-to-file.ip).....(malyo | 
| 11080 | 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d    66 69 6c 65 20 20 73 70 29 0a 20 20 20 20 28 6d | n-write-word-to-file..sp).....(m | 
| 110a0 | 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 20 66 70 29 0a 20 20 | alyon-write-word-to-file..fp)... | 
| 110c0 | 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 20 64 79 | ..(malyon-write-word-to-file..dy | 
| 110e0 | 6e 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 3d | n).....(setq.i.0).....(while.(<= | 
| 11100 | 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 | .i.sp).......(malyon-write-dword | 
| 11120 | 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 73    74 61 63 6b 20 69 29 29 0a 20 20 20 20 20 20 28 | -to-file.(aref.stack.i)).......( | 
| 11140 | 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29    0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a | setq.i.(+.1.i))).....(setq.i.0). | 
| 11160 | 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20    64 79 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 | ....(while.(<.i.dyn).......(maly | 
| 11180 | 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 20 6d 65 6d 20 | on-write-byte-to-file.(aref.mem. | 
| 111a0 | 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 29 29 0a 0a 28 | i)).......(setq.i.(+.1.i)))))..( | 
| 111c0 | 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 74 61 74 65 20 | defun.malyon-save-quetzal-state. | 
| 111e0 | 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73    20 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20 | (state)..."Saves.the.game.state. | 
| 11200 | 74 6f 20 64 69 73 6b 20 69 6e 20 71 75 65 74 7a    61 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 67 | to.disk.in.quetzal.format."...(g | 
| 11220 | 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d    6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d | oto-char.(point-min))...(malyon- | 
| 11240 | 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68    64 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79 | save-quetzal-ifhd.state)...(maly | 
| 11260 | 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d    63 6d 65 6d 20 73 74 61 74 65 29 0a 20 20 28 6d | on-save-quetzal-cmem.state)...(m | 
| 11280 | 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a    61 6c 2d 73 74 6b 73 20 73 74 61 74 65 29 0a 20 | alyon-save-quetzal-stks.state).. | 
| 112a0 | 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 20 20 28 6d 61 6c 79 | .(goto-char.(point-min))...(maly | 
| 112c0 | 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 20 22 49 46 5a 53 22 | on-write-chunk-id-to-file."IFZS" | 
| 112e0 | 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 20 20 28 6d | )...(goto-char.(point-min))...(m | 
| 11300 | 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 28 2d 20 28 70 6f | alyon-write-dword-to-file.(-.(po | 
| 11320 | 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d    6d 69 6e 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63 | int-max).(point-min)))...(goto-c | 
| 11340 | 68 61 72 20 28 70 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 | har.(point-min))...(malyon-write | 
| 11360 | 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c    65 20 22 46 4f 52 4d 22 29 29 0a 0a 28 64 65 66 | -chunk-id-to-file."FORM"))..(def | 
| 11380 | 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71    75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 74 61 | un.malyon-save-quetzal-ifhd.(sta | 
| 113a0 | 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65    20 49 46 68 64 20 63 68 75 6e 6b 20 6f 66 20 74 | te)..."Saves.the.IFhd.chunk.of.t | 
| 113c0 | 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61    74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 | he.quetzal.format."...(malyon-wr | 
| 113e0 | 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d    66 69 6c 65 20 22 49 46 68 64 22 29 0a 20 20 28 | ite-chunk-id-to-file."IFhd")...( | 
| 11400 | 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 31 33 29 0a 20 | malyon-write-dword-to-file.13).. | 
| 11420 | 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 61 6c | .(malyon-write-word-to-file.(mal | 
| 11440 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 29    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 | yon-read-word.2))...(malyon-writ | 
| 11460 | 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 6f 72 64 | e-word-to-file.(malyon-read-word | 
| 11480 | 20 31 38 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 2d 66 69 | .18))...(malyon-write-word-to-fi | 
| 114a0 | 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    77 6f 72 64 20 32 30 29 29 0a 20 20 28 6d 61 6c | le.(malyon-read-word.20))...(mal | 
| 114c0 | 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 6e 2d 72 | yon-write-word-to-file.(malyon-r | 
| 114e0 | 65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f | ead-word.22))...(malyon-write-wo | 
| 11500 | 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 38 29 | rd-to-file.(malyon-read-word.28) | 
| 11520 | 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 66 69 6c 65 20 28 | )...(malyon-write-byte-to-file.( | 
| 11540 | 6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20    30 29 20 2d 31 36 29 29 0a 20 20 28 6d 61 6c 79 | lsh.(aref.state.0).-16))...(maly | 
| 11560 | 6f 6e 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 28 61 72 65 66 | on-write-byte-to-file.(lsh.(aref | 
| 11580 | 20 73 74 61 74 65 20 30 29 20 2d 38 29 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 | .state.0).-8))...(malyon-write-b | 
| 115a0 | 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65    66 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 6d | yte-to-file.(aref.state.0))...(m | 
| 115c0 | 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 30 29 29 0a 0a 28 64 | alyon-write-byte-to-file.0))..(d | 
| 115e0 | 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 63 6d 65 6d 20 28 73 | efun.malyon-save-quetzal-cmem.(s | 
| 11600 | 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74    68 65 20 43 4d 65 6d 20 63 68 75 6e 6b 20 6f 66 | tate)..."Saves.the.CMem.chunk.of | 
| 11620 | 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 | 
| 11640 | 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 6f | eginning.(point-max)).........(o | 
| 11660 | 72 69 67 69 6e 61 6c 20 20 28 61 72 65 66 20 6d    61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 | riginal..(aref.malyon-game-state | 
| 11680 | 2d 72 65 73 74 61 72 74 20 34 29 29 0a 20 20 20    20 20 20 20 20 28 63 75 72 72 65 6e 74 20 20 20 | -restart.4)).........(current... | 
| 116a0 | 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a    20 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 | (aref.state.4)).........(size... | 
| 116c0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    77 6f 72 64 20 31 34 29 29 0a 20 20 20 20 20 20 | ...(malyon-read-word.14))....... | 
| 116e0 | 20 20 28 62 79 74 65 20 20 20 20 20 20 30 29 0a    20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 20 | ..(byte......0).........(count.. | 
| 11700 | 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69    20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 | ...0).........(i.........0)).... | 
| 11720 | 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 28 77 68 | .(goto-char.(point-max)).....(wh | 
| 11740 | 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20 | ile.(<.i.size).......(setq.byte. | 
| 11760 | 28 6c 6f 67 78 6f 72 20 28 61 72 65 66 20 63 75    72 72 65 6e 74 20 69 29 20 28 61 72 65 66 20 6f | (logxor.(aref.current.i).(aref.o | 
| 11780 | 72 69 67 69 6e 61 6c 20 69 29 29 29 0a 20 20 20    20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 79 | riginal.i))).......(if.(zerop.by | 
| 117a0 | 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 63 6f 75 6e 74 20 28 2b 20 31 20 63 | te)...........(setq.count.(+.1.c | 
| 117c0 | 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28    77 68 69 6c 65 20 28 3e 20 63 6f 75 6e 74 20 30 | ount)).........(while.(>.count.0 | 
| 117e0 | 29 0a 20 20 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 | 
| 11800 | 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 | o-file.0)...........(setq.count. | 
| 11820 | 28 2d 20 63 6f 75 6e 74 20 31 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 | (-.count.1))...........(malyon-w | 
| 11840 | 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c    65 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 | rite-byte-to-file.(min.255.count | 
| 11860 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e | ))...........(setq.count.(-.coun | 
| 11880 | 74 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74    29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 | t.(min.255.count)))).........(ma | 
| 118a0 | 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d    74 6f 2d 66 69 6c 65 20 62 79 74 65 29 29 0a 20 | lyon-write-byte-to-file.byte)).. | 
| 118c0 | 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 28 73 65 74 71 | .....(setq.i.(+.1.i))).....(setq | 
| 118e0 | 20 73 69 7a 65 20 28 2d 20 28 70 6f 69 6e 74 2d    6d 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 | .size.(-.(point-max).beginning)) | 
| 11900 | 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20    28 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28 | .....(if.(zerop.(mod.size.2)).'( | 
| 11920 | 29 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 30 29 29 | ).(malyon-write-byte-to-file.0)) | 
| 11940 | 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28 | .....(goto-char.beginning).....( | 
| 11960 | 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 20 22 43 | malyon-write-chunk-id-to-file."C | 
| 11980 | 4d 65 6d 22 29 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 | Mem").....(malyon-write-dword-to | 
| 119a0 | 2d 66 69 6c 65 20 73 69 7a 65 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 | -file.size)))..(defun.malyon-sav | 
| 119c0 | 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28    73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 | e-quetzal-stks.(state)..."Saves. | 
| 119e0 | 74 68 65 20 53 74 6b 73 20 63 68 75 6e 6b 20 6f    66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f | the.Stks.chunk.of.the.quetzal.fo | 
| 11a00 | 72 6d 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 | rmat."...(let.((beginning.(point | 
| 11a20 | 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28    73 69 7a 65 20 20 20 20 20 20 30 29 29 0a 20 20 | -max)).........(size......0))... | 
| 11a40 | 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 28 6d | ..(goto-char.(point-max)).....(m | 
| 11a60 | 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a    61 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 | alyon-save-quetzal-stack-frame.( | 
| 11a80 | 2d 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29    20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -.(aref.state.2).4)............. | 
| 11aa0 | 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 66 20 73 | .........................(aref.s | 
| 11ac0 | 74 61 74 65 20 31 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 | tate.1)......................... | 
| 11ae0 | 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 33 29 29 0a 20 20 20 | .............(aref.state.3)).... | 
| 11b00 | 20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28    70 6f 69 6e 74 2d 6d 61 78 29 20 62 65 67 69 6e | .(setq.size.(-.(point-max).begin | 
| 11b20 | 6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28    7a 65 72 6f 70 20 28 6d 6f 64 20 73 69 7a 65 20 | ning)).....(if.(zerop.(mod.size. | 
| 11b40 | 32 29 29 20 27 28 29 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 | 2)).'().(malyon-write-byte-to-fi | 
| 11b60 | 6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f    2d 63 68 61 72 20 62 65 67 69 6e 6e 69 6e 67 29 | le.0)).....(goto-char.beginning) | 
| 11b80 | 0a 20 20 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 | 
| 11ba0 | 69 6c 65 20 22 53 74 6b 73 22 29 0a 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 | ile."Stks").....(malyon-write-dw | 
| 11bc0 | 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65    29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | ord-to-file.size)))..(defun.maly | 
| 11be0 | 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d    73 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20 | on-save-quetzal-stack-frame.(fp. | 
| 11c00 | 73 70 20 73 74 61 63 6b 29 0a 20 20 22 53 61 76    65 73 20 74 68 65 20 73 74 61 63 6b 20 66 72 61 | sp.stack)..."Saves.the.stack.fra | 
| 11c20 | 6d 65 73 20 66 6f 72 20 74 68 65 20 53 74 6b 73    20 63 68 75 6e 6b 2e 22 0a 20 20 28 6c 65 74 2a | mes.for.the.Stks.chunk."...(let* | 
| 11c40 | 20 28 28 66 72 61 6d 65 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 67 65 74 2d 73 74 61 63 6b | .((frame.......(malyon-get-stack | 
| 11c60 | 2d 66 72 61 6d 65 20 66 70 20 73 70 20 73 74 61    63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 | -frame.fp.sp.stack))..........(f | 
| 11c80 | 72 61 6d 65 2d 69 64 20 20 20 20 28 61 72 65 66    20 66 72 61 6d 65 20 30 29 29 0a 20 20 20 20 20 | rame-id....(aref.frame.0))...... | 
| 11ca0 | 20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 66 70    20 28 61 72 65 66 20 66 72 61 6d 65 20 31 29 29 | ....(previous-fp.(aref.frame.1)) | 
| 11cc0 | 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69    6f 75 73 2d 73 70 20 28 61 72 65 66 20 66 72 61 | ..........(previous-sp.(aref.fra | 
| 11ce0 | 6d 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20    28 72 65 74 75 72 6e 2d 61 64 64 72 20 28 61 72 | me.2))..........(return-addr.(ar | 
| 11d00 | 65 66 20 66 72 61 6d 65 20 33 29 29 0a 20 20 20    20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 | ef.frame.3))..........(result-ad | 
| 11d20 | 64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 34    29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63 | dr.(aref.frame.4))..........(loc | 
| 11d40 | 61 6c 2d 76 61 72 73 20 20 28 61 72 65 66 20 66    72 61 6d 65 20 35 29 29 0a 20 20 20 20 20 20 20 | al-vars..(aref.frame.5))........ | 
| 11d60 | 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 28    61 72 65 66 20 66 72 61 6d 65 20 36 29 29 0a 20 | ..(num-args....(aref.frame.6)).. | 
| 11d80 | 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74    61 63 6b 20 20 28 61 72 65 66 20 66 72 61 6d 65 | ........(eval-stack..(aref.frame | 
| 11da0 | 20 37 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e    20 66 72 61 6d 65 2d 69 64 20 30 29 0a 20 20 20 | .7))).....(if.(>.frame-id.0).... | 
| 11dc0 | 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 74 61 63 6b 2d | .....(malyon-save-quetzal-stack- | 
| 11de0 | 66 72 61 6d 65 20 70 72 65 76 69 6f 75 73 2d 66    70 20 70 72 65 76 69 6f 75 73 2d 73 70 20 73 74 | frame.previous-fp.previous-sp.st | 
| 11e00 | 61 63 6b 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 74 6f 2d | ack)).....(malyon-write-byte-to- | 
| 11e20 | 66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e    2d 61 64 64 72 20 2d 31 36 29 29 0a 20 20 20 20 | file.(lsh.return-addr.-16))..... | 
| 11e40 | 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 6c 73 68 20 | (malyon-write-byte-to-file.(lsh. | 
| 11e60 | 72 65 74 75 72 6e 2d 61 64 64 72 20 2d 38 29 29    0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 | return-addr.-8)).....(malyon-wri | 
| 11e80 | 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20    72 65 74 75 72 6e 2d 61 64 64 72 29 0a 20 20 20 | te-byte-to-file.return-addr).... | 
| 11ea0 | 20 28 69 66 20 28 7a 65 72 6f 70 20 66 72 61 6d    65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 28 6d | .(if.(zerop.frame-id).........(m | 
| 11ec0 | 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 30 29 0a 20 20 20 20 | alyon-write-byte-to-file.0)..... | 
| 11ee0 | 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 28 6c 6f | ..(malyon-write-byte-to-file.(lo | 
| 11f00 | 67 69 6f 72 20 28 69 66 20 72 65 73 75 6c 74 2d    61 64 64 72 20 30 20 31 36 29 0a 20 20 20 20 20 | gior.(if.result-addr.0.16)...... | 
| 11f20 | 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 | ................................ | 
| 11f40 | 20 20 20 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61    6c 2d 76 61 72 73 29 29 29 29 0a 20 20 20 20 28 | ....(length.local-vars)))).....( | 
| 11f60 | 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 69 66 20 72 65 | malyon-write-byte-to-file.(if.re | 
| 11f80 | 73 75 6c 74 2d 61 64 64 72 20 72 65 73 75 6c 74    2d 61 64 64 72 20 30 29 29 0a 20 20 20 20 28 6d | sult-addr.result-addr.0)).....(m | 
| 11fa0 | 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 2d 20 28 6c 73 68 | alyon-write-byte-to-file.(-.(lsh | 
| 11fc0 | 20 31 20 6e 75 6d 2d 61 72 67 73 29 20 31 29 29    0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 | .1.num-args).1)).....(malyon-wri | 
| 11fe0 | 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20    28 6c 65 6e 67 74 68 20 65 76 61 6c 2d 73 74 61 | te-word-to-file.(length.eval-sta | 
| 12000 | 63 6b 29 29 0a 20 20 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 | ck)).....(while.(not.(null.local | 
| 12020 | 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 | -vars)).......(malyon-write-word | 
| 12040 | 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 6c 6f    63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 | -to-file.(car.local-vars))...... | 
| 12060 | 20 28 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 | .(setq.local-vars.(cdr.local-var | 
| 12080 | 73 29 29 29 0a 20 20 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 | s))).....(while.(not.(null.eval- | 
| 120a0 | 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 | stack)).......(malyon-write-word | 
| 120c0 | 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 65 76    61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 | -to-file.(car.eval-stack))...... | 
| 120e0 | 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 | 
| 12100 | 6b 29 29 29 29 29 0a 0a 3b 3b 20 72 65 73 74 6f    72 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 64 | k)))))..;;.restoring.data.from.d | 
| 12120 | 69 73 6b 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c    79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 | isk..(defvar.malyon-restore-data | 
| 12140 | 2d 65 72 72 6f 72 20 6e 69 6c 0a 20 20 22 41 6e    20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 | -error.nil..."An.error.message.i | 
| 12160 | 66 20 72 65 73 74 6f 72 69 6e 67 20 64 61 74 61    20 66 72 6f 6d 20 61 20 66 69 6c 65 20 66 61 69 | f.restoring.data.from.a.file.fai | 
| 12180 | 6c 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20    6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 | led.")..(defvar.malyon-restore-q | 
| 121a0 | 75 65 74 7a 61 6c 2d 73 74 61 63 6b 20 6e 69 6c    0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 | uetzal-stack.nil..."A.temporary. | 
| 121c0 | 73 74 61 63 6b 20 66 6f 72 20 72 65 73 74 6f 72    69 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 | stack.for.restoring.quetzal.game | 
| 121e0 | 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 73 74 6f | .states.")..(defvar.malyon-resto | 
| 12200 | 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b    2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 | re-quetzal-stack-pointer.nil..." | 
| 12220 | 41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63    6b 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 72 65 | A.temporary.stack.pointer.for.re | 
| 12240 | 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 29 0a 0a | storing.quetzal.game.states.").. | 
| 12260 | 28 64 65 66 76 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 66 | (defvar.malyon-restore-quetzal-f | 
| 12280 | 72 61 6d 65 2d 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 | rame-pointer.nil..."A.temporary. | 
| 122a0 | 66 72 61 6d 65 2d 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 | frame-pointer.for.restoring.quet | 
| 122c0 | 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e    22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | zal.game.states.")..(defun.malyo | 
| 122e0 | 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 20 28    66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 | n-restore-file.(file.&optional.t | 
| 12300 | 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22    52 65 73 74 6f 72 65 20 61 20 67 61 6d 65 20 73 | able.length)..."Restore.a.game.s | 
| 12320 | 74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79    20 73 65 63 74 69 6f 6e 20 66 72 6f 6d 20 64 69 | tate.or.a.memory.section.from.di | 
| 12340 | 73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 20 22 66 4c 6f 61 64 20 66 69 6c 65 3a | sk."...(interactive."fLoad.file: | 
| 12360 | 20 22 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28    61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 | .")...(if.(not.(and.(file-exists | 
| 12380 | 2d 70 20 66 69 6c 65 29 20 28 66 69 6c 65 2d 72    65 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 29 | -p.file).(file-readable-p.file)) | 
| 123a0 | 29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 63    6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 | ).......0.....(condition-case.ni | 
| 123c0 | 6c 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 | l.........(save-excursion....... | 
| 123e0 | 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 72 | ....(setq.malyon-restore-data-er | 
| 12400 | 72 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20    20 20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28 | ror.nil)...........(set-buffer.( | 
| 12420 | 63 72 65 61 74 65 2d 66 69 6c 65 2d 62 75 66 66    65 72 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 | create-file-buffer.file))....... | 
| 12440 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64    2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 | ....(malyon-load-file.file)..... | 
| 12460 | 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 69 6e 29 29 0a 20 20 | ......(goto-char.(point-min))... | 
| 12480 | 20 20 20 20 20 20 20 20 28 69 66 20 74 61 62 6c    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(if.table............... | 
| 124a0 | 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d    74 61 62 6c 65 20 74 61 62 6c 65 20 6c 65 6e 67 | (malyon-restore-table.table.leng | 
| 124c0 | 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 65 74 2a 20 28 28 66 69 72 73 74 20 20 28 | th).............(let*.((first..( | 
| 124e0 | 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 66 69 6c 65 29 29 | malyon-read-chunk-id-from-file)) | 
| 12500 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 63 6f 6e 64 20 28 6d 61 6c | ....................(second.(mal | 
| 12520 | 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66    72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | yon-read-dword-from-file))...... | 
| 12540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74    68 69 72 64 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | ..............(third..(malyon-re | 
| 12560 | 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d    2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 | ad-chunk-id-from-file)))........ | 
| 12580 | 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20    28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20 | .......(if.(and.(string=."FORM". | 
| 125a0 | 66 69 72 73 74 29 20 28 73 74 72 69 6e 67 3d 20    22 49 46 5a 53 22 20 74 68 69 72 64 29 29 0a 20 | first).(string=."IFZS".third)).. | 
| 125c0 | 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 73 74 6f 72 65 | .................(malyon-restore | 
| 125e0 | 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28    2b 20 38 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 | -quetzal-state.(+.8.second)).... | 
| 12600 | 20 20 20 20 20 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 | .............(goto-char.(point-m | 
| 12620 | 69 6e 29 29 0a 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 73 | in)).................(malyon-res | 
| 12640 | 74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b | tore-game-state))))...........(k | 
| 12660 | 69 6c 6c 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e | ill-buffer.nil)...........(if.(n | 
| 12680 | 75 6c 6c 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 29 0a 20 | ull.malyon-restore-data-error).. | 
| 126a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 32 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 | .............2.............(mess | 
| 126c0 | 61 67 65 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 29 0a 20 | age.malyon-restore-data-error).. | 
| 126e0 | 20 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20    20 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 | ...........0)).......(error.0))) | 
| 12700 | 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 74 61 62 6c 65 20 28 | )..(defun.malyon-restore-table.( | 
| 12720 | 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20    22 52 65 73 74 6f 72 65 20 74 68 65 20 67 69 76 | table.length)..."Restore.the.giv | 
| 12740 | 65 6e 20 73 65 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 | en.section.of.memory.from.a.file | 
| 12760 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29    0a 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c | ."...(let.((i.0).........(j.tabl | 
| 12780 | 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28    3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 | e)).....(while.(<.i.length)..... | 
| 127a0 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    62 79 74 65 20 6a 20 28 6d 61 6c 79 6f 6e 2d 72 | ..(malyon-store-byte.j.(malyon-r | 
| 127c0 | 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 71 | ead-byte-from-file)).......(setq | 
| 127e0 | 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 | .i.(+.1.i).............j.(+.1.j) | 
| 12800 | 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 67 61 6d 65 | ))))..(defun.malyon-restore-game | 
| 12820 | 2d 73 74 61 74 65 20 28 29 0a 20 20 22 52 65 73    74 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d | -state.()..."Restore.a.saved.gam | 
| 12840 | 65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73    6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e | e.state.from.disk."...(let.((len | 
| 12860 | 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 6e    61 6d 65 20 20 30 29 0a 20 20 20 20 20 20 20 20 | ...0).........(name..0)......... | 
| 12880 | 28 73 74 6f 72 79 20 30 29 0a 20 20 20 20 20 20    20 20 28 69 70 20 20 20 20 30 29 0a 20 20 20 20 | (story.0).........(ip....0)..... | 
| 128a0 | 20 20 20 20 28 73 70 20 20 20 20 30 29 0a 20 20    20 20 20 20 20 20 28 66 70 20 20 20 20 30 29 0a | ....(sp....0).........(fp....0). | 
| 128c0 | 20 20 20 20 20 20 20 20 28 64 79 6e 20 20 20 30    29 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b | ........(dyn...0).........(stack | 
| 128e0 | 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 29 0a 20 | .(copy-sequence.malyon-stack)).. | 
| 12900 | 20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 63    6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c | .......(mem...(copy-sequence.mal | 
| 12920 | 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29    0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 | yon-story-file)).........(i..... | 
| 12940 | 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 65    6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | 0)).....(setq.len.(malyon-read-w | 
| 12960 | 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 6e 61 6d 65 20 28 | ord-from-file)).....(setq.name.( | 
| 12980 | 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6c 65 6e 20    3f 20 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 | make-string.len.?.)).....(while. | 
| 129a0 | 28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20    28 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61 | (<.i.len).......(aset.name.i.(ma | 
| 129c0 | 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 0a 20 20 20 20 20 | lyon-read-byte-from-file))...... | 
| 129e0 | 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29    29 29 0a 20 20 20 20 28 73 65 74 71 20 69 70 20 | .(setq.i.(+.1.i))).....(setq.ip. | 
| 12a00 | 20 28 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 6c 65 29 29 0a | .(malyon-read-dword-from-file)). | 
| 12a20 | 20 20 20 20 28 73 65 74 71 20 73 70 20 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d | ....(setq.sp..(malyon-read-word- | 
| 12a40 | 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20    28 73 65 74 71 20 66 70 20 20 28 6d 61 6c 79 6f | from-file)).....(setq.fp..(malyo | 
| 12a60 | 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 73 65 74 | n-read-word-from-file)).....(set | 
| 12a80 | 71 20 64 79 6e 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 | q.dyn.(malyon-read-word-from-fil | 
| 12aa0 | 65 29 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 | e)).....(setq.i.0).....(while.(< | 
| 12ac0 | 3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 61    73 65 74 20 73 74 61 63 6b 20 69 20 28 6d 61 6c | =.i.sp).......(aset.stack.i.(mal | 
| 12ae0 | 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66    72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | yon-read-dword-from-file))...... | 
| 12b00 | 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29    29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 | .(setq.i.(+.1.i))).....(setq.i.0 | 
| 12b20 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20    69 20 64 79 6e 29 0a 20 20 20 20 20 20 28 61 73 | ).....(while.(<.i.dyn).......(as | 
| 12b40 | 65 74 20 6d 65 6d 20 69 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d | et.mem.i.(malyon-read-byte-from- | 
| 12b60 | 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 29 0a 20 | file)).......(setq.i.(+.1.i))).. | 
| 12b80 | 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 | ...(setq.name..(file-name-nondir | 
| 12ba0 | 65 63 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 20    20 20 28 73 65 74 71 20 73 74 6f 72 79 20 28 66 | ectory.name)).....(setq.story.(f | 
| 12bc0 | 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65    63 74 6f 72 79 20 6d 61 6c 79 6f 6e 2d 73 74 6f | ile-name-nondirectory.malyon-sto | 
| 12be0 | 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20    20 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 | ry-file-name)).....(if.(or.(stri | 
| 12c00 | 6e 67 2d 6d 61 74 63 68 20 6e 61 6d 65 20 73 74    6f 72 79 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 | ng-match.name.story).(string-mat | 
| 12c20 | 63 68 20 73 74 6f 72 79 20 6e 61 6d 65 29 29 0a    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | ch.story.name)).........(malyon- | 
| 12c40 | 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 20 73 70 20 66 70 20 | set-game-state.(vector.ip.sp.fp. | 
| 12c60 | 73 74 61 63 6b 20 6d 65 6d 20 6e 69 6c 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 | stack.mem.nil)).......(setq.maly | 
| 12c80 | 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d    65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 73 | on-restore-data-error."Invalid.s | 
| 12ca0 | 61 76 65 20 66 69 6c 65 2e 22 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 | ave.file."))))..(defun.malyon-re | 
| 12cc0 | 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74    61 74 65 20 28 73 69 7a 65 29 0a 20 20 22 52 65 | store-quetzal-state.(size)..."Re | 
| 12ce0 | 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 71 75    65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 | store.a.saved.quetzal.game.state | 
| 12d00 | 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28    6c 65 74 20 28 28 63 68 75 6e 6b 2d 69 64 20 20 | .from.disk."...(let.((chunk-id.. | 
| 12d20 | 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 68    75 6e 6b 2d 6c 65 6e 20 30 29 0a 20 20 20 20 20 | nil).........(chunk-len.0)...... | 
| 12d40 | 20 20 20 28 69 70 20 20 20 20 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 28 6d 65 6d 6f 72 79 | ...(ip........0).........(memory | 
| 12d60 | 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20    20 28 73 74 61 63 6b 20 20 20 20 20 6e 69 6c 29 | ....nil).........(stack.....nil) | 
| 12d80 | 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e    69 6e 67 20 30 29 29 0a 20 20 20 20 28 77 68 69 | .........(beginning.0)).....(whi | 
| 12da0 | 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 73 69    7a 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 | le.(<.(point).size).......(setq. | 
| 12dc0 | 63 68 75 6e 6b 2d 69 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 | chunk-id..(malyon-read-chunk-id- | 
| 12de0 | 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20    20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 | from-file)).......(setq.chunk-le | 
| 12e00 | 6e 20 28 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 6c 65 29 29 | n.(malyon-read-dword-from-file)) | 
| 12e20 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67    69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 29 0a | .......(setq.beginning.(point)). | 
| 12e40 | 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74    72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 | ......(cond.((string=.chunk-id." | 
| 12e60 | 49 46 68 64 22 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 69 70 20 28 6d 61 | IFhd")..............(setq.ip.(ma | 
| 12e80 | 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 63 68 75 6e 6b 2d | lyon-restore-quetzal-ifhd.chunk- | 
| 12ea0 | 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 3d 20 63 68 75 | len))).............((string=.chu | 
| 12ec0 | 6e 6b 2d 69 64 20 22 43 4d 65 6d 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | nk-id."CMem")..............(setq | 
| 12ee0 | 20 6d 65 6d 6f 72 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 | .memory.(malyon-restore-quetzal- | 
| 12f00 | 63 6d 65 6d 20 63 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 | cmem.chunk-len))).............(( | 
| 12f20 | 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64    20 22 55 4d 65 6d 22 29 0a 20 20 20 20 20 20 20 | string=.chunk-id."UMem")........ | 
| 12f40 | 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 65 73 74 6f | ......(setq.memory.(malyon-resto | 
| 12f60 | 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d 20    63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 | re-quetzal-umem.chunk-len))).... | 
| 12f80 | 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 22 53 74 6b | .........((string=.chunk-id."Stk | 
| 12fa0 | 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 73 74 61 63 6b 20 28 6d 61 | s")..............(setq.stack.(ma | 
| 12fc0 | 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65    74 7a 61 6c 2d 73 74 6b 73 20 63 68 75 6e 6b 2d | lyon-restore-quetzal-stks.chunk- | 
| 12fe0 | 6c 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 69    66 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 63 68 | len)))).......(if.(zerop.(mod.ch | 
| 13000 | 75 6e 6b 2d 6c 65 6e 20 32 29 29 20 27 28 29 20    28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20 | unk-len.2)).'().(setq.chunk-len. | 
| 13020 | 28 2b 20 31 20 63 68 75 6e 6b 2d 6c 65 6e 29 29    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | (+.1.chunk-len))).......(goto-ch | 
| 13040 | 61 72 20 28 2b 20 62 65 67 69 6e 6e 69 6e 67 20    63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 | ar.(+.beginning.chunk-len))).... | 
| 13060 | 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 69 70 20    6d 65 6d 6f 72 79 20 73 74 61 63 6b 29 0a 20 20 | .(cond.((and.ip.memory.stack)... | 
| 13080 | 20 20 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 | .........(malyon-set-game-state. | 
| 130a0 | 28 76 65 63 74 6f 72 20 69 70 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (vector.ip...................... | 
| 130c0 | 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 6b | .....................(aref.stack | 
| 130e0 | 20 30 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 | .0)............................. | 
| 13100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61    72 65 66 20 73 74 61 63 6b 20 31 29 0a 20 20 20 | ..............(aref.stack.1).... | 
| 13120 | 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 | ................................ | 
| 13140 | 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61    63 6b 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 | .......(aref.stack.2)........... | 
| 13160 | 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 | ................................ | 
| 13180 | 6d 65 6d 6f 72 79 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 | memory.......................... | 
| 131a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .................t)))........... | 
| 131c0 | 28 28 6e 75 6c 6c 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 | ((null.malyon-restore-data-error | 
| 131e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 | )............(setq.malyon-restor | 
| 13200 | 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 22 69 6e    76 61 6c 69 64 20 71 75 65 74 7a 61 6c 20 66 69 | e-data-error."invalid.quetzal.fi | 
| 13220 | 6c 65 2e 22 29 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 | le.")))))..(defun.malyon-restore | 
| 13240 | 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73    69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 | -quetzal-ifhd.(size)..."Restore. | 
| 13260 | 61 6e 20 49 46 68 64 20 63 68 75 6e 6b 20 66 72    6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 | an.IFhd.chunk.from.disk..Return. | 
| 13280 | 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20    70 6f 69 6e 74 65 72 2e 22 0a 20 20 28 69 66 20 | the.instruction.pointer."...(if. | 
| 132a0 | 28 61 6e 64 20 28 3d 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 | (and.(=.(malyon-read-word-from-f | 
| 132c0 | 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 77 6f 72 64 20 32 29 29 0a 20 20 20 20 20 | ile).(malyon-read-word.2))...... | 
| 132e0 | 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d | ......(=.(malyon-read-word-from- | 
| 13300 | 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 20 | file).(malyon-read-word.18)).... | 
| 13320 | 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f | ........(=.(malyon-read-word-fro | 
| 13340 | 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 20 32 30 29 29 0a 20 | m-file).(malyon-read-word.20)).. | 
| 13360 | 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 | ..........(=.(malyon-read-word-f | 
| 13380 | 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29 | rom-file).(malyon-read-word.22)) | 
| 133a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | ............(=.(malyon-read-word | 
| 133c0 | 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 | -from-file).(malyon-read-word.28 | 
| 133e0 | 29 29 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f    72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 | ))).......(logior.(lsh.(malyon-r | 
| 13400 | 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 20 | ead-byte-from-file).16)......... | 
| 13420 | 20 20 20 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 | ......(lsh.(malyon-read-byte-fro | 
| 13440 | 6d 2d 66 69 6c 65 29 20 38 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | m-file).8)...............(malyon | 
| 13460 | 2d 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 28 73 65 74 71 | -read-byte-from-file)).....(setq | 
| 13480 | 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 71 75 65 74 | .malyon-restore-data-error."quet | 
| 134a0 | 7a 61 6c 20 66 69 6c 65 20 64 6f 65 73 6e 27 74    20 62 65 6c 6f 6e 67 20 74 6f 20 67 61 6d 65 2e | zal.file.doesn't.belong.to.game. | 
| 134c0 | 22 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 | ").....nil))..(defun.malyon-rest | 
| 134e0 | 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d    20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f | ore-quetzal-cmem.(size)..."Resto | 
| 13500 | 72 65 20 61 20 43 4d 65 6d 20 63 68 75 6e 6b 20    66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 | re.a.CMem.chunk.from.disk..Retur | 
| 13520 | 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d    6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28 | n.the.entire.memory.layout."...( | 
| 13540 | 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 20 20 28    63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 | let.((memory...(copy-sequence.(a | 
| 13560 | 72 65 66 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 20 34 29 | ref.malyon-game-state-restart.4) | 
| 13580 | 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 2d    73 69 7a 65 20 28 2b 20 28 70 6f 69 6e 74 29 20 | )).........(max-size.(+.(point). | 
| 135a0 | 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28    62 79 74 65 20 20 20 20 20 30 29 0a 20 20 20 20 | size)).........(byte.....0)..... | 
| 135c0 | 20 20 20 20 28 69 20 20 20 20 20 20 20 20 30 29    29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | ....(i........0)).....(while.(<. | 
| 135e0 | 28 70 6f 69 6e 74 29 20 6d 61 78 2d 73 69 7a 65    29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 79 | (point).max-size).......(setq.by | 
| 13600 | 74 65 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 | te.(malyon-read-byte-from-file)) | 
| 13620 | 0a 20 20 20 20 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 | .......(if.(zerop.byte)......... | 
| 13640 | 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 | ..(setq.i.(+.1.i.(malyon-read-by | 
| 13660 | 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a    20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 | te-from-file))).........(aset.me | 
| 13680 | 6d 6f 72 79 20 69 20 28 6c 6f 67 78 6f 72 20 62    79 74 65 20 28 61 72 65 66 20 6d 65 6d 6f 72 79 | mory.i.(logxor.byte.(aref.memory | 
| 136a0 | 20 69 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 | .i))).........(setq.i.(+.1.i)))) | 
| 136c0 | 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 6e 2d 72 65 73 | .....memory))..(defun.malyon-res | 
| 136e0 | 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65    6d 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 | tore-quetzal-umem.(size)..."Rest | 
| 13700 | 6f 72 65 20 61 20 55 4d 65 6d 20 63 68 75 6e 6b    20 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 | ore.a.UMem.chunk.from.disk..Retu | 
| 13720 | 72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65    6d 6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 | rn.the.entire.memory.layout."... | 
| 13740 | 28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 28 63    6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 | (let.((memory.(copy-sequence.(ar | 
| 13760 | 65 66 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 20 34 29 29 | ef.malyon-game-state-restart.4)) | 
| 13780 | 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20    20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 | ).........(i......0)).....(while | 
| 137a0 | 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20    20 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69 | .(<.i.size).......(aset.memory.i | 
| 137c0 | 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 0a 20 | .(malyon-read-byte-from-file)).. | 
| 137e0 | 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 6d 65 6d 6f 72 | .....(setq.i.(+.1.i))).....memor | 
| 13800 | 79 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 71 75 65 74 7a | y))..(defun.malyon-restore-quetz | 
| 13820 | 61 6c 2d 73 74 6b 73 20 28 73 69 7a 65 29 0a 20    20 22 52 65 73 74 6f 72 65 20 61 20 53 74 6b 73 | al-stks.(size)..."Restore.a.Stks | 
| 13840 | 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b    2e 20 52 65 74 75 72 6e 20 61 20 76 65 63 74 6f | .chunk.from.disk..Return.a.vecto | 
| 13860 | 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65    0a 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 2c 20 | r.containing.the.stack.pointer,. | 
| 13880 | 74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65    72 2c 20 61 6e 64 20 74 68 65 20 73 74 61 63 6b | the.frame.pointer,.and.the.stack | 
| 138a0 | 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 6c 65 74    20 28 28 69 20 30 29 20 28 66 72 61 6d 65 2d 69 | .itself."...(let.((i.0).(frame-i | 
| 138c0 | 64 20 30 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 71 | d.0)).....(setq.malyon-restore-q | 
| 138e0 | 75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20    20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 | uetzal-stack...........(copy-seq | 
| 13900 | 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 61 74 65 2d 72 65 | uence.(aref.malyon-game-state-re | 
| 13920 | 73 74 61 72 74 20 33 29 29 29 0a 20 20 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 | start.3))).....(setq.malyon-rest | 
| 13940 | 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 20 2d 31 29 0a 20 20 | ore-quetzal-stack-pointer.-1)... | 
| 13960 | 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 74 7a 61 6c 2d 66 | ..(setq.malyon-restore-quetzal-f | 
| 13980 | 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 32 29 0a    20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 | rame-pointer.2).....(while.(<.i. | 
| 139a0 | 73 69 7a 65 29 0a 20 20 20 20 20 20 28 6c 65 74    2a 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 20 20 | size).......(let*.((beginning... | 
| 139c0 | 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 33 | ..(point))..............(return3 | 
| 139e0 | 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 69 | .......(malyon-read-byte-from-fi | 
| 13a00 | 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 32 20 20 20 20 20 20 | le))..............(return2...... | 
| 13a20 | 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 0a 20 | .(malyon-read-byte-from-file)).. | 
| 13a40 | 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74    75 72 6e 31 20 20 20 20 20 20 20 28 6d 61 6c 79 | ............(return1.......(maly | 
| 13a60 | 6f 6e 2d 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 20 | on-read-byte-from-file))........ | 
| 13a80 | 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64    64 72 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 | ......(return-addr...(logior.(ls | 
| 13aa0 | 68 20 72 65 74 75 72 6e 33 20 31 36 29 20 28 6c    73 68 20 72 65 74 75 72 6e 32 20 38 29 20 72 65 | h.return3.16).(lsh.return2.8).re | 
| 13ac0 | 74 75 72 6e 31 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 72 65 73 75 6c 74 2d 6c 6f 63 | turn1))..............(result-loc | 
| 13ae0 | 61 6c 73 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 | als.(malyon-read-byte-from-file) | 
| 13b00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    68 61 73 2d 72 65 73 75 6c 74 20 20 20 20 28 7a | )..............(has-result....(z | 
| 13b20 | 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 36 20    72 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 29 29 29 | erop.(logand.16.result-locals))) | 
| 13b40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e    75 6d 2d 6c 6f 63 61 6c 73 20 20 20 20 28 6c 6f | ..............(num-locals....(lo | 
| 13b60 | 67 61 6e 64 20 31 35 20 72 65 73 75 6c 74 2d 6c    6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 | gand.15.result-locals))......... | 
| 13b80 | 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64    72 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | .....(result-addr...(malyon-read | 
| 13ba0 | 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 20 28 | -byte-from-file))..............( | 
| 13bc0 | 61 72 67 2d 66 6c 61 67 73 20 20 20 20 20 28 2b    20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | arg-flags.....(+.1.(malyon-read- | 
| 13be0 | 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | byte-from-file)))..............( | 
| 13c00 | 6e 75 6d 2d 61 72 67 73 20 20 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 | num-args......0)..............(e | 
| 13c20 | 76 61 6c 2d 73 69 7a 65 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 | val-size.....(malyon-read-word-f | 
| 13c40 | 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 6c 6f 63 61 6c 2d 76 | rom-file))..............(local-v | 
| 13c60 | 61 72 73 20 20 20 20 27 28 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 | ars....'())..............(eval-s | 
| 13c80 | 74 61 63 6b 20 20 20 20 27 28 29 29 29 0a 20 20    20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 | tack....'())).........(while.(>. | 
| 13ca0 | 6e 75 6d 2d 6c 6f 63 61 6c 73 20 30 29 0a 20 20    20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f | num-locals.0)...........(setq.lo | 
| 13cc0 | 63 61 6c 2d 76 61 72 73 20 28 63 6f 6e 73 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | cal-vars.(cons.(malyon-read-word | 
| 13ce0 | 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 6c 6f 63 61    6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 20 | -from-file).local-vars))........ | 
| 13d00 | 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 6c 6f 63    61 6c 73 20 28 2d 20 6e 75 6d 2d 6c 6f 63 61 6c | ...(setq.num-locals.(-.num-local | 
| 13d20 | 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28    77 68 69 6c 65 20 28 3e 20 65 76 61 6c 2d 73 69 | s.1))).........(while.(>.eval-si | 
| 13d40 | 7a 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20    28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b | ze.0)...........(setq.eval-stack | 
| 13d60 | 20 28 63 6f 6e 73 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 | .(cons.(malyon-read-word-from-fi | 
| 13d80 | 6c 65 29 20 65 76 61 6c 2d 73 74 61 63 6b 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | le).eval-stack))...........(setq | 
| 13da0 | 20 65 76 61 6c 2d 73 69 7a 65 20 28 2d 20 65 76    61 6c 2d 73 69 7a 65 20 31 29 29 29 0a 20 20 20 | .eval-size.(-.eval-size.1))).... | 
| 13dc0 | 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61    72 67 2d 66 6c 61 67 73 20 31 29 0a 20 20 20 20 | .....(while.(>.arg-flags.1)..... | 
| 13de0 | 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 2d    66 6c 61 67 73 20 28 6c 73 68 20 61 72 67 2d 66 | ......(setq.arg-flags.(lsh.arg-f | 
| 13e00 | 6c 61 67 73 20 2d 31 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 61 72 | lags.-1))...........(setq.num-ar | 
| 13e20 | 67 73 20 28 2b 20 6e 75 6d 2d 61 72 67 73 20 31    29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c | gs.(+.num-args.1))).........(mal | 
| 13e40 | 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 2d 66    72 61 6d 65 20 66 72 61 6d 65 2d 69 64 0a 20 20 | yon-push-stack-frame.frame-id... | 
| 13e60 | 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 72 | ...............................r | 
| 13e80 | 65 74 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eturn-addr...................... | 
| 13ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 7a 65 72 6f 70 20 66 72 61 6d 65 2d 69 64 29 | ............(if.(zerop.frame-id) | 
| 13ec0 | 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 20 20 | ................................ | 
| 13ee0 | 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......nil....................... | 
| 13f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 68 61 73 2d 72 65 73 75 6c 74 20 72 65 73 75 | .............(if.has-result.resu | 
| 13f20 | 6c 74 2d 61 64 64 72 20 6e 69 6c 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lt-addr.nil))................... | 
| 13f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    72 65 76 65 72 73 65 20 6c 6f 63 61 6c 2d 76 61 | ...............(reverse.local-va | 
| 13f60 | 72 73 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 | rs)............................. | 
| 13f80 | 20 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 20 20 20 20 20 20 | .....num-args................... | 
| 13fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    72 65 76 65 72 73 65 20 65 76 61 6c 2d 73 74 61 | ...............(reverse.eval-sta | 
| 13fc0 | 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 65    74 71 20 66 72 61 6d 65 2d 69 64 20 28 2b 20 31 | ck)).........(setq.frame-id.(+.1 | 
| 13fe0 | 20 66 72 61 6d 65 2d 69 64 29 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 | .frame-id)).........(setq.i.(+.i | 
| 14000 | 20 28 2d 20 28 70 6f 69 6e 74 29 20 62 65 67 69    6e 6e 69 6e 67 29 29 29 29 29 0a 20 20 20 20 28 | .(-.(point).beginning))))).....( | 
| 14020 | 76 65 63 74 6f 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 | vector.malyon-restore-quetzal-st | 
| 14040 | 61 63 6b 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 | ack-pointer.............malyon-r | 
| 14060 | 65 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 0a 20 20 20 | estore-quetzal-frame-pointer.... | 
| 14080 | 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 75 65 74 7a 61 6c 2d | .........malyon-restore-quetzal- | 
| 140a0 | 73 74 61 63 6b 29 29 29 0a 0a 3b 3b 20 6f 62 6a    65 63 74 20 74 61 62 6c 65 20 6d 61 6e 61 67 65 | stack)))..;;.object.table.manage | 
| 140c0 | 6d 65 6e 74 0a 0a 28 64 65 66 73 75 62 73 74 20    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 | ment..(defsubst.malyon-object-ad | 
| 140e0 | 64 72 65 73 73 20 28 6f 62 6a 65 63 74 29 0a 20    20 22 43 6f 6d 70 75 74 65 20 74 68 65 20 61 64 | dress.(object)..."Compute.the.ad | 
| 14100 | 64 72 65 73 73 20 61 74 20 77 68 69 63 68 20 74    68 65 20 6f 62 6a 65 63 74 20 69 73 20 73 74 6f | dress.at.which.the.object.is.sto | 
| 14120 | 72 65 64 2e 22 0a 20 20 28 2b 20 6d 61 6c 79 6f    6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 0a 20 | red."...(+.malyon-object-table.. | 
| 14140 | 20 20 20 20 28 2a 20 32 20 6d 61 6c 79 6f 6e 2d    6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 | ....(*.2.malyon-object-propertie | 
| 14160 | 73 29 0a 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f    6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 | s)......(*.malyon-object-table-e | 
| 14180 | 6e 74 72 79 2d 73 69 7a 65 20 28 2d 20 6f 62 6a    65 63 74 20 31 29 29 29 29 0a 0a 28 64 65 66 73 | ntry-size.(-.object.1))))..(defs | 
| 141a0 | 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65    63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 28 | ubst.malyon-object-read-parent.( | 
| 141c0 | 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a | address)..."Return.the.parent.". | 
| 141e0 | 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 20 35 29 | ..(if.(<.malyon-story-version.5) | 
| 14200 | 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 34 20 61 64 | .......(malyon-read-byte.(+.4.ad | 
| 14220 | 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 64 20 28 2b | dress)).....(malyon-read-word.(+ | 
| 14240 | 20 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 6d 61 6c 79 6f 6e | .6.address))))..(defsubst.malyon | 
| 14260 | 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62    6c 69 6e 67 20 28 61 64 64 72 65 73 73 29 0a 20 | -object-read-sibling.(address).. | 
| 14280 | 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 65 78    74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69 | ."Return.the.next.sibling."...(i | 
| 142a0 | 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 20 20 | f.(<.malyon-story-version.5).... | 
| 142c0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    62 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73 | ...(malyon-read-byte.(+.5.addres | 
| 142e0 | 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 20 28 2b 20 38 20 61 | s)).....(malyon-read-word.(+.8.a | 
| 14300 | 64 64 72 65 73 73 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 | ddress))))..(defsubst.malyon-obj | 
| 14320 | 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 28    61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 | ect-read-child.(address)..."Retu | 
| 14340 | 72 6e 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 6d 61 | rn.the.first.child."...(if.(<.ma | 
| 14360 | 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 61 6c | lyon-story-version.5).......(mal | 
| 14380 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b    20 36 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 | yon-read-byte.(+.6.address)).... | 
| 143a0 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f    72 64 20 28 2b 20 31 30 20 61 64 64 72 65 73 73 | .(malyon-read-word.(+.10.address | 
| 143c0 | 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 74 2d 73 74 | ))))..(defsubst.malyon-object-st | 
| 143e0 | 6f 72 65 2d 70 61 72 65 6e 74 20 28 61 64 64 72    65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65 | ore-parent.(address.value)..."Se | 
| 14400 | 74 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 | t.the.parent."...(if.(<.malyon-s | 
| 14420 | 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 73 74 | tory-version.5).......(malyon-st | 
| 14440 | 6f 72 65 2d 62 79 74 65 20 28 2b 20 34 20 61 64    64 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 | ore-byte.(+.4.address).value)... | 
| 14460 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    77 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73 | ..(malyon-store-word.(+.6.addres | 
| 14480 | 73 29 20 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 | s).value)))..(defsubst.malyon-ob | 
| 144a0 | 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69    6e 67 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 | ject-store-sibling.(address.valu | 
| 144c0 | 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6e 65    78 74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 | e)..."Set.the.next.sibling."...( | 
| 144e0 | 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 20 | if.(<.malyon-story-version.5)... | 
| 14500 | 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 61 64 64 72 | ....(malyon-store-byte.(+.5.addr | 
| 14520 | 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 6f | ess).value).....(malyon-store-wo | 
| 14540 | 72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29    20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 73 | rd.(+.8.address).value)))..(defs | 
| 14560 | 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 63 68 69 6c 64 20 28 | ubst.malyon-object-store-child.( | 
| 14580 | 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 66 69 72 73 74 20 | address.value)..."Set.the.first. | 
| 145a0 | 63 68 69 6c 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 | child."...(if.(<.malyon-story-ve | 
| 145c0 | 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 2d 62 79 74 | rsion.5).......(malyon-store-byt | 
| 145e0 | 65 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20    76 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79 | e.(+.6.address).value).....(maly | 
| 14600 | 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b    20 31 30 20 61 64 64 72 65 73 73 29 20 76 61 6c | on-store-word.(+.10.address).val | 
| 14620 | 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 | ue)))..(defun.malyon-find-proper | 
| 14640 | 74 79 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65    72 74 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | ty.(object.property)..."Return.t | 
| 14660 | 68 65 20 61 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 | he.address.of.the.object's.prope | 
| 14680 | 72 74 79 2c 20 6f 72 20 30 20 69 66 20 69 74 20    64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 22 0a | rty,.or.0.if.it.doesn't.exist.". | 
| 146a0 | 20 20 28 6c 65 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 | ..(let.((next.(malyon-first-prop | 
| 146c0 | 65 72 74 79 20 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 | erty.object)).........(number.0) | 
| 146e0 | 29 0a 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 6c 79 | ).....(setq.number.(logand.(maly | 
| 14700 | 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78    74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | on-read-byte.next).malyon-object | 
| 14720 | 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20    20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 | -properties)).....(while.(>.numb | 
| 14740 | 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d | er.property).......(setq.next.(m | 
| 14760 | 61 6c 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 | alyon-next-property.next))...... | 
| 14780 | 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 65 | .(setq.number.(logand.(malyon-re | 
| 147a0 | 61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61    6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 | ad-byte.next).malyon-object-prop | 
| 147c0 | 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 28 69    66 20 28 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70 | erties))).....(if.(=.number.prop | 
| 147e0 | 65 72 74 79 29 20 6e 65 78 74 20 30 29 29 29 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 | erty).next.0)))..(defun.malyon-f | 
| 14800 | 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 28 6f    62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 | irst-property.(object)..."Get.th | 
| 14820 | 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65    20 6f 62 6a 65 63 74 27 73 20 66 69 72 73 74 20 | e.address.of.the.object's.first. | 
| 14840 | 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65    74 20 28 28 68 65 61 64 65 72 20 28 6d 61 6c 79 | property."...(let.((header.(maly | 
| 14860 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 | on-read-word.(+.malyon-object-pr | 
| 14880 | 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | operty-offset................... | 
| 148a0 | 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 6f 62 6a 65 63 | ...................(malyon-objec | 
| 148c0 | 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74    29 29 29 29 29 0a 20 20 20 20 28 2b 20 68 65 61 | t-address.object))))).....(+.hea | 
| 148e0 | 64 65 72 20 31 20 28 2a 20 32 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 68 65 61 | der.1.(*.2.(malyon-read-byte.hea | 
| 14900 | 64 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f | der)))))..(defun.malyon-next-pro | 
| 14920 | 70 65 72 74 79 20 28 70 72 6f 70 65 72 74 79 29    0a 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72 | perty.(property)..."Get.the.addr | 
| 14940 | 65 73 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f    77 69 6e 67 20 70 72 6f 70 65 72 74 79 2e 22 0a | ess.of.the.following.property.". | 
| 14960 | 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 74 65 20 | ..(let.((size.(malyon-read-byte. | 
| 14980 | 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20    20 20 20 28 61 64 64 72 20 28 2b 20 70 72 6f 70 | property)).........(addr.(+.prop | 
| 149a0 | 65 72 74 79 20 31 29 29 29 0a 20 20 20 20 28 2b    20 31 20 61 64 64 72 20 28 63 6f 6e 64 20 28 28 | erty.1))).....(+.1.addr.(cond.(( | 
| 149c0 | 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 28 6c 73 68 20 73 | <.malyon-story-version.5).(lsh.s | 
| 149e0 | 69 7a 65 20 2d 35 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 7a | ize.-5)).....................((z | 
| 14a00 | 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38    20 73 69 7a 65 29 29 20 20 28 6c 73 68 20 73 69 | erop.(logand.128.size))..(lsh.si | 
| 14a20 | 7a 65 20 2d 36 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 | ze.-6)).....................(t.. | 
| 14a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 65 74 20 28 28 73 65 63 6f 6e | ....................(let.((secon | 
| 14a60 | 64 20 28 6c 6f 67 61 6e 64 20 36 33 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 | d.(logand.63.(malyon-read-byte.a | 
| 14a80 | 64 64 72 29 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 28 | ddr))))........................( | 
| 14aa0 | 69 66 20 28 3d 20 30 20 73 65 63 6f 6e 64 29 20    36 34 20 73 65 63 6f 6e 64 29 29 29 29 29 29 29 | if.(=.0.second).64.second))))))) | 
| 14ac0 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 28 6f | ..(defun.malyon-remove-object.(o | 
| 14ae0 | 62 6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65    20 74 68 65 20 6f 62 6a 65 63 74 20 66 72 6f 6d | bject)..."Remove.the.object.from | 
| 14b00 | 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69    73 74 20 6f 66 20 69 74 73 20 70 61 72 65 6e 74 | .the.children.list.of.its.parent | 
| 14b20 | 2e 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 6f 62 6a | ."...(let*.((address.(malyon-obj | 
| 14b40 | 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 20 20 20 28 70 | ect-address.object))..........(p | 
| 14b60 | 61 72 65 6e 74 20 20 28 6d 61 6c 79 6f 6e 2d 6f    62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e | arent..(malyon-object-read-paren | 
| 14b80 | 74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20    20 20 20 20 20 28 73 69 62 6c 69 6e 67 20 28 6d | t.address))..........(sibling.(m | 
| 14ba0 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61    64 2d 73 69 62 6c 69 6e 67 20 61 64 64 72 65 73 | alyon-object-read-sibling.addres | 
| 14bc0 | 73 29 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 70 61 | s))).....(malyon-object-store-pa | 
| 14be0 | 72 65 6e 74 20 61 64 64 72 65 73 73 20 30 29 0a    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 | rent.address.0).....(malyon-obje | 
| 14c00 | 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67    20 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 | ct-store-sibling.address.0)..... | 
| 14c20 | 28 69 66 20 28 2f 3d 20 70 61 72 65 6e 74 20 30    29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | (if.(/=.parent.0).........(let.( | 
| 14c40 | 28 70 61 72 65 6e 74 2d 61 64 64 72 20 28 6d 61    6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 | (parent-addr.(malyon-object-addr | 
| 14c60 | 65 73 73 20 70 61 72 65 6e 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 | ess.parent)))...........(let.((c | 
| 14c80 | 68 69 6c 64 72 65 6e 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 | hildren.(malyon-object-read-chil | 
| 14ca0 | 64 20 70 61 72 65 6e 74 2d 61 64 64 72 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 | d.parent-addr))).............(if | 
| 14cc0 | 20 28 6f 72 20 28 3d 20 63 68 69 6c 64 72 65 6e    20 30 29 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 | .(or.(=.children.0).(=.children. | 
| 14ce0 | 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | object)).................(malyon | 
| 14d00 | 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 63 68    69 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 20 | -object-store-child.parent-addr. | 
| 14d20 | 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 | sibling)...............(let.((th | 
| 14d40 | 69 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 63 68 69 6c 64 72 | is.(malyon-object-address.childr | 
| 14d60 | 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 78 | en))).................(let.((nex | 
| 14d80 | 74 20 28 6d 61 6c 79 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 | t.(malyon-object-read-sibling.th | 
| 14da0 | 69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 | is)))...................(while.( | 
| 14dc0 | 2f 3d 20 6e 65 78 74 20 6f 62 6a 65 63 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | /=.next.object)................. | 
| 14de0 | 20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 28    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 | ....(setq.this.(malyon-object-ad | 
| 14e00 | 64 72 65 73 73 20 6e 65 78 74 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dress.next)).................... | 
| 14e20 | 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c    79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d | .(setq.next.(malyon-object-read- | 
| 14e40 | 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 20 20 20 20 20 | sibling.this)))................. | 
| 14e60 | 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 74 | ..(malyon-object-store-sibling.t | 
| 14e80 | 68 69 73 20 73 69 62 6c 69 6e 67 29 29 29 29 29    29 29 29 29 0a 0a 3b 3b 20 66 75 6e 63 74 69 6f | his.sibling)))))))))..;;.functio | 
| 14ea0 | 6e 20 63 61 6c 6c 73 20 61 6e 64 20 63 6f 64 65    20 62 72 61 6e 63 68 65 73 0a 0a 28 64 65 66 75 | n.calls.and.code.branches..(defu | 
| 14ec0 | 6e 20 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f    75 74 69 6e 65 20 28 72 6f 75 74 69 6e 65 20 61 | n.malyon-call-routine.(routine.a | 
| 14ee0 | 72 67 75 6d 65 6e 74 73 20 26 6f 70 74 69 6f 6e    61 6c 20 72 65 73 75 6c 74 29 0a 20 20 22 43 61 | rguments.&optional.result)..."Ca | 
| 14f00 | 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 77 69 74    68 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 | ll.a.routine.with.the.given.argu | 
| 14f20 | 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e    20 69 74 73 20 72 65 73 75 6c 74 2e 22 0a 20 20 | ments.and.return.its.result."... | 
| 14f40 | 28 69 66 20 28 3d 20 72 6f 75 74 69 6e 65 20 30    29 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 75 | (if.(=.routine.0).......(if.resu | 
| 14f60 | 6c 74 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 76 61 72 69 61 62 6c 65 20 72 65 73 75 6c 74 | lt.(malyon-store-variable.result | 
| 14f80 | 20 30 29 20 30 29 0a 20 20 20 20 28 6d 61 6c 79    6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 | .0).0).....(malyon-push-stack.(i | 
| 14fa0 | 66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d | f.result.0.1)).....(malyon-push- | 
| 14fc0 | 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74    20 72 65 73 75 6c 74 20 30 29 29 0a 20 20 20 20 | stack.(if.result.result.0))..... | 
| 14fe0 | 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61    63 6b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 | (malyon-push-stack.malyon-instru | 
| 15000 | 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d | ction-pointer).....(malyon-push- | 
| 15020 | 73 74 61 63 6b 0a 20 20 20 20 20 28 6c 6f 67 69    6f 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f | stack......(logior.(lsh.(-.malyo | 
| 15040 | 6e 2d 73 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 | n-stack-pointer.malyon-frame-poi | 
| 15060 | 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 61 72 | nter).8)..............(length.ar | 
| 15080 | 67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 | guments))).....(setq.malyon-inst | 
| 150a0 | 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20    28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 | ruction-pointer.(*.malyon-packed | 
| 150c0 | 2d 6d 75 6c 74 69 70 6c 69 65 72 20 72 6f 75 74    69 6e 65 29 29 0a 20 20 20 20 28 6c 65 74 20 28 | -multiplier.routine)).....(let.( | 
| 150e0 | 28 61 72 67 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 29 20 28 | (args.(malyon-read-code-byte)).( | 
| 15100 | 76 61 6c 75 65 20 6e 69 6c 29 29 0a 20 20 20 20    20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d | value.nil)).......(if.malyon-gam | 
| 15120 | 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 28 6c 65 74 20 28 | e-state-quetzal...........(let.( | 
| 15140 | 28 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d    61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 | (id.(lsh.(aref.malyon-stack.maly | 
| 15160 | 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72    29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 | on-frame-pointer).-8)))......... | 
| 15180 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68    2d 73 74 61 63 6b 20 28 6c 6f 67 69 6f 72 20 28 | ....(malyon-push-stack.(logior.( | 
| 151a0 | 6c 73 68 20 28 2b 20 31 20 69 64 29 20 38 29 20    61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 28 | lsh.(+.1.id).8).args)))).......( | 
| 151c0 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d    65 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e | setq.malyon-frame-pointer.malyon | 
| 151e0 | 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a    20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 | -stack-pointer).......(while.(>. | 
| 15200 | 61 72 67 73 20 30 29 0a 20 20 20 20 20 20 20 20    28 73 65 74 71 20 76 61 6c 75 65 20 28 69 66 20 | args.0).........(setq.value.(if. | 
| 15220 | 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 28 6d 61 6c 79 | (<.malyon-story-version.5).(maly | 
| 15240 | 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72    64 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 | on-read-code-word).0)).........( | 
| 15260 | 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63    6b 20 28 69 66 20 28 6e 75 6c 6c 20 61 72 67 75 | malyon-push-stack.(if.(null.argu | 
| 15280 | 6d 65 6e 74 73 29 20 76 61 6c 75 65 20 28 63 61    72 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20 | ments).value.(car.arguments))).. | 
| 152a0 | 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67    75 6d 65 6e 74 73 20 28 63 64 72 20 61 72 67 75 | .......(setq.arguments.(cdr.argu | 
| 152c0 | 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20    28 73 65 74 71 20 61 72 67 73 20 28 2d 20 61 72 | ments)).........(setq.args.(-.ar | 
| 152e0 | 67 73 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 | gs.1))))))..(defun.malyon-jump-i | 
| 15300 | 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20    22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 | f.(condition)..."Jump.depending. | 
| 15320 | 6f 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e    20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 | on.the.condition.and.the.followi | 
| 15340 | 6e 67 20 6a 75 6d 70 20 64 61 74 61 2e 22 0a 20    20 28 6c 65 74 20 28 28 62 79 74 65 20 20 20 28 | ng.jump.data."...(let.((byte...( | 
| 15360 | 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65    2d 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 | malyon-read-code-byte))......... | 
| 15380 | 28 6f 66 66 73 65 74 20 6e 69 6c 29 0a 20 20 20    20 20 20 20 20 28 69 66 74 72 75 65 20 6e 69 6c | (offset.nil).........(iftrue.nil | 
| 153a0 | 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 66 74    72 75 65 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e | )).....(setq.iftrue.(/=.0.(logan | 
| 153c0 | 64 20 62 79 74 65 20 31 32 38 29 29 29 0a 20 20    20 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 | d.byte.128))).....(setq.offset.( | 
| 153e0 | 6c 6f 67 61 6e 64 20 62 79 74 65 20 36 33 29 29    0a 20 20 20 20 28 69 66 20 28 3d 20 30 20 28 6c | logand.byte.63)).....(if.(=.0.(l | 
| 15400 | 6f 67 61 6e 64 20 62 79 74 65 20 36 34 29 29 0a    20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 | ogand.byte.64)).........(progn.. | 
| 15420 | 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f    66 66 73 65 74 20 28 6c 6f 67 69 6f 72 20 28 6c | .........(setq.offset.(logior.(l | 
| 15440 | 73 68 20 6f 66 66 73 65 74 20 38 29 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 | sh.offset.8).(malyon-read-code-b | 
| 15460 | 79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 3e 3d 20 6f 66 66 73 65 74 20 | yte)))...........(if.(>=.offset. | 
| 15480 | 38 31 39 32 29 20 28 73 65 74 71 20 6f 66 66 73    65 74 20 28 2d 20 6f 66 66 73 65 74 20 31 36 33 | 8192).(setq.offset.(-.offset.163 | 
| 154a0 | 38 34 29 29 29 29 29 0a 20 20 20 20 28 69 66 20    28 6f 72 20 28 61 6e 64 20 69 66 74 72 75 65 20 | 84))))).....(if.(or.(and.iftrue. | 
| 154c0 | 63 6f 6e 64 69 74 69 6f 6e 29 20 28 61 6e 64 20    28 6e 6f 74 20 69 66 74 72 75 65 29 20 28 6e 6f | condition).(and.(not.iftrue).(no | 
| 154e0 | 74 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20    20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 | t.condition))).........(progn... | 
| 15500 | 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28    3d 20 6f 66 66 73 65 74 20 30 29 20 28 6d 61 6c | ........(cond.((=.offset.0).(mal | 
| 15520 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73    65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | yon-opcode-rfalse))............. | 
| 15540 | 20 20 20 20 28 28 3d 20 6f 66 66 73 65 74 20 31    29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | ....((=.offset.1).(malyon-opcode | 
| 15560 | 2d 72 74 72 75 65 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 | -rtrue)).................(t..... | 
| 15580 | 20 20 20 20 20 20 20 28 73 65 74 71 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......(setq.................... | 
| 155a0 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 | ............malyon-instruction-p | 
| 155c0 | 6f 69 6e 74 65 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 | ointer.......................... | 
| 155e0 | 20 20 20 20 20 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 6e | ......(+.malyon-instruction-poin | 
| 15600 | 74 65 72 20 6f 66 66 73 65 74 20 2d 32 29 29 29    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | ter.offset.-2))))))))..(defun.ma | 
| 15620 | 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 76 61 6c    75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72 | lyon-return.(value)..."Return.fr | 
| 15640 | 6f 6d 20 61 20 72 6f 75 74 69 6e 65 2e 22 0a 20    20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 | om.a.routine."...(setq.malyon-st | 
| 15660 | 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 72 | ack-pointer.malyon-frame-pointer | 
| 15680 | 29 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 75 65 74 7a 61 | )...(if.malyon-game-state-quetza | 
| 156a0 | 6c 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74    61 63 6b 29 29 0a 20 20 28 73 65 74 71 20 6d 61 | l.(malyon-pop-stack))...(setq.ma | 
| 156c0 | 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 28 2d 20 6d 61 | lyon-frame-pointer.........(-.ma | 
| 156e0 | 6c 79 6f 6e 2d 73 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 | lyon-stack-pointer.1.(lsh.(malyo | 
| 15700 | 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 20 2d 38 29    29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | n-pop-stack).-8)))...(setq.malyo | 
| 15720 | 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f    69 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 70 6f | n-instruction-pointer.(malyon-po | 
| 15740 | 70 2d 73 74 61 63 6b 29 29 0a 20 20 28 6c 65 74    20 28 28 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f | p-stack))...(let.((result.(malyo | 
| 15760 | 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20    20 20 20 20 20 20 28 73 74 6f 72 65 20 20 28 6d | n-pop-stack)).........(store..(m | 
| 15780 | 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29    29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f | alyon-pop-stack))).....(if.(zero | 
| 157a0 | 70 20 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d | p.store).........(malyon-return- | 
| 157c0 | 73 74 6f 72 65 20 72 65 73 75 6c 74 20 76 61 6c    75 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f | store.result.value).......(malyo | 
| 157e0 | 6e 2d 72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20    72 65 73 75 6c 74 20 76 61 6c 75 65 29 29 29 29 | n-return-ignore.result.value)))) | 
| 15800 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 28 77 | ..(defun.malyon-return-ignore.(w | 
| 15820 | 68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52    65 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75 | here.value)..."Return.from.a.rou | 
| 15840 | 74 69 6e 65 20 69 67 6e 6f 72 69 6e 67 20 74 68    65 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 | tine.ignoring.the.result.")..(de | 
| 15860 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72    6e 2d 73 74 6f 72 65 20 28 77 68 65 72 65 20 76 | fun.malyon-return-store.(where.v | 
| 15880 | 61 6c 75 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 20 73 | alue)..."Return.from.a.routine.s | 
| 158a0 | 74 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c    74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 | toring.the.result."...(malyon-st | 
| 158c0 | 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 77 68 65    72 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 | ore-variable.where.value))..(def | 
| 158e0 | 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 69    6e 69 74 69 61 6c 2d 66 72 61 6d 65 20 28 29 0a | un.malyon-push-initial-frame.(). | 
| 15900 | 20 20 22 50 75 73 68 20 74 68 65 20 69 6e 69 74    69 61 6c 20 73 74 61 63 6b 20 66 72 61 6d 65 20 | .."Push.the.initial.stack.frame. | 
| 15920 | 72 65 71 75 69 72 65 64 20 69 6e 20 71 75 65 74    7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 | required.in.quetzal.mode."...(if | 
| 15940 | 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 20 20 20 20 | .malyon-game-state-quetzal...... | 
| 15960 | 20 28 70 72 6f 67 6e 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 | .(progn.........(malyon-push-sta | 
| 15980 | 63 6b 20 31 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 | ck.1).........(malyon-push-stack | 
| 159a0 | 20 30 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 20 30 | .0).........(malyon-push-stack.0 | 
| 159c0 | 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 20 30 29 0a | ).........(malyon-push-stack.0). | 
| 159e0 | 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 20 30 29 29 29 29 | ........(malyon-push-stack.0)))) | 
| 15a00 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    67 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 | ..(defun.malyon-get-stack-frame. | 
| 15a20 | 28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20    22 52 65 74 75 72 6e 20 61 20 64 65 63 6f 64 65 | (fp.sp.stack)..."Return.a.decode | 
| 15a40 | 64 20 73 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 0a 54 | d.stack.frame.in.quetzal.mode..T | 
| 15a60 | 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 76    65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 | he.result.is.a.vector.containing | 
| 15a80 | 20 74 68 65 20 66 72 61 6d 65 20 69 64 2c 20 74    68 65 20 66 70 20 6f 66 20 74 68 65 0a 70 72 65 | .the.frame.id,.the.fp.of.the.pre | 
| 15aa0 | 76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65    20 73 70 20 6f 66 20 74 68 65 20 70 72 65 76 69 | vious.frame,.the.sp.of.the.previ | 
| 15ac0 | 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 72    65 74 75 72 6e 20 61 64 64 72 65 73 73 2c 0a 74 | ous.frame,.the.return.address,.t | 
| 15ae0 | 68 65 20 72 65 73 75 6c 74 20 76 61 72 69 61 62    6c 65 20 69 66 20 61 6e 79 2c 20 61 20 6c 69 73 | he.result.variable.if.any,.a.lis | 
| 15b00 | 74 20 6f 66 20 6c 6f 63 61 6c 20 76 61 72 69 61    62 6c 65 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 | t.of.local.variables,.the.number | 
| 15b20 | 0a 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 61    6e 64 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 | .of.arguments,.and.a.list.of.the | 
| 15b40 | 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 61 63    6b 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 20 28 | .evaluation.stack.elements."...( | 
| 15b60 | 6c 65 74 2a 20 28 28 68 61 73 2d 72 65 73 75 6c    74 20 20 20 28 7a 65 72 6f 70 20 28 61 72 65 66 | let*.((has-result...(zerop.(aref | 
| 15b80 | 20 73 74 61 63 6b 20 66 70 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 | .stack.fp)))..........(result-ad | 
| 15ba0 | 64 72 20 20 28 69 66 20 68 61 73 2d 72 65 73 75    6c 74 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 | dr..(if.has-result.(aref.stack.( | 
| 15bc0 | 2b 20 31 20 66 70 29 29 20 6e 69 6c 29 29 0a 20    20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d | +.1.fp)).nil))..........(return- | 
| 15be0 | 61 64 64 72 20 20 28 61 72 65 66 20 73 74 61 63    6b 20 28 2b 20 32 20 66 70 29 29 29 0a 20 20 20 | addr..(aref.stack.(+.2.fp))).... | 
| 15c00 | 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 20    20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 73 | ......(offset.......(lsh.(aref.s | 
| 15c20 | 74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 20 2d    38 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 | tack.(+.3.fp)).-8))..........(nu | 
| 15c40 | 6d 2d 61 72 67 73 20 20 20 20 20 28 6c 6f 67 61    6e 64 20 32 35 35 20 28 61 72 65 66 20 73 74 61 | m-args.....(logand.255.(aref.sta | 
| 15c60 | 63 6b 20 28 2b 20 33 20 66 70 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69 | ck.(+.3.fp))))..........(frame-i | 
| 15c80 | 64 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66    20 73 74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 | d.....(lsh.(aref.stack.(+.4.fp)) | 
| 15ca0 | 20 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 28    6e 75 6d 2d 6c 6f 63 61 6c 73 20 20 20 28 6c 6f | .-8))..........(num-locals...(lo | 
| 15cc0 | 67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 73    74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 29 29 | gand.255.(aref.stack.(+.4.fp)))) | 
| 15ce0 | 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74    2d 6c 6f 63 61 6c 73 20 28 2b 20 35 20 66 70 29 | ..........(start-locals.(+.5.fp) | 
| 15d00 | 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72    74 2d 65 76 61 6c 20 20 20 28 2b 20 35 20 66 70 | )..........(start-eval...(+.5.fp | 
| 15d20 | 20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20    20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 | .num-locals))..........(local-va | 
| 15d40 | 72 73 20 20 20 27 28 29 29 0a 20 20 20 20 20 20    20 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 | rs...'())..........(eval-stack.. | 
| 15d60 | 20 27 28 29 29 29 0a 20 20 20 20 28 69 66 20 28    6e 6f 74 20 28 7a 65 72 6f 70 20 6e 75 6d 2d 6c | .'())).....(if.(not.(zerop.num-l | 
| 15d80 | 6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20    28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 | ocals)).........(setq.local-vars | 
| 15da0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f | ...............(malyon-vector-to | 
| 15dc0 | 2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72    74 2d 6c 6f 63 61 6c 73 20 73 74 61 72 74 2d 65 | -list.stack.start-locals.start-e | 
| 15de0 | 76 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28    3e 20 73 70 20 73 74 61 72 74 2d 65 76 61 6c 29 | val))).....(if.(>.sp.start-eval) | 
| 15e00 | 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65    76 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 | .........(setq.eval-stack....... | 
| 15e20 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73 | ........(malyon-vector-to-list.s | 
| 15e40 | 74 61 63 6b 20 73 74 61 72 74 2d 65 76 61 6c 20    28 2b 20 31 20 73 70 29 29 29 29 0a 20 20 20 20 | tack.start-eval.(+.1.sp))))..... | 
| 15e60 | 28 76 65 63 74 6f 72 20 66 72 61 6d 65 2d 69 64    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 | (vector.frame-id.............(-. | 
| 15e80 | 66 70 20 6f 66 66 73 65 74 20 32 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 31 | fp.offset.2).............(-.fp.1 | 
| 15ea0 | 29 0a 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....... | 
| 15ec0 | 20 20 20 20 20 20 72 65 73 75 6c 74 2d 61 64 64    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f | ......result-addr.............lo | 
| 15ee0 | 63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20    20 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20 | cal-vars.............num-args... | 
| 15f00 | 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 2d 73    74 61 63 6b 29 29 29 0a 0a 28 64 65 66 73 75 62 | ..........eval-stack)))..(defsub | 
| 15f20 | 73 74 20 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 | st.malyon-restore-quetzal-push-s | 
| 15f40 | 74 61 63 6b 20 28 76 61 6c 75 65 29 0a 20 20 22    50 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74 | tack.(value)..."Push.a.value.ont | 
| 15f60 | 6f 20 74 68 65 20 72 65 73 74 6f 72 65 20 71 75    65 74 7a 61 6c 20 73 74 61 63 6b 2e 22 0a 20 20 | o.the.restore.quetzal.stack."... | 
| 15f80 | 28 73 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 | (setq.malyon-restore-quetzal-sta | 
| 15fa0 | 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20    20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 72 65 73 | ck-pointer.........(+.malyon-res | 
| 15fc0 | 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 20 31 29 29 0a 20 | tore-quetzal-stack-pointer.1)).. | 
| 15fe0 | 20 28 61 73 65 74 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 | .(aset.malyon-restore-quetzal-st | 
| 16000 | 61 63 6b 0a 20 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 | ack.........malyon-restore-quetz | 
| 16020 | 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72    0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 | al-stack-pointer.........value)) | 
| 16040 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    70 75 73 68 2d 73 74 61 63 6b 2d 66 72 61 6d 65 | ..(defun.malyon-push-stack-frame | 
| 16060 | 0a 20 20 28 66 72 61 6d 65 2d 69 64 20 72 65 74    75 72 6e 2d 61 64 64 72 20 72 65 73 75 6c 74 20 | ...(frame-id.return-addr.result. | 
| 16080 | 6c 6f 63 61 6c 2d 76 61 72 73 20 6e 75 6d 2d 61    72 67 73 20 65 76 61 6c 2d 73 74 61 63 6b 29 0a | local-vars.num-args.eval-stack). | 
| 160a0 | 20 20 22 50 75 73 68 65 73 20 61 20 6e 65 77 20    73 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 71 | .."Pushes.a.new.stack.frame.in.q | 
| 160c0 | 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20    28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d | uetzal.mode."...(malyon-restore- | 
| 160e0 | 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 6c 74 20 30 20 | quetzal-push-stack.(if.result.0. | 
| 16100 | 31 29 29 0a 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 | 1))...(malyon-restore-quetzal-pu | 
| 16120 | 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73    75 6c 74 20 72 65 73 75 6c 74 20 30 29 29 0a 20 | sh-stack.(if.result.result.0)).. | 
| 16140 | 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 74 | .(malyon-restore-quetzal-push-st | 
| 16160 | 61 63 6b 20 72 65 74 75 72 6e 2d 61 64 64 72 29    0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f | ack.return-addr)...(malyon-resto | 
| 16180 | 72 65 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 | re-quetzal-push-stack....(logior | 
| 161a0 | 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d    72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d | .(lsh.(-.malyon-restore-quetzal- | 
| 161c0 | 73 74 61 63 6b 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 20 20 | stack-pointer................... | 
| 161e0 | 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 61 6d 65 2d 70 6f | .malyon-restore-quetzal-frame-po | 
| 16200 | 69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20    20 20 20 20 20 6e 75 6d 2d 61 72 67 73 29 29 0a | inter).8)............num-args)). | 
| 16220 | 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 | 
| 16240 | 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20    28 6c 73 68 20 66 72 61 6d 65 2d 69 64 20 38 29 | tack....(logior.(lsh.frame-id.8) | 
| 16260 | 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c 2d 76    61 72 73 29 29 29 0a 20 20 28 73 65 74 71 20 6d | .(length.local-vars)))...(setq.m | 
| 16280 | 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75    65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e | alyon-restore-quetzal-frame-poin | 
| 162a0 | 74 65 72 0a 20 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 | ter.........malyon-restore-quetz | 
| 162c0 | 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72    29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 | al-stack-pointer)...(while.(not. | 
| 162e0 | 28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73    29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 | (null.local-vars)).....(malyon-r | 
| 16300 | 65 73 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 63 61 72 20 6c | estore-quetzal-push-stack.(car.l | 
| 16320 | 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20    28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 | ocal-vars)).....(setq.local-vars | 
| 16340 | 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73    29 29 29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f | .(cdr.local-vars)))...(while.(no | 
| 16360 | 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 28 6d 61 6c 79 6f 6e | t.(null.eval-stack)).....(malyon | 
| 16380 | 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 6b 20 28 63 61 72 | -restore-quetzal-push-stack.(car | 
| 163a0 | 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20    20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 | .eval-stack)).....(setq.eval-sta | 
| 163c0 | 63 6b 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61    63 6b 29 29 29 29 0a 0a 3b 3b 20 6f 74 68 65 72 | ck.(cdr.eval-stack))))..;;.other | 
| 163e0 | 20 73 74 75 66 66 0a 0a 28 64 65 66 76 61 72 20    6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 | .stuff..(defvar.malyon-aread-tex | 
| 16400 | 74 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 62 75    66 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e | t.nil..."Text.buffer.for.user.in | 
| 16420 | 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20    6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 | put.")..(defvar.malyon-aread-par | 
| 16440 | 73 65 20 6e 69 6c 0a 20 20 22 50 61 72 73 65 20    62 75 66 66 65 72 20 66 6f 72 20 75 73 65 72 20 | se.nil..."Parse.buffer.for.user. | 
| 16460 | 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 | input.")..(defvar.malyon-aread-b | 
| 16480 | 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65    20 6e 69 6c 0a 20 20 22 54 68 65 20 62 65 67 69 | eginning-of-line.nil..."The.begi | 
| 164a0 | 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 70    75 74 20 6c 69 6e 65 2e 22 29 0a 0a 3b 3b 20 65 | nning.of.the.input.line.")..;;.e | 
| 164c0 | 78 65 63 75 74 69 6f 6e 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 | xecution..(defun.malyon-interpre | 
| 164e0 | 74 65 72 20 28 29 0a 20 20 22 52 75 6e 20 74 68    65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 | ter.()..."Run.the.Z-code.interpr | 
| 16500 | 65 74 65 72 20 6f 6e 20 74 68 65 20 67 69 76 65    6e 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 | eter.on.the.given.story.file.".. | 
| 16520 | 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 20 22 75 | .(malyon-hide-internal-errors."u | 
| 16540 | 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 65 20 65 72 72 6f | nspecified.internal.runtime.erro | 
| 16560 | 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 6f 6e 2d 72 65 73 | r.".....(progn.......(malyon-res | 
| 16580 | 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 0a 20 20 20 20 20 | tore-window-configuration)...... | 
| 165a0 | 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72    79 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 | .(if.malyon-story-file.......... | 
| 165c0 | 20 28 63 61 74 63 68 20 27 6d 61 6c 79 6f 6e 2d    65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 | .(catch.'malyon-end-of-interpret | 
| 165e0 | 65 72 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | er-loop.............(setq.malyon | 
| 16600 | 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 75 | -last-cursor-position-after-inpu | 
| 16620 | 74 0a 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 70 6f 69 6e | t...................(malyon-poin | 
| 16640 | 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 29 | t-max.malyon-transcript-buffer)) | 
| 16660 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 65 78 65 63 75 74 65 29 29 29 29 | .............(malyon-execute)))) | 
| 16680 | 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 61 72 69 61 | ))..(defsubst.malyon-fetch-varia | 
| 166a0 | 62 6c 65 2d 6f 70 65 72 61 6e 64 73 20 28 73 70    65 63 69 66 69 65 72 29 0a 20 20 22 46 65 74 63 | ble-operands.(specifier)..."Fetc | 
| 166c0 | 68 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d    62 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20 | h.a.variable.number.of.operands. | 
| 166e0 | 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65    63 69 66 69 65 72 20 61 72 67 75 6d 65 6e 74 2e | based.on.the.specifier.argument. | 
| 16700 | 22 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 20    28 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65 | "...(let.((var..(logand.specifie | 
| 16720 | 72 20 34 39 31 35 32 29 29 0a 20 20 20 20 20 20    20 20 28 6f 70 20 20 20 27 28 29 29 29 0a 20 20 | r.49152)).........(op...'()))... | 
| 16740 | 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 35 35 33 35 20 | ..(setq.specifier.(logand.65535. | 
| 16760 | 73 70 65 63 69 66 69 65 72 29 29 0a 20 20 20 20    28 77 68 69 6c 65 20 28 2f 3d 20 30 20 73 70 65 | specifier)).....(while.(/=.0.spe | 
| 16780 | 63 69 66 69 65 72 29 0a 20 20 20 20 20 20 28 63    6f 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20 | cifier).......(cond.((=.var.0).. | 
| 167a0 | 20 20 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 63 | ...(setq.op.(cons.(malyon-read-c | 
| 167c0 | 6f 64 65 2d 77 6f 72 64 29 20 6f 70 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 | ode-word).op))).............((=. | 
| 167e0 | 76 61 72 20 31 36 33 38 34 29 20 28 73 65 74 71    20 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f | var.16384).(setq.op.(cons.(malyo | 
| 16800 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 | n-read-code-byte).op)))......... | 
| 16820 | 20 20 20 20 28 28 3d 20 76 61 72 20 33 32 37 36    38 29 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e | ....((=.var.32768).(setq.op.(con | 
| 16840 | 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76    61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 | s.(malyon-read-variable......... | 
| 16860 | 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 | ................................ | 
| 16880 | 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 29 20 6f 70 29 29 | ...(malyon-read-code-byte)).op)) | 
| 168a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74    20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | ).............(t.............(se | 
| 168c0 | 74 71 20 73 70 65 63 69 66 69 65 72 20 30 29 29    29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 70 | tq.specifier.0))).......(setq.sp | 
| 168e0 | 65 63 69 66 69 65 72 20 28 6c 6f 67 61 6e 64 20    36 35 35 33 35 20 28 6c 73 68 20 73 70 65 63 69 | ecifier.(logand.65535.(lsh.speci | 
| 16900 | 66 69 65 72 20 32 29 29 29 0a 20 20 20 20 20 20    28 73 65 74 71 20 76 61 72 20 20 28 6c 6f 67 61 | fier.2))).......(setq.var..(loga | 
| 16920 | 6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31    35 32 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 | nd.specifier.49152))).....(nreve | 
| 16940 | 72 73 65 20 6f 70 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 | rse.op)))..(defsubst.malyon-fetc | 
| 16960 | 68 2d 65 78 74 65 6e 64 65 64 20 28 6f 70 63 6f    64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 | h-extended.(opcode)..."Fetch.ope | 
| 16980 | 72 61 6e 64 73 20 66 6f 72 20 61 6e 20 65 78 74    65 6e 64 65 64 20 69 6e 73 74 72 75 63 74 69 6f | rands.for.an.extended.instructio | 
| 169a0 | 6e 2e 22 0a 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 | n."...(malyon-fetch-variable-ope | 
| 169c0 | 72 61 6e 64 73 0a 20 20 20 28 6c 6f 67 69 6f 72    20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 | rands....(logior.(lsh.(malyon-re | 
| 169e0 | 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29    20 32 35 35 29 29 29 0a 0a 28 64 65 66 73 75 62 | ad-code-byte).8).255)))..(defsub | 
| 16a00 | 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d    76 61 72 69 61 62 6c 65 20 28 6f 70 63 6f 64 65 | st.malyon-fetch-variable.(opcode | 
| 16a20 | 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 76 61 72 69 61 62 | )..."Fetch.operands.for.a.variab | 
| 16a40 | 6c 65 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 63 68 | le.instruction."...(malyon-fetch | 
| 16a60 | 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e    64 73 0a 20 20 20 28 69 66 20 28 6f 72 20 28 3d | -variable-operands....(if.(or.(= | 
| 16a80 | 20 6f 70 63 6f 64 65 20 32 33 36 29 20 28 3d 20    6f 70 63 6f 64 65 20 32 35 30 29 29 0a 20 20 20 | .opcode.236).(=.opcode.250)).... | 
| 16aa0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 63 6f 64 65 2d 77 6f 72 64 29 0a 20 20 20 20 | ....(malyon-read-code-word)..... | 
| 16ac0 | 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d | .(logior.(lsh.(malyon-read-code- | 
| 16ae0 | 62 79 74 65 29 20 38 29 20 32 35 35 29 29 29 29    0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 | byte).8).255))))..(defsubst.maly | 
| 16b00 | 6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 28    6f 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 | on-fetch-short.(opcode)..."Fetch | 
| 16b20 | 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 20    73 68 6f 72 74 20 69 6e 73 74 72 75 63 74 69 6f | .operands.for.a.short.instructio | 
| 16b40 | 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 20    28 6c 6f 67 61 6e 64 20 6f 70 63 6f 64 65 20 34 | n."...(let.((op.(logand.opcode.4 | 
| 16b60 | 38 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28    28 3d 20 6f 70 20 30 29 20 20 28 6c 69 73 74 20 | 8))).....(cond.((=.op.0)..(list. | 
| 16b80 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64    65 2d 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 | (malyon-read-code-word)))....... | 
| 16ba0 | 20 20 20 20 28 28 3d 20 6f 70 20 31 36 29 20 28    6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | ....((=.op.16).(list.(malyon-rea | 
| 16bc0 | 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 28 28 3d 20 6f 70 20 | d-code-byte)))...........((=.op. | 
| 16be0 | 33 32 29 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 | 32).(list.(malyon-read-variable. | 
| 16c00 | 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 29 29 29 29 0a 0a 28 | (malyon-read-code-byte)))))))..( | 
| 16c20 | 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d    66 65 74 63 68 2d 6c 6f 6e 67 20 28 69 6e 73 74 | defsubst.malyon-fetch-long.(inst | 
| 16c40 | 72 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 6c 6f 6e 67 20 | r)..."Fetch.operands.for.a.long. | 
| 16c60 | 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20    28 6c 65 74 20 28 28 62 79 74 65 31 20 28 6d 61 | instruction."...(let.((byte1.(ma | 
| 16c80 | 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62    79 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 | lyon-read-code-byte)).........(b | 
| 16ca0 | 79 74 65 32 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 | yte2.(malyon-read-code-byte))).. | 
| 16cc0 | 20 20 20 28 6c 69 73 74 20 28 69 66 20 28 3d 20    28 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 36 34 | ...(list.(if.(=.(logand.instr.64 | 
| 16ce0 | 29 20 30 29 20 62 79 74 65 31 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 | ).0).byte1.(malyon-read-variable | 
| 16d00 | 20 62 79 74 65 31 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 3d 20 28 6c 6f 67 61 6e | .byte1))...........(if.(=.(logan | 
| 16d20 | 64 20 69 6e 73 74 72 20 33 32 29 20 30 29 20 62    79 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | d.instr.32).0).byte2.(malyon-rea | 
| 16d40 | 64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 32    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | d-variable.byte2)))))..(defun.ma | 
| 16d60 | 6c 79 6f 6e 2d 65 78 65 63 75 74 65 20 28 29 0a    20 20 22 45 78 65 63 75 74 65 20 5a 2d 63 6f 64 | lyon-execute.()..."Execute.Z-cod | 
| 16d80 | 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a    4c 6f 61 64 20 74 68 65 20 6e 65 78 74 20 69 6e | e.instructions..Load.the.next.in | 
| 16da0 | 73 74 72 75 63 74 69 6f 6e 20 6f 70 63 6f 64 65    20 61 6e 64 20 69 74 73 20 6f 70 65 72 61 6e 64 | struction.opcode.and.its.operand | 
| 16dc0 | 73 20 61 6e 64 20 65 78 65 63 75 74 65 20 69 74    2e 0a 52 65 70 65 61 74 20 61 64 20 69 6e 66 69 | s.and.execute.it..Repeat.ad.infi | 
| 16de0 | 6e 69 74 75 6d 2e 22 0a 20 20 28 6c 65 74 20 28    28 6f 70 63 6f 64 65 29 20 28 6f 70 65 72 61 6e | nitum."...(let.((opcode).(operan | 
| 16e00 | 64 73 29 29 3b 20 28 70 63 29 29 0a 20 20 20 20    28 77 68 69 6c 65 20 74 0a 3b 20 20 20 20 20 20 | ds));.(pc)).....(while.t.;...... | 
| 16e20 | 28 73 65 74 71 20 70 63 20 6d 61 6c 79 6f 6e 2d    69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e | (setq.pc.malyon-instruction-poin | 
| 16e40 | 74 65 72 29 0a 20 20 20 20 20 20 28 73 65 74 71    20 6f 70 63 6f 64 65 20 28 6d 61 6c 79 6f 6e 2d | ter).......(setq.opcode.(malyon- | 
| 16e60 | 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 65 | read-code-byte)).......(setq.ope | 
| 16e80 | 72 61 6e 64 73 20 28 63 6f 6e 64 20 28 28 3d 20    20 6f 70 63 6f 64 65 20 31 39 30 29 0a 20 20 20 | rands.(cond.((=..opcode.190).... | 
| 16ea0 | 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 73 65 74 71 20 6f | .........................(setq.o | 
| 16ec0 | 70 63 6f 64 65 20 28 2b 20 32 35 36 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 | pcode.(+.256.(malyon-read-code-b | 
| 16ee0 | 79 74 65 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 | yte))).......................... | 
| 16f00 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68    2d 65 78 74 65 6e 64 65 64 20 6f 70 63 6f 64 65 | ...(malyon-fetch-extended.opcode | 
| 16f20 | 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 20 28 28 | ))............................(( | 
| 16f40 | 3e 3d 20 6f 70 63 6f 64 65 20 31 39 32 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >=.opcode.192).................. | 
| 16f60 | 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 76 61 72 69 61 62 6c | ...........(malyon-fetch-variabl | 
| 16f80 | 65 20 6f 70 63 6f 64 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 | e.opcode))...................... | 
| 16fa0 | 20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64    65 20 31 32 38 29 0a 20 20 20 20 20 20 20 20 20 | ......((>=.opcode.128).......... | 
| 16fc0 | 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 66 65 74 63 68 | ...................(malyon-fetch | 
| 16fe0 | 2d 73 68 6f 72 74 20 6f 70 63 6f 64 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -short.opcode))................. | 
| 17000 | 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................... | 
| 17020 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 66 65 74 63 68 2d 6c 6f 6e 67 20 6f 70 63 | ..........(malyon-fetch-long.opc | 
| 17040 | 6f 64 65 29 29 29 29 0a 3b 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63 | ode)))).;......(malyon-trace-opc | 
| 17060 | 6f 64 65 20 70 63 20 6f 70 63 6f 64 65 20 6f 70    65 72 61 6e 64 73 29 0a 20 20 20 20 20 20 28 61 | ode.pc.opcode.operands).......(a | 
| 17080 | 70 70 6c 79 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 64 65 | pply.(aref.malyon-opcodes.opcode | 
| 170a0 | 29 20 6f 70 65 72 61 6e 64 73 29 29 29 29 0a 0a    3b 3b 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66 | ).operands))))..;;.opcodes..(def | 
| 170c0 | 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6e 75 6d    62 65 72 20 28 6e 29 0a 20 20 22 43 6f 6e 76 65 | subst.malyon-number.(n)..."Conve | 
| 170e0 | 72 74 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 6e    75 6d 62 65 72 20 69 6e 74 6f 20 61 20 73 69 67 | rt.an.unsigned.number.into.a.sig | 
| 17100 | 6e 65 64 20 6f 6e 65 2e 22 0a 20 20 28 69 66 20    28 3c 20 6e 20 33 32 37 36 38 29 20 6e 20 28 2d | ned.one."...(if.(<.n.32768).n.(- | 
| 17120 | 20 6e 20 36 35 35 33 36 29 29 29 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | .n.65536)))..(defun.malyon-opcod | 
| 17140 | 65 2d 61 64 64 20 28 61 20 62 29 0a 20 20 22 41    64 64 69 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c | e-add.(a.b)..."Addition."...(mal | 
| 17160 | 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- | 
| 17180 | 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)...................... | 
| 171a0 | 20 20 20 20 28 2b 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 | 
| 171c0 | 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 | 
| 171e0 | 6f 64 65 2d 61 6e 64 20 28 61 20 62 29 0a 20 20    22 42 69 74 77 69 73 65 20 61 6e 64 2e 22 0a 20 | ode-and.(a.b)..."Bitwise.and.".. | 
| 17200 | 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 2d | .(malyon-store-variable.(malyon- | 
| 17220 | 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20    28 6c 6f 67 61 6e 64 20 61 20 62 29 29 29 0a 0a | read-code-byte).(logand.a.b))).. | 
| 17240 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 61 72 65 61 64 20 28 74 65 78 74 | (defun.malyon-opcode-aread.(text | 
| 17260 | 20 70 61 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c    20 74 69 6d 65 20 72 6f 75 74 69 6e 65 29 0a 20 | .parse.&optional.time.routine).. | 
| 17280 | 20 22 52 65 61 64 20 69 6e 70 75 74 20 74 65 78    74 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 | ."Read.input.text."...(setq.maly | 
| 172a0 | 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 74 65    78 74 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 | on-aread-text.text)...(setq.maly | 
| 172c0 | 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 70    61 72 73 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 | on-aread-parse.parse)...(goto-ch | 
| 172e0 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 | ar.(point-max))...(setq.malyon-a | 
| 17300 | 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 29 29 0a | read-beginning-of-line.(point)). | 
| 17320 | 3b 20 53 6f 6d 65 20 67 61 6d 65 73 20 76 69 6f    6c 61 74 65 20 74 68 65 73 65 20 61 73 73 75 6d | ;.Some.games.violate.these.assum | 
| 17340 | 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 22    51 75 69 74 22 20 71 75 65 73 74 69 6f 6e 2e 0a | ptions.for.the."Quit".question.. | 
| 17360 | 3b 20 20 28 69 66 20 28 3e 20 33 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 65 | ;..(if.(>.3.(malyon-read-byte.te | 
| 17380 | 78 74 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 | xt)).;......(malyon-fatal-error. | 
| 173a0 | 22 74 65 78 74 20 62 75 66 66 65 72 20 6c 65 73    73 20 74 68 61 6e 20 33 20 62 79 74 65 73 2e 22 | "text.buffer.less.than.3.bytes." | 
| 173c0 | 29 29 0a 3b 20 20 28 69 66 20 28 61 6e 64 20 28    6e 6f 74 20 28 7a 65 72 6f 70 20 70 61 72 73 65 | )).;..(if.(and.(not.(zerop.parse | 
| 173e0 | 29 29 20 28 3e 20 32 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29 | )).(>.2.(malyon-read-byte.parse) | 
| 17400 | 29 29 0a 3b 20 20 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 | )).;......(malyon-fatal-error."p | 
| 17420 | 61 72 73 65 20 62 75 66 66 65 72 20 6c 65 73 73    20 74 68 61 6e 20 32 20 62 79 74 65 73 2e 22 29 | arse.buffer.less.than.2.bytes.") | 
| 17440 | 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 72 | )...(malyon-more.malyon-keymap-r | 
| 17460 | 65 61 64 29 0a 20 20 28 74 68 72 6f 77 20 27 6d    61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 | ead)...(throw.'malyon-end-of-int | 
| 17480 | 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 6e 67 2d 66 6f | erpreter-loop.'malyon-waiting-fo | 
| 174a0 | 72 2d 69 6e 70 75 74 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 | r-input))..(defun.malyon-opcode- | 
| 174c0 | 61 72 74 2d 73 68 69 66 74 20 28 76 61 6c 75 65    20 70 6c 61 63 65 73 29 0a 20 20 22 41 72 69 74 | art-shift.(value.places)..."Arit | 
| 174e0 | 68 6d 65 74 69 63 20 73 68 69 66 74 2e 22 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | hmetic.shift."...(malyon-store-v | 
| 17500 | 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 20 | ariable.(malyon-read-code-byte). | 
| 17520 | 28 61 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65    73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | (ash.value.places)))..(defun.mal | 
| 17540 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65    72 2d 6d 6f 64 65 20 28 6d 6f 64 65 29 0a 20 20 | yon-opcode-buffer-mode.(mode)... | 
| 17560 | 22 54 6f 67 67 6c 65 73 20 62 75 66 66 65 72 69    6e 67 20 6f 66 20 74 65 78 74 20 69 6e 20 74 68 | "Toggles.buffering.of.text.in.th | 
| 17580 | 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 69 6e    64 6f 77 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 | e.transcript.window."...(setq.ma | 
| 175a0 | 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 20 | lyon-transcript-buffer-buffered. | 
| 175c0 | 28 2f 3d 20 30 20 6d 6f 64 65 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | (/=.0.mode)))..(defun.malyon-opc | 
| 175e0 | 6f 64 65 2d 63 61 6c 6c 6e 20 28 72 6f 75 74 69    6e 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e | ode-calln.(routine.&rest.argumen | 
| 17600 | 74 73 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f    75 74 69 6e 65 20 61 6e 64 20 69 67 6e 6f 72 65 | ts)..."Call.a.routine.and.ignore | 
| 17620 | 20 74 68 65 20 72 65 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 | .the.result."...(malyon-call-rou | 
| 17640 | 74 69 6e 65 20 72 6f 75 74 69 6e 65 20 61 72 67    75 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 75 6e | tine.routine.arguments))..(defun | 
| 17660 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63    61 6c 6c 73 20 28 72 6f 75 74 69 6e 65 20 26 72 | .malyon-opcode-calls.(routine.&r | 
| 17680 | 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 74 69 6e 65 | est.arguments)..."Call.a.routine | 
| 176a0 | 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 72    65 73 75 6c 74 2e 22 0a 20 20 28 6d 61 6c 79 6f | .and.store.the.result."...(malyo | 
| 176c0 | 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 6d 65 6e 74 73 | n-call-routine.routine.arguments | 
| 176e0 | 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 0a 28 64 65 66 | .(malyon-read-code-byte)))..(def | 
| 17700 | 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 63 61 74 63 68 20 28 29 0a 20 20 22 52 65 74 | un.malyon-opcode-catch.()..."Ret | 
| 17720 | 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20    73 74 61 63 6b 20 66 72 61 6d 65 2e 22 0a 20 20 | urn.the.current.stack.frame."... | 
| 17740 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61    72 69 61 62 6c 65 0a 20 20 20 28 6d 61 6c 79 6f | (malyon-store-variable....(malyo | 
| 17760 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 0a 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d | n-read-code-byte)....(if.malyon- | 
| 17780 | 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 28 6c 73 68 20 28 | game-state-quetzal........(lsh.( | 
| 177a0 | 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 | 
| 177c0 | 6f 69 6e 74 65 72 29 20 2d 38 29 0a 20 20 20 20    20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f | ointer).-8)......malyon-frame-po | 
| 177e0 | 69 6e 74 65 72 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 63 | inter)))..(defun.malyon-opcode-c | 
| 17800 | 68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 28    63 6f 75 6e 74 29 0a 20 20 22 54 65 73 74 73 20 | heck-arg-count.(count)..."Tests. | 
| 17820 | 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72    67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 | the.number.of.arguments.passed.t | 
| 17840 | 6f 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 28 6d    61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 | o.routine."...(malyon-jump-if... | 
| 17860 | 20 28 3c 3d 20 63 6f 75 6e 74 20 28 6c 6f 67 61    6e 64 20 32 35 35 20 28 61 72 65 66 20 6d 61 6c | .(<=.count.(logand.255.(aref.mal | 
| 17880 | 79 6f 6e 2d 73 74 61 63 6b 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yon-stack....................... | 
| 178a0 | 20 20 20 20 20 20 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 | .........(if.malyon-game-state-q | 
| 178c0 | 75 65 74 7a 61 6c 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 | uetzal.......................... | 
| 178e0 | 20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c    79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 | ..........(-.malyon-frame-pointe | 
| 17900 | 72 20 31 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 | r.1)............................ | 
| 17920 | 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61    6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 29 29 29 | ......malyon-frame-pointer)))))) | 
| 17940 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 | ..(defun.malyon-opcode-check-uni | 
| 17960 | 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43    68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 | code.(char)..."Check.whether.the | 
| 17980 | 20 67 69 76 65 6e 20 63 68 61 72 61 63 74 65 72    20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 69 6e | .given.character.is.valid.for.in | 
| 179a0 | 70 75 74 2f 6f 75 74 70 75 74 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 | put/output."...(malyon-store-var | 
| 179c0 | 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 30 29 | iable.(malyon-read-code-byte).0) | 
| 179e0 | 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 6c 65 61 72 2d 61 74 | )..(defun.malyon-opcode-clear-at | 
| 17a00 | 74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69    62 75 74 65 29 0a 20 20 22 43 6c 65 61 72 20 74 | tr.(object.attribute)..."Clear.t | 
| 17a20 | 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 65 6e 20 | he.given.attribute.in.the.given. | 
| 17a40 | 6f 62 6a 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 | object."...(let.((attributes.(ma | 
| 17a60 | 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 29 0a 20 20 20 | lyon-object-address.object)).... | 
| 17a80 | 20 20 20 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 | .....(byte.......(lsh.attribute. | 
| 17aa0 | 2d 33 29 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 | -3))).....(malyon-store-byte.(+. | 
| 17ac0 | 61 74 74 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 | attributes.byte)................ | 
| 17ae0 | 20 20 20 20 20 20 20 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 | ........(logand.(malyon-read-byt | 
| 17b00 | 65 20 28 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 | e.(+.attributes.byte)).......... | 
| 17b20 | 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 78 6f 72 20 28 6c | ......................(logxor.(l | 
| 17b40 | 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e    64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 | sh.128.(-.(logand.attribute.7))) | 
| 17b60 | 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 20 20 | ................................ | 
| 17b80 | 20 20 20 20 20 20 20 20 32 35 35 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | ........255)))))..(defun.malyon- | 
| 17ba0 | 6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c    65 20 28 66 69 72 73 74 20 73 65 63 6f 6e 64 20 | opcode-copy-table.(first.second. | 
| 17bc0 | 73 69 7a 65 29 0a 20 20 22 43 6f 70 69 65 73 20    66 69 72 73 74 20 74 61 62 6c 65 20 6f 6e 74 6f | size)..."Copies.first.table.onto | 
| 17be0 | 20 73 65 63 6f 6e 64 20 6f 6e 65 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20 | .second.one."...(let*.((length.. | 
| 17c00 | 28 61 62 73 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d    62 65 72 20 73 69 7a 65 29 29 29 0a 20 20 20 20 | (abs.(malyon-number.size)))..... | 
| 17c20 | 20 20 20 20 20 28 7a 65 72 6f 20 20 20 20 28 7a    65 72 6f 70 20 73 65 63 6f 6e 64 29 29 0a 20 20 | .....(zero....(zerop.second))... | 
| 17c40 | 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 20    28 6f 72 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e | .......(forward.(or.(<.(malyon-n | 
| 17c60 | 75 6d 62 65 72 20 73 69 7a 65 29 20 30 29 20 28    3e 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 29 | umber.size).0).(>.first.second)) | 
| 17c80 | 29 0a 20 20 20 20 20 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 | )..........(i.......0).......... | 
| 17ca0 | 28 61 20 20 20 20 20 20 20 28 69 66 20 66 6f 72    77 61 72 64 20 66 69 72 73 74 20 28 2b 20 66 69 | (a.......(if.forward.first.(+.fi | 
| 17cc0 | 72 73 74 20 6c 65 6e 67 74 68 20 2d 31 29 29 29    0a 20 20 20 20 20 20 20 20 20 28 62 20 20 20 20 | rst.length.-1)))..........(b.... | 
| 17ce0 | 20 20 20 28 69 66 20 66 6f 72 77 61 72 64 20 28    69 66 20 7a 65 72 6f 20 66 69 72 73 74 20 73 65 | ...(if.forward.(if.zero.first.se | 
| 17d00 | 63 6f 6e 64 29 20 28 2b 20 73 65 63 6f 6e 64 20    6c 65 6e 67 74 68 20 2d 31 29 29 29 29 0a 20 20 | cond).(+.second.length.-1))))... | 
| 17d20 | 20 20 28 77 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 | ..(while.(<.i.length).......(mal | 
| 17d40 | 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 62    20 28 69 66 20 7a 65 72 6f 20 30 20 28 6d 61 6c | yon-store-byte.b.(if.zero.0.(mal | 
| 17d60 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 29    29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 | yon-read-byte.a))).......(setq.i | 
| 17d80 | 20 28 2b 20 69 20 31 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 61 20 28 69 66 20 66 6f 72 77 61 | .(+.i.1).............a.(if.forwa | 
| 17da0 | 72 64 20 28 2b 20 61 20 31 29 20 28 2d 20 61 20    31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rd.(+.a.1).(-.a.1))............. | 
| 17dc0 | 62 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b    20 62 20 31 29 20 28 2d 20 62 20 31 29 29 29 29 | b.(if.forward.(+.b.1).(-.b.1)))) | 
| 17de0 | 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 64 65 63 20 28 76 61 | ))..(defun.malyon-opcode-dec.(va | 
| 17e00 | 72 29 0a 20 20 22 44 65 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)..."Decrement.variable."...(ma | 
| 17e20 | 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......... | 
| 17e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 | .................(-.(malyon-numb | 
| 17e60 | 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 | 
| 17e80 | 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 64 65 63 2d 63 68 | )))..(defun.malyon-opcode-dec-ch | 
| 17ea0 | 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 44 65 63 72 65 6d | k.(variable.threshold)..."Decrem | 
| 17ec0 | 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 6c 65 | ent.variable.and.jump.if.it's.le | 
| 17ee0 | 73 73 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 6c 65 74 | ss.than.the.given.value."...(let | 
| 17f00 | 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 6f 6e 2d | .((value.(malyon-number.(malyon- | 
| 17f20 | 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 20 20 28 | read-variable.variable)))).....( | 
| 17f40 | 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 65 20 28 | malyon-store-variable.variable.( | 
| 17f60 | 2d 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 69 66 20 | -.value.1)).....(malyon-jump-if. | 
| 17f80 | 28 3c 20 28 2d 20 76 61 6c 75 65 20 31 29 20 28    6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 74 68 | (<.(-.value.1).(malyon-number.th | 
| 17fa0 | 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 70 63 6f | reshold)))))..(defun.malyon-opco | 
| 17fc0 | 64 65 2d 64 69 76 20 28 61 20 62 29 0a 20 20 22    44 69 76 69 73 69 6f 6e 2e 22 0a 20 20 28 69 66 | de-div.(a.b)..."Division."...(if | 
| 17fe0 | 20 28 7a 65 72 6f 70 20 62 29 20 28 6d 61 6c 79    6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 | .(zerop.b).(malyon-fatal-error." | 
| 18000 | 64 69 76 69 73 69 6f 6e 20 62 79 20 30 2e 22 29    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | division.by.0."))...(malyon-stor | 
| 18020 | 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 | 
| 18040 | 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 2f 20 28 | e)..........................(/.( | 
| 18060 | 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. | 
| 18080 | 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 65 6e 63 6f | b))))..(defun.malyon-opcode-enco | 
| 180a0 | 64 65 2d 74 65 78 74 20 28 74 65 78 74 20 6c 65    6e 67 74 68 20 66 72 6f 6d 20 65 6e 63 6f 64 65 | de-text.(text.length.from.encode | 
| 180c0 | 64 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65    20 7a 73 63 69 69 20 74 65 78 74 20 73 74 61 72 | d)..."Encode.the.zscii.text.star | 
| 180e0 | 74 69 6e 67 20 61 74 20 66 72 6f 6d 20 77 69 74    68 20 74 68 65 20 67 69 76 65 6e 20 6c 65 6e 67 | ting.at.from.with.the.given.leng | 
| 18100 | 74 68 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69    73 20 73 74 6f 72 65 64 20 61 74 20 65 6e 63 6f | th..The.result.is.stored.at.enco | 
| 18120 | 64 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28    69 20 20 20 20 20 6c 65 6e 67 74 68 29 0a 20 20 | ded."...(let*.((i.....length)... | 
| 18140 | 20 20 20 20 20 20 20 28 6a 20 20 20 20 20 65 6e    63 6f 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 | .......(j.....encoded).......... | 
| 18160 | 28 6c 20 20 20 20 20 27 28 29 29 0a 20 20 20 20    20 20 20 20 20 28 77 6f 72 64 20 20 27 28 29 29 | (l.....'())..........(word..'()) | 
| 18180 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20    30 20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 | ).....(while.(<.0.i).......(setq | 
| 181a0 | 20 6c 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 74 65 | .l.(cons.(malyon-read-byte.(+.te | 
| 181c0 | 78 74 20 66 72 6f 6d 20 69 20 2d 31 29 29 20 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 | xt.from.i.-1)).l).............i. | 
| 181e0 | 28 2d 20 69 20 31 29 29 29 0a 20 20 20 20 28 73    65 74 71 20 77 6f 72 64 20 28 6d 61 6c 79 6f 6e | (-.i.1))).....(setq.word.(malyon | 
| 18200 | 2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61    72 79 2d 77 6f 72 64 0a 09 09 28 61 70 70 65 6e | -encode-dictionary-word...(appen | 
| 18220 | 64 20 28 63 6c 2d 6d 61 70 63 61 6e 20 27 6d 61    6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f | d.(cl-mapcan.'malyon-encode-into | 
| 18240 | 2d 7a 74 65 78 74 20 6c 29 0a 09 09 09 27 28 35    20 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29 | -ztext.l)....'(5.5.5.5.5.5.5.5)) | 
| 18260 | 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c    20 69 20 36 29 0a 20 20 20 20 20 20 28 6d 61 6c | )).....(while.(<.i.6).......(mal | 
| 18280 | 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 6a    20 28 63 61 72 20 6c 29 29 0a 20 20 20 20 20 20 | yon-store-byte.j.(car.l))....... | 
| 182a0 | 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b | (setq.i.(+.1.i).............j.(+ | 
| 182c0 | 20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 6c 20 28 63 64 72 20 77 6f 72 64 29 29 29 | .1.j).............l.(cdr.word))) | 
| 182e0 | 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 61 73 65 2d 6c | ))..(defun.malyon-opcode-erase-l | 
| 18300 | 69 6e 65 20 28 76 61 6c 75 65 29 0a 20 20 22 45    72 61 73 65 73 20 74 68 65 20 72 65 73 74 20 6f | ine.(value)..."Erases.the.rest.o | 
| 18320 | 66 20 74 68 65 20 6c 69 6e 65 2e 22 0a 20 20 28    69 66 20 28 3d 20 76 61 6c 75 65 20 31 29 0a 20 | f.the.line."...(if.(=.value.1).. | 
| 18340 | 20 20 20 20 20 28 69 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 | .....(if.(eq.malyon-transcript-b | 
| 18360 | 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 20 20 20 20 20 20 20 | uffer.(current-buffer))......... | 
| 18380 | 20 20 28 6b 69 6c 6c 2d 6c 69 6e 65 20 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d | ..(kill-line.nil).........(save- | 
| 183a0 | 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20    20 20 20 20 28 6c 65 74 20 28 28 69 20 28 63 75 | excursion...........(let.((i.(cu | 
| 183c0 | 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 | rrent-column))).............(whi | 
| 183e0 | 6c 65 20 28 3c 3d 20 69 20 6d 61 6c 79 6f 6e 2d    6d 61 78 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 | le.(<=.i.malyon-max-column)..... | 
| 18400 | 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20 | ..........(insert.?.)........... | 
| 18420 | 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72    20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....(delete-char.1)............. | 
| 18440 | 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69    29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | ..(setq.i.(+.1.i))))))))..(defun | 
| 18460 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65    72 61 73 65 2d 77 69 6e 64 6f 77 20 28 77 69 6e | .malyon-opcode-erase-window.(win | 
| 18480 | 64 6f 77 29 0a 20 20 22 45 72 61 73 65 20 74 68    65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 | dow)..."Erase.the.contents.of.th | 
| 184a0 | 65 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e 22    0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 | e.given.window."...(save-excursi | 
| 184c0 | 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 77 20    28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 77 | on.....(let.((w.(malyon-number.w | 
| 184e0 | 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 28    69 66 20 28 6f 72 20 28 3d 20 77 20 30 29 20 28 | indow))).......(if.(or.(=.w.0).( | 
| 18500 | 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d 32 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | =.w.-1).(=.w.-2))...........(mal | 
| 18520 | 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72    20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 | yon-erase-buffer.malyon-transcri | 
| 18540 | 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20    20 20 28 69 66 20 28 6f 72 20 28 3d 20 77 20 31 | pt-buffer)).......(if.(or.(=.w.1 | 
| 18560 | 29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20    2d 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ).(=.w.-1).(=.w.-2))...........( | 
| 18580 | 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 61 74 75 | malyon-erase-buffer.malyon-statu | 
| 185a0 | 73 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20    20 28 69 66 20 28 3d 20 77 20 2d 31 29 0a 20 20 | s-buffer)).......(if.(=.w.-1)... | 
| 185c0 | 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 72 2d 77 69 6e | ........(malyon-split-buffer-win | 
| 185e0 | 64 6f 77 73 20 30 29 29 29 0a 20 20 20 20 28 73    65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d | dows.0))).....(setq.malyon-last- | 
| 18600 | 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 0a 20 20 20 20 | cursor-position-after-input..... | 
| 18620 | 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 61 6c 79 6f 6e 2d 74 | ......(malyon-point-max.malyon-t | 
| 18640 | 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | ranscript-buffer))))..(defun.mal | 
| 18660 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63    68 69 6c 64 20 28 6f 62 6a 65 63 74 29 0a 20 20 | yon-opcode-get-child.(object)... | 
| 18680 | 22 47 65 74 20 74 68 65 20 66 69 72 73 74 20 63    68 69 6c 64 20 6f 66 20 74 68 65 20 67 69 76 65 | "Get.the.first.child.of.the.give | 
| 186a0 | 6e 20 6f 62 6a 65 63 74 20 61 6e 64 20 6a 75 6d    70 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 | n.object.and.jump."...(let.((chi | 
| 186c0 | 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 28 6d 61 | ld.(malyon-object-read-child.(ma | 
| 186e0 | 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 29 29 29 0a 20 | lyon-object-address.object)))).. | 
| 18700 | 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 | 
| 18720 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 20 63 68 69 6c 64 29 0a 20 20 20 20 28 6d 61 | n-read-code-byte).child).....(ma | 
| 18740 | 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 2f 3d    20 30 20 63 68 69 6c 64 29 29 29 29 0a 0a 28 64 | lyon-jump-if.(/=.0.child))))..(d | 
| 18760 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 67 65 74 2d 63 75 72 73 6f 72 20 28 61 | efun.malyon-opcode-get-cursor.(a | 
| 18780 | 72 72 61 79 29 0a 20 20 22 52 65 74 72 69 65 76    65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 | rray)..."Retrieves.the.current.c | 
| 187a0 | 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 22    0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | ursor.position."...(with-current | 
| 187c0 | 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 20 20 20 | -buffer.malyon-status-buffer.... | 
| 187e0 | 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77    6f 72 64 20 61 72 72 61 79 20 28 2d 20 28 63 6f | .(malyon-store-word.array.(-.(co | 
| 18800 | 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74    2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 20 31 | unt-lines.(point-min).(point)).1 | 
| 18820 | 29 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 32 20 61 | )).....(malyon-store-word.(+.2.a | 
| 18840 | 72 72 61 79 29 20 28 2b 20 31 20 28 63 75 72 72    65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 0a | rray).(+.1.(current-column))))). | 
| 18860 | 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 6e 65 78 74 2d 70 | .(defun.malyon-opcode-get-next-p | 
| 18880 | 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70    65 72 74 79 29 0a 20 20 22 52 65 74 72 69 65 76 | rop.(object.property)..."Retriev | 
| 188a0 | 65 20 74 68 65 20 66 69 72 73 74 20 6f 72 20 6e    65 78 74 20 70 72 6f 70 65 72 74 79 20 69 64 20 | e.the.first.or.next.property.id. | 
| 188c0 | 6f 66 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c    65 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f | of.object."...(let.((next.(malyo | 
| 188e0 | 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 20 20 20 | n-first-property.object))....... | 
| 18900 | 20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20    20 20 28 69 66 20 28 7a 65 72 6f 70 20 70 72 6f | ..(number.0)).....(if.(zerop.pro | 
| 18920 | 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 27    28 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e | perty).........'().......(setq.n | 
| 18940 | 75 6d 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 | umber.(logand.(malyon-read-byte. | 
| 18960 | 6e 65 78 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 | next)........................... | 
| 18980 | 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 20 | .malyon-object-properties))..... | 
| 189a0 | 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 | 
| 189c0 | 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20    28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 | ty.next)).......(while.(>.number | 
| 189e0 | 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20    20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 | .property).........(setq.number. | 
| 18a00 | 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 29 0a | (logand.(malyon-read-byte.next). | 
| 18a20 | 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 6d 61 6c | .............................mal | 
| 18a40 | 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 20 20 20 20 20 | yon-object-properties))......... | 
| 18a60 | 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 74 79 | (setq.next.(malyon-next-property | 
| 18a80 | 20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 28    69 66 20 28 2f 3d 20 6e 75 6d 62 65 72 20 70 72 | .next))).......(if.(/=.number.pr | 
| 18aa0 | 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20    20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d | operty)...........(malyon-fatal- | 
| 18ac0 | 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 79 20    64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 | error."property.does.not.exist." | 
| 18ae0 | 29 29 29 0a 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 | 
| 18b00 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e    65 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 | lyon-read-byte.next).malyon-obje | 
| 18b20 | 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | ct-properties)).....(malyon-stor | 
| 18b40 | 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 | 
| 18b60 | 65 29 20 6e 75 6d 62 65 72 29 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | e).number)))..(defun.malyon-opco | 
| 18b80 | 64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 28 6f    62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 | de-get-parent.(object)..."Get.th | 
| 18ba0 | 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20    67 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 | e.parent.of.the.given.object.".. | 
| 18bc0 | 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 2d | .(malyon-store-variable.(malyon- | 
| 18be0 | 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 20 20 | read-code-byte)................. | 
| 18c00 | 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 | .........(malyon-object-read-par | 
| 18c20 | 65 6e 74 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 28 6d | ent...........................(m | 
| 18c40 | 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 29 29 29 0a | alyon-object-address.object)))). | 
| 18c60 | 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 70 72 6f 70 20 28 | .(defun.malyon-opcode-get-prop.( | 
| 18c80 | 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 76 61 6c 75 | object.property)..."Get.the.valu | 
| 18ca0 | 65 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 22 0a 20 20 28 | e.of.the.object's.property."...( | 
| 18cc0 | 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 2d 70 72 6f 70 | let*.((address.(malyon-find-prop | 
| 18ce0 | 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 20 20 20 20 20 | erty.object.property)).......... | 
| 18d00 | 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 61 64 64 72 65 | (size....(malyon-read-byte.addre | 
| 18d20 | 73 73 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 61 62 6c 65 | ss))).....(malyon-store-variable | 
| 18d40 | 0a 20 20 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 0a 20 20 | ......(malyon-read-code-byte)... | 
| 18d60 | 20 20 20 28 63 6f 6e 64 20 28 28 7a 65 72 6f 70    20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 | ...(cond.((zerop.address)....... | 
| 18d80 | 20 20 20 20 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 | ......(malyon-read-word.(+.malyo | 
| 18da0 | 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28    2a 20 32 20 28 2d 20 70 72 6f 70 65 72 74 79 20 | n-object-table.(*.2.(-.property. | 
| 18dc0 | 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 | 1)))))............((and.(<..maly | 
| 18de0 | 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 73 68 20 | on-story-version.5).(zerop.(lsh. | 
| 18e00 | 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 | size.-5))).............(malyon-r | 
| 18e20 | 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 20 20 20 20 20 | ead-byte.(+.address.1)))........ | 
| 18e40 | 20 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 | ....((and.(>=.malyon-story-versi | 
| 18e60 | 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f    67 61 6e 64 20 31 39 32 20 73 69 7a 65 29 29 29 | on.5).(zerop.(logand.192.size))) | 
| 18e80 | 0a 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.( | 
| 18ea0 | 2b 20 61 64 64 72 65 73 73 20 31 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 | +.address.1)))............(t.... | 
| 18ec0 | 20 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 20 28 2b 20 61 64 | .........(malyon-read-word.(+.ad | 
| 18ee0 | 64 72 65 73 73 20 31 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 | dress.1)))))))..(defun.malyon-op | 
| 18f00 | 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64    64 72 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 | code-get-prop-addr.(object.prope | 
| 18f20 | 72 74 79 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 6f | rty)..."Get.the.address.of.the.o | 
| 18f40 | 62 6a 65 63 74 27 73 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 | bject's.property."...(let*.((add | 
| 18f60 | 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 62 6a 65 63 | ress.(malyon-find-property.objec | 
| 18f80 | 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 20 20 20 28 | t.property))..........(size....( | 
| 18fa0 | 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 0a 20 20 20 20 20 | malyon-read-byte.address))...... | 
| 18fc0 | 20 20 20 20 28 6f 66 66 73 65 74 20 20 28 69 66    20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 | ....(offset..(if.(<.malyon-story | 
| 18fe0 | 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -version.5)..................... | 
| 19000 | 20 20 31 0a 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 7a 65 72 | ..1.....................(if.(zer | 
| 19020 | 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 73    69 7a 65 29 29 20 31 20 32 29 29 29 29 0a 20 20 | op.(logand.128.size)).1.2))))... | 
| 19040 | 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 | 
| 19060 | 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 20 | -read-code-byte)................ | 
| 19080 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 7a 65 72 6f 70 20 61 64 64 72 65 73 73 29 20 | ............(if.(zerop.address). | 
| 190a0 | 30 20 28 2b 20 61 64 64 72 65 73 73 20 6f 66 66    73 65 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | 0.(+.address.offset)))))..(defun | 
| 190c0 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67    65 74 2d 70 72 6f 70 2d 6c 65 6e 20 28 70 72 6f | .malyon-opcode-get-prop-len.(pro | 
| 190e0 | 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68    65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 | perty)..."Get.the.length.of.the. | 
| 19100 | 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74    79 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a | object's.property."...(let.((siz | 
| 19120 | 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62    79 74 65 20 28 2d 20 70 72 6f 70 65 72 74 79 20 | e.(malyon-read-byte.(-.property. | 
| 19140 | 31 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 61 62 6c 65 | 1)))).....(malyon-store-variable | 
| 19160 | 0a 20 20 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 0a 20 20 | ......(malyon-read-code-byte)... | 
| 19180 | 20 20 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 72 73 69 6f | ...(cond.((<.malyon-story-versio | 
| 191a0 | 6e 20 35 29 20 28 2b 20 31 20 28 6c 73 68 20 73    69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 | n.5).(+.1.(lsh.size.-5)))....... | 
| 191c0 | 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 73 69 7a 65 29 29 20 | .....((zerop.(logand.128.size)). | 
| 191e0 | 20 28 2b 20 31 20 28 6c 73 68 20 73 69 7a 65 20    2d 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(+.1.(lsh.size.-6)))........... | 
| 19200 | 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64    20 20 36 33 20 73 69 7a 65 29 29 20 20 36 34 29 | .((zerop.(logand..63.size))..64) | 
| 19220 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............(t.................. | 
| 19240 | 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20    36 33 20 73 69 7a 65 29 29 29 29 29 29 0a 0a 28 | ........(logand.63.size))))))..( | 
| 19260 | 64 65 66 75 6e 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 | defun.malyon-opcode-get-sibling. | 
| 19280 | 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20    74 68 65 20 6e 65 78 74 20 6f 62 6a 65 63 74 20 | (object)..."Get.the.next.object. | 
| 192a0 | 69 6e 20 74 68 65 20 74 72 65 65 20 61 6e 64 20    6a 75 6d 70 2e 22 0a 20 20 28 6c 65 74 20 28 28 | in.the.tree.and.jump."...(let.(( | 
| 192c0 | 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 2d 73 69 62 6c | sibling.(malyon-object-read-sibl | 
| 192e0 | 69 6e 67 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 | ing.(malyon-object-address.objec | 
| 19300 | 74 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 61 62 6c 65 | t)))).....(malyon-store-variable | 
| 19320 | 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 73 69 62 6c 69 6e 67 | .(malyon-read-code-byte).sibling | 
| 19340 | 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 30 20 73 69 62 6c | ).....(malyon-jump-if.(/=.0.sibl | 
| 19360 | 69 6e 67 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 69 6c | ing))))..(defun.malyon-opcode-il | 
| 19380 | 6c 65 67 61 6c 20 28 26 72 65 73 74 20 69 67 6e    6f 72 65 29 0a 20 20 22 50 72 69 6e 74 20 61 6e | legal.(&rest.ignore)..."Print.an | 
| 193a0 | 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61    6e 64 20 65 78 69 74 20 74 68 65 20 69 6e 74 65 | .error.message.and.exit.the.inte | 
| 193c0 | 72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c    79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 | rpreter."...(malyon-fatal-error. | 
| 193e0 | 22 69 6c 6c 65 67 61 6c 20 6f 70 63 6f 64 65 2e    22 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | "illegal.opcode."))..(defun.maly | 
| 19400 | 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 28 76    61 72 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 | on-opcode-inc.(var)..."Increment | 
| 19420 | 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 76 61 72 69 | .variable."...(malyon-store-vari | 
| 19440 | 61 62 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 | able.var........................ | 
| 19460 | 20 20 28 2b 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 | ..(+.(malyon-number.(malyon-read | 
| 19480 | 2d 76 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 | -variable.var)).1)))..(defun.mal | 
| 194a0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63    68 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 | yon-opcode-inc-chk.(variable.thr | 
| 194c0 | 65 73 68 6f 6c 64 29 0a 20 20 22 49 6e 63 72 65    6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e | eshold)..."Increment.variable.an | 
| 194e0 | 64 20 6a 75 6d 70 20 69 66 20 69 74 27 73 20 67    72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 | d.jump.if.it's.greater.than.the. | 
| 19500 | 67 69 76 65 6e 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 | given.value."...(let.((value.(ma | 
| 19520 | 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 61 72 69 61 62 6c | lyon-number.(malyon-read-variabl | 
| 19540 | 65 20 76 61 72 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 | e.variable)))).....(malyon-store | 
| 19560 | 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62    6c 65 20 28 2b 20 76 61 6c 75 65 20 31 29 29 0a | -variable.variable.(+.value.1)). | 
| 19580 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70    2d 69 66 20 28 3e 20 28 2b 20 76 61 6c 75 65 20 | ....(malyon-jump-if.(>.(+.value. | 
| 195a0 | 31 29 20 28 6d 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 | 1).(malyon-number.threshold))))) | 
| 195c0 | 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 70 75 74 2d 73 74 72 | ..(defun.malyon-opcode-input-str | 
| 195e0 | 65 61 6d 20 28 6e 75 6d 62 65 72 29 0a 20 20 22    53 65 6c 65 63 74 20 74 68 65 20 67 69 76 65 6e | eam.(number)..."Select.the.given | 
| 19600 | 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 20 4f    6e 6c 79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 | .input.stream..Only.the.keyboard | 
| 19620 | 20 69 73 20 73 75 70 70 6f 72 74 65 64 2e 22 0a    20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 61 | .is.supported."...(if.(zerop.(ma | 
| 19640 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 75 6d 62    65 72 29 29 0a 20 20 20 20 20 20 27 28 29 0a 20 | lyon-number.number)).......'().. | 
| 19660 | 20 20 20 28 6d 65 73 73 61 67 65 20 22 4f 6e 6c    79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 | ...(message."Only.the.keyboard.i | 
| 19680 | 73 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 61    6e 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 22 | s.supported.as.an.input.stream." | 
| 196a0 | 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 73 65 72 74 | )))..(defun.malyon-opcode-insert | 
| 196c0 | 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 20 64 65 73    74 69 6e 61 74 69 6f 6e 29 0a 20 20 22 49 6e 73 | -obj.(object.destination)..."Ins | 
| 196e0 | 65 72 74 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e    74 6f 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 | ert.an.object.into.the.children. | 
| 19700 | 6c 69 73 74 20 6f 66 20 61 6e 6f 74 68 65 72 2e    22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 | list.of.another."...(let.((child | 
| 19720 | 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) | 
| 19740 | 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 6e    74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | ).........(parent.(malyon-object | 
| 19760 | 2d 61 64 64 72 65 73 73 20 64 65 73 74 69 6e 61    74 69 6f 6e 29 29 29 0a 20 20 20 20 28 6d 61 6c | -address.destination))).....(mal | 
| 19780 | 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63    74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 6d | yon-remove-object.object).....(m | 
| 197a0 | 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 20 63 68 69 6c 64 | alyon-object-store-parent..child | 
| 197c0 | 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 0a 20 20    20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | .destination).....(malyon-object | 
| 197e0 | 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 63    68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a | -store-sibling.child.(malyon-obj | 
| 19800 | 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70    61 72 65 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c | ect-read-child.parent)).....(mal | 
| 19820 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65    2d 63 68 69 6c 64 20 20 20 70 61 72 65 6e 74 20 | yon-object-store-child...parent. | 
| 19840 | 6f 62 6a 65 63 74 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 | object)))..(defun.malyon-opcode- | 
| 19860 | 6a 65 20 28 61 20 26 72 65 73 74 20 72 65 73 74    29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 | je.(a.&rest.rest)..."Jump.if.fir | 
| 19880 | 73 74 20 6f 70 65 72 61 6e 64 20 65 71 75 61 6c    73 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c | st.operand.equals.any.of.the.fol | 
| 198a0 | 6c 6f 77 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79    6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6d 65 6d 62 | lowing."...(malyon-jump-if.(memb | 
| 198c0 | 65 72 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65    72 20 61 29 20 28 6d 61 70 63 61 72 20 27 6d 61 | er.(malyon-number.a).(mapcar.'ma | 
| 198e0 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 72 65 73 74    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | lyon-number.rest))))..(defun.mal | 
| 19900 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 28 61    20 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 | yon-opcode-jg.(a.b)..."Jump.if.f | 
| 19920 | 69 72 73 74 20 6f 70 65 72 61 6e 64 20 3e 20 73    65 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a | irst.operand.>.second.operand.". | 
| 19940 | 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69    66 20 28 3e 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d | ..(malyon-jump-if.(>.(malyon-num | 
| 19960 | 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 65 | ber.a).(malyon-number.b))))..(de | 
| 19980 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 6a 69 6e 20 28 63 68 69 6c 64 20 70 61 72 | fun.malyon-opcode-jin.(child.par | 
| 199a0 | 65 6e 74 29 0a 20 20 22 4a 75 6d 70 20 69 66 20    73 65 63 6f 6e 64 20 6f 62 6a 65 63 74 20 69 73 | ent)..."Jump.if.second.object.is | 
| 199c0 | 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 66    69 72 73 74 20 6f 6e 65 2e 22 0a 20 20 20 20 28 | .parent.of.the.first.one.".....( | 
| 199e0 | 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20    20 20 20 20 28 3d 20 70 61 72 65 6e 74 20 28 6d | malyon-jump-if......(=.parent.(m | 
| 19a00 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61    64 2d 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e | alyon-object-read-parent.(malyon | 
| 19a20 | 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20    63 68 69 6c 64 29 29 29 29 29 0a 0a 28 64 65 66 | -object-address.child)))))..(def | 
| 19a40 | 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 6a 6c 20 28 61 20 62 29 0a 20 20 22 4a 75 6d | un.malyon-opcode-jl.(a.b)..."Jum | 
| 19a60 | 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61    6e 64 20 3c 20 73 65 63 6f 6e 64 20 6f 70 65 72 | p.if.first.operand.<.second.oper | 
| 19a80 | 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d    6a 75 6d 70 2d 69 66 20 28 3c 20 28 6d 61 6c 79 | and."...(malyon-jump-if.(<.(maly | 
| 19aa0 | 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 62 29 29 29 | on-number.a).(malyon-number.b))) | 
| 19ac0 | 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 75 6d 70 20 28 6f 66 | )..(defun.malyon-opcode-jump.(of | 
| 19ae0 | 66 73 65 74 29 0a 20 20 22 4a 75 6d 70 20 75 6e    63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 2e 22 0a | fset)..."Jump.unconditionally.". | 
| 19b00 | 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 6e 74 | ..(setq.malyon-instruction-point | 
| 19b20 | 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 6e 74 65 72 | er.(+.malyon-instruction-pointer | 
| 19b40 | 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 20 20 | ................................ | 
| 19b60 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6e    75 6d 62 65 72 20 6f 66 66 73 65 74 29 20 2d 32 | .......(malyon-number.offset).-2 | 
| 19b80 | 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 7a 20 28 61 29 | )))..(defun.malyon-opcode-jz.(a) | 
| 19ba0 | 0a 20 20 22 4a 75 6d 70 20 69 66 20 6f 70 65 72    61 6e 64 20 3d 20 30 2e 22 0a 20 20 28 6d 61 6c | ..."Jump.if.operand.=.0."...(mal | 
| 19bc0 | 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 7a 65 72    6f 70 20 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 | yon-jump-if.(zerop.a)))..(defun. | 
| 19be0 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f    61 64 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 | malyon-opcode-load.(variable)... | 
| 19c00 | 22 4c 6f 61 64 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 | "Load.a.variable."...(malyon-sto | 
| 19c20 | 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 79 | re-variable.(malyon-read-code-by | 
| 19c40 | 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 6d 61 | te)..........................(ma | 
| 19c60 | 6c 79 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 0a 0a | lyon-read-variable.variable))).. | 
| 19c80 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6c 6f 61 64 62 20 28 61 72 72 61 | (defun.malyon-opcode-loadb.(arra | 
| 19ca0 | 79 20 69 6e 64 65 78 29 0a 20 20 22 4c 6f 61 64    20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e | y.index)..."Load.an.array.elemen | 
| 19cc0 | 74 20 69 6e 74 6f 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 | t.into.a.variable."...(malyon-st | 
| 19ce0 | 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 | 
| 19d00 | 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 6d | yte)..........................(m | 
| 19d20 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20    28 2b 20 61 72 72 61 79 20 69 6e 64 65 78 29 29 | alyon-read-byte.(+.array.index)) | 
| 19d40 | 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 64 77 20 28 | ))..(defun.malyon-opcode-loadw.( | 
| 19d60 | 61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22    4c 6f 61 64 20 61 6e 20 61 72 72 61 79 20 65 6c | array.index)..."Load.an.array.el | 
| 19d80 | 65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72    69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f | ement.into.a.variable."...(malyo | 
| 19da0 | 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 63 6f | n-store-variable.(malyon-read-co | 
| 19dc0 | 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 20 20 | de-byte)........................ | 
| 19de0 | 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77    6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20 | ..(malyon-read-word.(+.array.(*. | 
| 19e00 | 32 20 69 6e 64 65 78 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 | 2.index)))))..(defun.malyon-opco | 
| 19e20 | 64 65 2d 6c 6f 67 2d 73 68 69 66 74 20 28 76 61    6c 75 65 20 70 6c 61 63 65 73 29 0a 20 20 22 4c | de-log-shift.(value.places)..."L | 
| 19e40 | 6f 67 69 63 61 6c 20 73 68 69 66 74 2e 22 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | ogical.shift."...(malyon-store-v | 
| 19e60 | 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 20 | ariable.(malyon-read-code-byte). | 
| 19e80 | 28 6c 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65    73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | (lsh.value.places)))..(defun.mal | 
| 19ea0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 20 28    61 20 62 29 0a 20 20 22 4d 6f 64 75 6c 6f 2e 22 | yon-opcode-mod.(a.b)..."Modulo." | 
| 19ec0 | 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 | 
| 19ee0 | 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)............... | 
| 19f00 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 20    28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 | ...........(mod.(malyon-number.a | 
| 19f20 | 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 65 66 75 6e 20 6d | ).(malyon-number.b))))..(defun.m | 
| 19f40 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c    20 28 61 20 62 29 0a 20 20 22 4d 75 6c 74 69 70 | alyon-opcode-mul.(a.b)..."Multip | 
| 19f60 | 6c 69 63 61 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 | lication."...(malyon-store-varia | 
| 19f80 | 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 20 20 20 | ble.(malyon-read-code-byte)..... | 
| 19fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 2a 20 28 6d 61 6c 79 6f 6e 2d | .....................(*.(malyon- | 
| 19fc0 | 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 62 29 29 29 29 0a 0a | number.a).(malyon-number.b)))).. | 
| 19fe0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 28 29 | (defun.malyon-opcode-new-line.() | 
| 1a000 | 0a 20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c    69 6e 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d | ..."Print.a.newline."...(malyon- | 
| 1a020 | 6e 65 77 6c 69 6e 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 | newline))..(defun.malyon-opcode- | 
| 1a040 | 6e 6f 70 20 28 26 72 65 73 74 20 69 67 6e 6f 72    65 29 0a 20 20 22 44 6f 20 6e 6f 74 68 69 6e 67 | nop.(&rest.ignore)..."Do.nothing | 
| 1a060 | 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 20 28 61 | .")..(defun.malyon-opcode-not.(a | 
| 1a080 | 29 0a 20 20 22 42 69 74 77 69 73 65 20 6e 6f 74    2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f | )..."Bitwise.not."...(malyon-sto | 
| 1a0a0 | 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 79 | re-variable.(malyon-read-code-by | 
| 1a0c0 | 74 65 29 20 28 6c 6f 67 61 6e 64 20 36 35 35 33    35 20 28 6c 6f 67 6e 6f 74 20 61 29 29 29 29 0a | te).(logand.65535.(lognot.a)))). | 
| 1a0e0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 6f 72 20 28 61 20 62 29 0a 20 | .(defun.malyon-opcode-or.(a.b).. | 
| 1a100 | 20 22 42 69 74 77 69 73 65 20 6f 72 2e 22 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | ."Bitwise.or."...(malyon-store-v | 
| 1a120 | 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 20 | ariable.(malyon-read-code-byte). | 
| 1a140 | 28 6c 6f 67 69 6f 72 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 | (logior.a.b)))..(defun.malyon-op | 
| 1a160 | 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65    61 6d 20 28 73 74 72 65 61 6d 20 26 6f 70 74 69 | code-output-stream.(stream.&opti | 
| 1a180 | 6f 6e 61 6c 20 74 61 62 6c 65 29 0a 20 20 22 53    65 6c 65 63 74 20 61 6e 20 6f 75 74 70 75 74 20 | onal.table)..."Select.an.output. | 
| 1a1a0 | 73 74 72 65 61 6d 2e 22 0a 20 20 28 6c 65 74 20    28 28 73 74 72 65 61 6d 20 28 6d 61 6c 79 6f 6e | stream."...(let.((stream.(malyon | 
| 1a1c0 | 2d 6e 75 6d 62 65 72 20 73 74 72 65 61 6d 29 29    29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 | -number.stream))).....(cond.((<. | 
| 1a1e0 | 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f    6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 | 0.stream).(malyon-add-output-str | 
| 1a200 | 65 61 6d 20 73 74 72 65 61 6d 20 74 61 62 6c 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e | eam.stream.table))...........((> | 
| 1a220 | 20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79    6f 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 | .0.stream).(malyon-remove-output | 
| 1a240 | 2d 73 74 72 65 61 6d 20 28 2d 20 73 74 72 65 61    6d 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | -stream.(-.stream))))))..(defun. | 
| 1a260 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69    72 61 63 79 20 28 29 0a 20 20 22 50 69 72 61 63 | malyon-opcode-piracy.()..."Pirac | 
| 1a280 | 79 20 63 68 65 63 6b 2c 20 65 66 66 65 63 74 69    76 65 6c 79 20 61 6e 20 75 6e 63 6f 6e 64 69 74 | y.check,.effectively.an.uncondit | 
| 1a2a0 | 69 6f 6e 61 6c 20 6a 75 6d 70 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 31 | ional.jump."...(malyon-jump-if.1 | 
| 1a2c0 | 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 6f 70 20 28 29 0a | ))..(defun.malyon-opcode-pop.(). | 
| 1a2e0 | 20 20 22 50 6f 70 20 61 20 76 61 6c 75 65 20 6f    66 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 | .."Pop.a.value.off.the.stack.".. | 
| 1a300 | 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61    63 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | .(malyon-pop-stack))..(defun.mal | 
| 1a320 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74    20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 | yon-opcode-print.()..."Print.a.s | 
| 1a340 | 74 72 69 6e 67 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 | tring."...(setq.malyon-instructi | 
| 1a360 | 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | on-pointer.........(malyon-print | 
| 1a380 | 2d 74 65 78 74 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 | -text.malyon-instruction-pointer | 
| 1a3a0 | 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 72 69 6e 74 2d | )))..(defun.malyon-opcode-print- | 
| 1a3c0 | 61 64 64 72 20 28 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 | addr.(address)..."Print.a.string | 
| 1a3e0 | 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69    6e 74 2d 74 65 78 74 20 61 64 64 72 65 73 73 29 | ."...(malyon-print-text.address) | 
| 1a400 | 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 2d 63 68 | )..(defun.malyon-opcode-print-ch | 
| 1a420 | 61 72 20 28 63 29 0a 20 20 22 50 72 69 6e 74 20    61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 | ar.(c)..."Print.a.character."... | 
| 1a440 | 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63    68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 29 | (malyon-print.(char-to-string.c) | 
| 1a460 | 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 2d 6e | ))..(defun.malyon-opcode-print-n | 
| 1a480 | 75 6d 20 28 6e 29 0a 20 20 22 50 72 69 6e 74 20    61 20 6e 75 6d 62 65 72 2e 22 0a 20 20 28 6d 61 | um.(n)..."Print.a.number."...(ma | 
| 1a4a0 | 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6e 75 6d 62    65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6d 61 | lyon-print.(number-to-string.(ma | 
| 1a4c0 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | lyon-number.n))))..(defun.malyon | 
| 1a4e0 | 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62    6a 20 28 6f 62 6a 29 0a 20 20 22 50 72 69 6e 74 | -opcode-print-obj.(obj)..."Print | 
| 1a500 | 20 74 68 65 20 73 68 6f 72 74 20 6e 61 6d 65 20    6f 66 20 74 68 65 20 6f 62 6a 65 63 74 2e 22 0a | .the.short.name.of.the.object.". | 
| 1a520 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d    74 65 78 74 0a 20 20 20 28 2b 20 31 20 28 6d 61 | ..(malyon-print-text....(+.1.(ma | 
| 1a540 | 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28    2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d | lyon-read-word.(+.malyon-object- | 
| 1a560 | 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | property-offset................. | 
| 1a580 | 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 | 
| 1a5a0 | 65 73 73 20 6f 62 6a 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 | ess.obj))))))..(defun.malyon-opc | 
| 1a5c0 | 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20    28 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 | ode-print-paddr.(address)..."Pri | 
| 1a5e0 | 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 74 2d 74 65 | nt.a.string."...(malyon-print-te | 
| 1a600 | 78 74 20 28 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 61 | xt.(*.malyon-packed-multiplier.a | 
| 1a620 | 64 64 72 65 73 73 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 | ddress)))..(defun.malyon-opcode- | 
| 1a640 | 70 72 69 6e 74 2d 72 65 74 20 28 29 0a 20 20 22    50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2c 20 | print-ret.()..."Print.a.string,. | 
| 1a660 | 70 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2c    20 72 65 74 75 72 6e 20 74 72 75 65 2f 31 2e 22 | print.a.newline,.return.true/1." | 
| 1a680 | 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 6e | ...(setq.malyon-instruction-poin | 
| 1a6a0 | 74 65 72 0a 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d | ter.........(malyon-print-text.m | 
| 1a6c0 | 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 29 0a 20 20 28 6d | alyon-instruction-pointer))...(m | 
| 1a6e0 | 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 72 65 74 75 72 6e 20 | alyon-newline)...(malyon-return. | 
| 1a700 | 31 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 2d | 1))..(defun.malyon-opcode-print- | 
| 1a720 | 74 61 62 6c 65 20 28 74 65 78 74 20 77 69 64 74    68 20 26 6f 70 74 69 6f 6e 61 6c 20 68 65 69 67 | table.(text.width.&optional.heig | 
| 1a740 | 68 74 20 73 6b 69 70 29 0a 20 20 22 50 72 69 6e    74 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c | ht.skip)..."Print.the.given.tabl | 
| 1a760 | 65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 68    65 69 67 68 74 29 20 28 73 65 74 71 20 68 65 69 | e."...(if.(not.height).(setq.hei | 
| 1a780 | 67 68 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e    6f 74 20 73 6b 69 70 29 20 20 20 28 73 65 74 71 | ght.1))...(if.(not.skip)...(setq | 
| 1a7a0 | 20 73 6b 69 70 20 30 29 29 0a 20 20 28 6c 65 74    20 28 28 63 6f 6c 75 6d 6e 20 20 28 63 75 72 72 | .skip.0))...(let.((column..(curr | 
| 1a7c0 | 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20    20 20 20 20 20 28 61 64 64 72 65 73 73 20 74 65 | ent-column)).........(address.te | 
| 1a7e0 | 78 74 29 0a 20 20 20 20 20 20 20 20 28 79 20 20    20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 | xt).........(y.......0)......... | 
| 1a800 | 28 78 20 20 20 20 20 20 20 30 29 29 0a 20 20 20    20 28 77 68 69 6c 65 20 28 3c 20 79 20 68 65 69 | (x.......0)).....(while.(<.y.hei | 
| 1a820 | 67 68 74 29 0a 20 20 20 20 20 20 28 69 66 20 28    7a 65 72 6f 70 20 79 29 0a 20 20 20 20 20 20 20 | ght).......(if.(zerop.y)........ | 
| 1a840 | 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a | ...'().........(malyon-newline). | 
| 1a860 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    70 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 | ........(malyon-print-characters | 
| 1a880 | 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 63 6f    6c 75 6d 6e 20 3f 20 29 29 29 0a 20 20 20 20 20 | .(make-string.column.?.)))...... | 
| 1a8a0 | 20 28 73 65 74 71 20 78 20 30 29 0a 20 20 20 20    20 20 28 77 68 69 6c 65 20 28 3c 20 78 20 77 69 | .(setq.x.0).......(while.(<.x.wi | 
| 1a8c0 | 64 74 68 29 0a 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 | dth).........(malyon-output-char | 
| 1a8e0 | 61 63 74 65 72 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 | acter.(malyon-read-byte.address) | 
| 1a900 | 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20    61 64 64 72 65 73 73 20 28 2b 20 31 20 61 64 64 | ).........(setq.address.(+.1.add | 
| 1a920 | 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28    73 65 74 71 20 78 20 28 2b 20 31 20 78 29 29 29 | ress)).........(setq.x.(+.1.x))) | 
| 1a940 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64    72 65 73 73 20 28 2b 20 73 6b 69 70 20 61 64 64 | .......(setq.address.(+.skip.add | 
| 1a960 | 72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 79 20 28 2b 20 31 20 79 29 29 29 29 29 | ress)).......(setq.y.(+.1.y))))) | 
| 1a980 | 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 75 6e 69 | ..(defun.malyon-opcode-print-uni | 
| 1a9a0 | 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 50    72 69 6e 74 73 20 61 20 75 6e 69 63 6f 64 65 20 | code.(char)..."Prints.a.unicode. | 
| 1a9c0 | 63 68 61 72 61 63 74 65 72 2e 22 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | character.")..(defun.malyon-opco | 
| 1a9e0 | 64 65 2d 70 75 6c 6c 20 28 76 61 72 69 61 62 6c    65 29 0a 20 20 22 50 75 6c 6c 20 76 61 6c 75 65 | de-pull.(variable)..."Pull.value | 
| 1aa00 | 20 6f 66 66 20 73 74 61 63 6b 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 | .off.stack."...(malyon-store-var | 
| 1aa20 | 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28    6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b | iable.variable.(malyon-pop-stack | 
| 1aa40 | 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 75 73 68 20 28 | )))..(defun.malyon-opcode-push.( | 
| 1aa60 | 76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 76    61 6c 75 65 20 6f 6e 74 6f 20 73 74 61 63 6b 2e | value)..."Push.value.onto.stack. | 
| 1aa80 | 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68    2d 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 0a | "...(malyon-push-stack.value)).. | 
| 1aaa0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 28 6f | (defun.malyon-opcode-put-prop.(o | 
| 1aac0 | 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 20 76    61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 | bject.property.value)..."Set.the | 
| 1aae0 | 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72    74 79 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 | .object's.property.to.the.given. | 
| 1ab00 | 76 61 6c 75 65 2e 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 | value."...(let*.((address.(malyo | 
| 1ab20 | 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 72 74 79 29 | n-find-property.object.property) | 
| 1ab40 | 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 72 65 61 64 | )..........(size....(malyon-read | 
| 1ab60 | 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29    0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 61 | -byte.address))).....(cond.((=.a | 
| 1ab80 | 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 | ddress.0)............(malyon-fat | 
| 1aba0 | 61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72    74 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 | al-error."property.does.not.exis | 
| 1abc0 | 74 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e | t."))...........((and.(<..malyon | 
| 1abe0 | 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 73 68 20 73 69 | -story-version.5).(zerop.(lsh.si | 
| 1ac00 | 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | ze.-5)))............(malyon-stor | 
| 1ac20 | 65 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72    65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 | e-byte.(+.1.address).(logand.255 | 
| 1ac40 | 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61 | .value)))...........((and.(>=.ma | 
| 1ac60 | 6c 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 | lyon-story-version.5).(zerop.(lo | 
| 1ac80 | 67 61 6e 64 20 73 69 7a 65 20 31 39 32 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | gand.size.192)))............(mal | 
| 1aca0 | 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 73 73 29 20 28 6c 6f | yon-store-byte.(+.1.address).(lo | 
| 1acc0 | 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 20 20 20 28 74 0a 20 | gand.255.value)))...........(t.. | 
| 1ace0 | 20 20 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 28 2b 20 | ..........(malyon-store-word.(+. | 
| 1ad00 | 31 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | 1.address).value)))))..(defun.ma | 
| 1ad20 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74    20 28 29 0a 20 20 22 45 6e 64 20 74 68 65 20 67 | lyon-opcode-quit.()..."End.the.g | 
| 1ad40 | 61 6d 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e    22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 | ame.immediately."...(malyon-adju | 
| 1ad60 | 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 | st-transcript)...(malyon-cleanup | 
| 1ad80 | 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79    6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 | )...(throw.'malyon-end-of-interp | 
| 1ada0 | 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 29 29 | reter-loop.'malyon-opcode-quit)) | 
| 1adc0 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 72 61 6e 64 6f 6d 20 28 6c | ..(defun.malyon-opcode-random.(l | 
| 1ade0 | 69 6d 69 74 29 0a 20 20 22 47 65 6e 65 72 61 74    65 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 | imit)..."Generate.a.random.numbe | 
| 1ae00 | 72 20 6f 72 20 73 65 74 20 74 68 65 20 73 65 65    64 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c | r.or.set.the.seed.value."...(mal | 
| 1ae20 | 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- | 
| 1ae40 | 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)...................... | 
| 1ae60 | 20 20 20 20 28 69 66 20 28 3e 3d 20 30 20 28 6d    61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d | ....(if.(>=.0.(malyon-number.lim | 
| 1ae80 | 69 74 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 20 | it))............................ | 
| 1aea0 | 20 20 30 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 28 | ..0............................( | 
| 1aec0 | 2b 20 31 20 28 72 61 6e 64 6f 6d 20 28 6d 61 6c    79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74 | +.1.(random.(malyon-number.limit | 
| 1aee0 | 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 72 65 61 | ))))))..(defun.malyon-opcode-rea | 
| 1af00 | 64 2d 63 68 61 72 20 28 26 6f 70 74 69 6f 6e 61    6c 20 64 65 76 69 63 65 20 26 72 65 73 74 20 69 | d-char.(&optional.device.&rest.i | 
| 1af20 | 67 6e 6f 72 65 29 0a 20 20 22 52 65 61 64 20 61    20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 | gnore)..."Read.a.character."...( | 
| 1af40 | 69 66 20 28 61 6e 64 20 64 65 76 69 63 65 20 28    2f 3d 20 31 20 64 65 76 69 63 65 29 29 0a 20 20 | if.(and.device.(/=.1.device))... | 
| 1af60 | 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 69 6c 6c 65 67 61 6c | ....(malyon-fatal-error."illegal | 
| 1af80 | 20 64 65 76 69 63 65 20 73 70 65 63 69 66 69 65    64 20 69 6e 20 72 65 61 64 5f 63 68 61 72 2e 22 | .device.specified.in.read_char." | 
| 1afa0 | 29 29 0a 20 20 28 69 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 | ))...(if.(eq.malyon-transcript-b | 
| 1afc0 | 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 20 20 20 20 20 28 67 | uffer.(current-buffer)).......(g | 
| 1afe0 | 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 6d 65 73 73 61 67 | oto-char.(point-max)))...(messag | 
| 1b000 | 65 20 22 5b 50 72 65 73 73 20 61 20 6b 65 79 2e    5d 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f | e."[Press.a.key.]")...(malyon-mo | 
| 1b020 | 72 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70    2d 72 65 61 64 63 68 61 72 29 0a 20 20 28 74 68 | re.malyon-keymap-readchar)...(th | 
| 1b040 | 72 6f 77 20 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 | row.'malyon-end-of-interpreter-l | 
| 1b060 | 6f 6f 70 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74    69 6e 67 2d 66 6f 72 2d 63 68 61 72 61 63 74 65 | oop.'malyon-waiting-for-characte | 
| 1b080 | 72 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 72 65 6d 6f 76 65 | r))..(defun.malyon-opcode-remove | 
| 1b0a0 | 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 29 0a 20 20    22 52 65 6d 6f 76 65 20 61 6e 20 6f 62 6a 65 63 | -obj.(object)..."Remove.an.objec | 
| 1b0c0 | 74 20 66 72 6f 6d 20 69 74 73 20 70 61 72 65 6e    74 27 73 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 | t.from.its.parent's.children.lis | 
| 1b0e0 | 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    6d 6f 76 65 2d 6f 62 6a 65 63 74 20 6f 62 6a 65 | t."...(malyon-remove-object.obje | 
| 1b100 | 63 74 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 72 65 73 74 61 | ct))..(defun.malyon-opcode-resta | 
| 1b120 | 72 74 20 28 29 0a 20 20 22 52 65 73 74 61 72 74    20 74 68 65 20 67 61 6d 65 2e 22 0a 20 20 28 6d | rt.()..."Restart.the.game."...(m | 
| 1b140 | 61 6c 79 6f 6e 2d 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 | alyon-set-game-state.malyon-game | 
| 1b160 | 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | -state-restart))..(defun.malyon- | 
| 1b180 | 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 20 28    26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 | opcode-restore.(&optional.table. | 
| 1b1a0 | 62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 52    65 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 67 | bytes.name)..."Restore.a.saved.g | 
| 1b1c0 | 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73    65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 | ame.state.or.a.section.of.memory | 
| 1b1e0 | 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20    20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 | .from.a.file."...(let.((result.( | 
| 1b200 | 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | if.name.....................(mal | 
| 1b220 | 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yon-restore-file................ | 
| 1b240 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 65    74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 | ......(malyon-get-file-name.name | 
| 1b260 | 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).table.bytes).................. | 
| 1b280 | 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69    76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 72 65 73 | .(call-interactively.'malyon-res | 
| 1b2a0 | 74 6f 72 65 2d 66 69 6c 65 29 29 29 29 0a 20 20    20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | tore-file)))).....(if.(<.malyon- | 
| 1b2c0 | 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 28 6d 61 6c 79 6f 6e | story-version.5).........(malyon | 
| 1b2e0 | 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a    65 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 | -jump-if.(not.(zerop.result))).. | 
| 1b300 | 20 20 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 | .....(malyon-store-variable.(mal | 
| 1b320 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79    74 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a | yon-read-code-byte).result)))).. | 
| 1b340 | 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 2d 75 6e 64 | (defun.malyon-opcode-restore-und | 
| 1b360 | 6f 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20    67 61 6d 65 20 73 74 61 74 65 20 66 6f 72 20 75 | o.()..."Restore.game.state.for.u | 
| 1b380 | 6e 64 6f 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 75 6e | ndo."...(if.malyon-game-state-un | 
| 1b3a0 | 64 6f 0a 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 | do.......(malyon-set-game-state. | 
| 1b3c0 | 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74    65 2d 75 6e 64 6f 29 29 0a 20 20 28 6d 61 6c 79 | malyon-game-state-undo))...(maly | 
| 1b3e0 | 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 63 | on-store-variable.(malyon-read-c | 
| 1b400 | 6f 64 65 2d 62 79 74 65 29 20 32 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | ode-byte).2))..(defun.malyon-opc | 
| 1b420 | 6f 64 65 2d 72 65 74 20 28 76 61 6c 75 65 29 0a    20 20 22 52 65 74 75 72 6e 20 61 20 76 61 6c 75 | ode-ret.(value)..."Return.a.valu | 
| 1b440 | 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    74 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64 | e."...(malyon-return.value))..(d | 
| 1b460 | 65 66 75 6e 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 20 28 29 | efun.malyon-opcode-ret-popped.() | 
| 1b480 | 0a 20 20 22 52 65 74 75 72 6e 20 74 6f 70 20 6f    66 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c | ..."Return.top.of.stack."...(mal | 
| 1b4a0 | 79 6f 6e 2d 72 65 74 75 72 6e 20 28 6d 61 6c 79    6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a | yon-return.(malyon-pop-stack))). | 
| 1b4c0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 72 66 61 6c 73 65 20 28 29 0a | .(defun.malyon-opcode-rfalse.(). | 
| 1b4e0 | 20 20 22 52 65 74 75 72 6e 20 66 61 6c 73 65 2f    30 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | .."Return.false/0."...(malyon-re | 
| 1b500 | 74 75 72 6e 20 30 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 72 | turn.0))..(defun.malyon-opcode-r | 
| 1b520 | 74 72 75 65 20 28 29 0a 20 20 22 52 65 74 75 72    6e 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 6d 61 | true.()..."Return.true/1."...(ma | 
| 1b540 | 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 6e 2d 6f | lyon-return.1))..(defun.malyon-o | 
| 1b560 | 70 63 6f 64 65 2d 73 61 76 65 20 28 26 6f 70 74    69 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65 | pcode-save.(&optional.table.byte | 
| 1b580 | 73 20 6e 61 6d 65 29 0a 20 20 22 53 61 76 65 20    74 68 65 20 63 75 72 72 65 6e 74 20 67 61 6d 65 | s.name)..."Save.the.current.game | 
| 1b5a0 | 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 63 74    69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f | .state.or.a.section.of.memory.to | 
| 1b5c0 | 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61 | .a.file."...(let.((result.(if.na | 
| 1b5e0 | 6d 65 0a 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 73 | me.....................(malyon-s | 
| 1b600 | 61 76 65 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e    2d 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e | ave-file.(malyon-get-file-name.n | 
| 1b620 | 61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ame).table.bytes)............... | 
| 1b640 | 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61    63 74 69 76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d | ....(call-interactively.'malyon- | 
| 1b660 | 73 61 76 65 2d 66 69 6c 65 29 29 29 29 0a 20 20    20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | save-file)))).....(if.(<.malyon- | 
| 1b680 | 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 28 6d 61 6c 79 6f 6e | story-version.5).........(malyon | 
| 1b6a0 | 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a    65 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 | -jump-if.(not.(zerop.result))).. | 
| 1b6c0 | 20 20 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 | .....(malyon-store-variable.(mal | 
| 1b6e0 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79    74 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a | yon-read-code-byte).result)))).. | 
| 1b700 | 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 2d 75 6e 64 6f 20 28 | (defun.malyon-opcode-save-undo.( | 
| 1b720 | 29 0a 20 20 22 53 61 76 65 20 67 61 6d 65 20 73    74 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a | )..."Save.game.state.for.undo.". | 
| 1b740 | 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67    61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 28 | ..(setq.malyon-game-state-undo.( | 
| 1b760 | 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 0a 20 20 28 6d | malyon-current-game-state))...(m | 
| 1b780 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f | alyon-store-byte.(malyon-read-co | 
| 1b7a0 | 64 65 2d 62 79 74 65 29 20 31 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | de-byte).1))..(defun.malyon-opco | 
| 1b7c0 | 64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 28 78    20 74 61 62 6c 65 20 6c 65 6e 20 26 6f 70 74 69 | de-scan-table.(x.table.len.&opti | 
| 1b7e0 | 6f 6e 61 6c 20 66 6f 72 6d 29 0a 20 20 22 53 63    61 6e 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 | onal.form)..."Scan.the.given.tab | 
| 1b800 | 6c 65 20 66 6f 72 20 74 68 65 20 66 69 72 73 74    20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 78 | le.for.the.first.occurrence.of.x | 
| 1b820 | 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 66 6f    72 6d 29 20 28 73 65 74 71 20 66 6f 72 6d 20 31 | ."...(if.(not.form).(setq.form.1 | 
| 1b840 | 33 30 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e    63 20 28 6c 6f 67 61 6e 64 20 31 32 37 20 66 6f | 30))...(let.((inc.(logand.127.fo | 
| 1b860 | 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 62 79    74 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e | rm)).........(byte.(zerop.(logan | 
| 1b880 | 64 20 31 32 38 20 66 6f 72 6d 29 29 29 0a 20 20    20 20 20 20 20 20 28 61 64 64 72 20 74 61 62 6c | d.128.form))).........(addr.tabl | 
| 1b8a0 | 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 75 6e    64 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e | e).........(found.0).........(in | 
| 1b8c0 | 64 65 78 20 30 29 29 0a 20 20 20 20 28 77 68 69    6c 65 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 66 | dex.0)).....(while.(and.(zerop.f | 
| 1b8e0 | 6f 75 6e 64 29 20 28 3c 20 69 6e 64 65 78 20 6c    65 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 | ound).(<.index.len)).......(setq | 
| 1b900 | 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 69 66 20 62 79 74 65 0a 20 20 20 20 | .found.............(if.byte..... | 
| 1b920 | 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 79 6f 6e 2d 72 65 61 | ............(if.(=.x.(malyon-rea | 
| 1b940 | 64 2d 62 79 74 65 20 61 64 64 72 29 29 20 61 64    64 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 | d-byte.addr)).addr.0)........... | 
| 1b960 | 20 20 20 20 28 69 66 20 28 3d 20 78 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 61 | ....(if.(=.x.(malyon-read-word.a | 
| 1b980 | 64 64 72 29 29 20 61 64 64 72 20 30 29 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 | ddr)).addr.0))).......(setq.addr | 
| 1b9a0 | 20 28 2b 20 61 64 64 72 20 69 6e 63 29 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78 | .(+.addr.inc)).......(setq.index | 
| 1b9c0 | 20 28 2b 20 69 6e 64 65 78 20 31 29 29 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 | .(+.index.1))).....(malyon-store | 
| 1b9e0 | 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 65 | -variable.(malyon-read-code-byte | 
| 1ba00 | 29 20 66 6f 75 6e 64 29 0a 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f | ).found).....(malyon-jump-if.(no | 
| 1ba20 | 74 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | t.(zerop.found)))))..(defun.maly | 
| 1ba40 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74    74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 | on-opcode-set-attr.(object.attri | 
| 1ba60 | 62 75 74 65 29 0a 20 20 22 53 65 74 20 74 68 65    20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65 | bute)..."Set.the.given.attribute | 
| 1ba80 | 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 28 | .in.the.given.object."...(let.(( | 
| 1baa0 | 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 73 | attributes.(malyon-object-addres | 
| 1bac0 | 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 28 | s.object)).........(byte.......( | 
| 1bae0 | 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 2d | lsh.attribute.-3))).....(malyon- | 
| 1bb00 | 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 20 | store-byte.(+.attributes.byte).. | 
| 1bb20 | 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 69 6f 72 20 28 6d | ......................(logior.(m | 
| 1bb40 | 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 79 | alyon-read-byte.(+.attributes.by | 
| 1bb60 | 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 20 | te))............................ | 
| 1bb80 | 20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20    28 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74 | ....(lsh.128.(-.(logand.attribut | 
| 1bba0 | 65 20 37 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 | e.7)))))))..(defun.malyon-opcode | 
| 1bbc0 | 2d 73 65 74 2d 63 6f 6c 6f 72 20 28 66 6f 72 65    67 72 6f 75 6e 64 20 62 61 63 6b 67 72 6f 75 6e | -set-color.(foreground.backgroun | 
| 1bbe0 | 64 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66    6f 72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f | d)..."Sets.the.fore-.and.backgro | 
| 1bc00 | 75 6e 64 20 63 6f 6c 6f 72 73 20 69 65 2e 20 64    6f 65 73 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a | und.colors.ie..does.nothing.").. | 
| 1bc20 | 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 63 75 72 73 6f 72 20 | (defun.malyon-opcode-set-cursor. | 
| 1bc40 | 28 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6e 65 20    63 6f 6c 75 6d 6e 29 0a 20 20 22 53 65 74 20 74 | (&optional.line.column)..."Set.t | 
| 1bc60 | 68 65 20 63 75 72 73 6f 72 2e 22 0a 20 20 28 69    66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 | he.cursor."...(if.(eq.malyon-tra | 
| 1bc80 | 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)) | 
| 1bca0 | 0a 20 20 20 20 20 20 3b 3b 20 73 65 74 2d 63 75    72 73 6f 72 20 69 73 20 6e 6f 74 20 63 75 72 72 | .......;;.set-cursor.is.not.curr | 
| 1bcc0 | 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 20    69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 | ently.supported.in.the.transcrip | 
| 1bce0 | 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20    3b 3b 20 49 74 20 6a 75 73 74 20 6a 75 6d 70 73 | t.buffer........;;.It.just.jumps | 
| 1bd00 | 20 74 6f 20 74 68 65 20 65 6e 64 2e 0a 20 20 20    20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | .to.the.end........(goto-char.(p | 
| 1bd20 | 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b    3b 20 57 65 27 72 65 20 73 65 74 74 69 6e 67 20 | oint-max)).....;;.We're.setting. | 
| 1bd40 | 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20    74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 | the.position.in.the.status.buffe | 
| 1bd60 | 72 0a 20 20 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 | r.....(if.malyon-status-buffer-d | 
| 1bd80 | 65 6c 61 79 65 64 2d 73 70 6c 69 74 0a 20 20 20    20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 | elayed-split.........(progn..... | 
| 1bda0 | 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 72 2d 77 69 6e 64 6f | ......(malyon-split-buffer-windo | 
| 1bdc0 | 77 73 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 65 64 2d | ws.malyon-status-buffer-delayed- | 
| 1bde0 | 73 70 6c 69 74 29 0a 20 20 20 20 20 20 20 20 20    20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 | split)...........(other-window.1 | 
| 1be00 | 29 29 29 0a 20 20 20 20 28 69 66 20 6c 69 6e 65    20 20 20 27 28 29 20 28 73 65 74 71 20 6c 69 6e | ))).....(if.line...'().(setq.lin | 
| 1be20 | 65 20 20 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73    20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f | e...(count-lines.(point-min).(po | 
| 1be40 | 69 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20    63 6f 6c 75 6d 6e 20 27 28 29 20 28 73 65 74 71 | int)))).....(if.column.'().(setq | 
| 1be60 | 20 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74    2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 28 | .column.(current-column))).....( | 
| 1be80 | 69 66 20 28 3e 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 2d | if.(>.line.malyon-status-buffer- | 
| 1bea0 | 6c 69 6e 65 73 29 0a 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 | lines).........(progn........... | 
| 1bec0 | 28 6d 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 6c 69 6e | (malyon-split-buffer-windows.lin | 
| 1bee0 | 65 29 0a 20 20 20 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 | e)...........(other-window.1))). | 
| 1bf00 | 20 20 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 20 20 20 20 | ....(goto-char.(point-min))..... | 
| 1bf20 | 28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 6c 69    6e 65 29 20 28 3c 3d 20 6c 69 6e 65 20 6d 61 6c | (if.(and.(<.1.line).(<=.line.mal | 
| 1bf40 | 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 | yon-status-buffer-lines))....... | 
| 1bf60 | 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20    28 31 2d 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 | ..(forward-line.(1-.line))...... | 
| 1bf80 | 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 28 69 66 20 28 61 | .(beginning-of-line)).....(if.(a | 
| 1bfa0 | 6e 64 20 28 3c 20 31 20 63 6f 6c 75 6d 6e 29 20    28 3c 3d 20 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f | nd.(<.1.column).(<=.column.malyo | 
| 1bfc0 | 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 29 0a 20    20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d | n-max-column)).........(forward- | 
| 1bfe0 | 63 68 61 72 20 28 31 2d 20 63 6f 6c 75 6d 6e 29    29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 | char.(1-.column)).......(beginni | 
| 1c000 | 6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 0a 20 20 20    20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 | ng-of-line)).....(setq.malyon-st | 
| 1c020 | 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 29 29 0a 0a 28 64 | atus-buffer-point.(point))))..(d | 
| 1c040 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 73 65 74 2d 66 6f 6e 74 20 28 66 6f 6e | efun.malyon-opcode-set-font.(fon | 
| 1c060 | 74 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66    6f 6e 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65 | t)..."Sets.the.font.if.available | 
| 1c080 | 20 6f 72 20 30 20 6f 74 68 65 72 77 69 73 65 2e    22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | .or.0.otherwise."...(malyon-stor | 
| 1c0a0 | 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 | 
| 1c0c0 | 65 29 20 30 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 | e).0))..(defun.malyon-opcode-set | 
| 1c0e0 | 2d 74 65 78 74 2d 73 74 79 6c 65 20 28 73 74 79    6c 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 74 | -text-style.(style)..."Set.the.t | 
| 1c100 | 65 78 74 20 73 74 79 6c 65 2f 66 61 63 65 2e 22    0a 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28 | ext.style/face."...(let.((face.( | 
| 1c120 | 61 73 73 71 20 73 74 79 6c 65 20 6d 61 6c 79 6f    6e 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 28 | assq.style.malyon-faces))).....( | 
| 1c140 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72    65 6e 74 2d 66 61 63 65 20 28 69 66 20 66 61 63 | setq.malyon-current-face.(if.fac | 
| 1c160 | 65 20 28 63 64 72 20 66 61 63 65 29 20 27 6d 61    6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 | e.(cdr.face).'malyon-face-plain) | 
| 1c180 | 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 73 65 74 2d 77 69 | )))..(defun.malyon-opcode-set-wi | 
| 1c1a0 | 6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20    22 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 | ndow.(window)..."Set.the.current | 
| 1c1c0 | 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 6c    79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 | .window."...(malyon-restore-wind | 
| 1c1e0 | 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e    29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | ow-configuration)...(setq.malyon | 
| 1c200 | 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 20    77 69 6e 64 6f 77 29 0a 20 20 28 6d 61 6c 79 6f | -current-window.window)...(malyo | 
| 1c220 | 6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d    73 74 72 65 61 6d 73 29 0a 20 20 28 69 66 20 28 | n-update-output-streams)...(if.( | 
| 1c240 | 7a 65 72 6f 70 20 77 69 6e 64 6f 77 29 0a 20 20    20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 | zerop.window).......(if.(not.(eq | 
| 1c260 | 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 75 72 72 65 | .malyon-transcript-buffer.(curre | 
| 1c280 | 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 | nt-buffer)))...........(other-wi | 
| 1c2a0 | 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 69 66    20 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e | ndow.1)).....(if.(not.(eq.malyon | 
| 1c2c0 | 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 72 29 29 | -status-buffer.(current-buffer)) | 
| 1c2e0 | 29 0a 20 20 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 | ).........(other-window.1))..... | 
| 1c300 | 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73    65 74 2d 63 75 72 73 6f 72 20 31 20 31 29 29 29 | (malyon-opcode-set-cursor.1.1))) | 
| 1c320 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 | ..(defun.malyon-opcode-show-stat | 
| 1c340 | 75 73 20 28 29 0a 20 20 22 44 69 73 70 6c 61 79    20 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65 | us.()..."Display.the.status.line | 
| 1c360 | 2e 22 0a 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 | ."...(save-excursion.....(let.(( | 
| 1c380 | 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 63 65 | malyon-current-face.'malyon-face | 
| 1c3a0 | 2d 72 65 76 65 72 73 65 29 29 0a 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | -reverse)).......(malyon-opcode- | 
| 1c3c0 | 73 70 6c 69 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 72 65 | split-window.1).......(malyon-re | 
| 1c3e0 | 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 0a 20 20 20 20 | store-window-configuration)..... | 
| 1c400 | 20 20 28 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 31 29 0a 20 | ..(malyon-opcode-set-window.1).. | 
| 1c420 | 20 20 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 | .....(malyon-prepare-status-buff | 
| 1c440 | 65 72 20 31 29 0a 20 20 20 20 20 20 28 70 75 74    2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 | er.1).......(put-text-property.( | 
| 1c460 | 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e    74 2d 6d 61 78 29 20 27 66 61 63 65 20 27 6d 61 | point-min).(point-max).'face.'ma | 
| 1c480 | 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73    65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | lyon-face-reverse).......(malyon | 
| 1c4a0 | 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73    6f 72 20 31 20 31 29 0a 20 20 20 20 20 20 28 6d | -opcode-set-cursor.1.1).......(m | 
| 1c4c0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69    6e 74 2d 6f 62 6a 20 28 6d 61 6c 79 6f 6e 2d 72 | alyon-opcode-print-obj.(malyon-r | 
| 1c4e0 | 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61    62 6c 65 20 30 29 29 0a 20 20 20 20 20 20 28 69 | ead-global-variable.0)).......(i | 
| 1c500 | 66 20 28 3c 3d 20 28 63 75 72 72 65 6e 74 2d 63    6f 6c 75 6d 6e 29 20 28 2d 20 28 63 75 72 72 65 | f.(<=.(current-column).(-.(curre | 
| 1c520 | 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 20    31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | nt-fill-column).10))...........( | 
| 1c540 | 6c 65 74 2a 20 28 28 78 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c | let*.((x.....(malyon-read-global | 
| 1c560 | 2d 76 61 72 69 61 62 6c 65 20 31 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -variable.1))..................( | 
| 1c580 | 79 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 61 72 69 61 62 | y.....(malyon-read-global-variab | 
| 1c5a0 | 6c 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 68 6f 75 72 73 20 28 | le.2))..................(hours.( | 
| 1c5c0 | 69 66 20 28 3e 20 78 20 31 32 29 20 28 2d 20 78    20 31 32 29 20 78 29 29 0a 20 20 20 20 20 20 20 | if.(>.x.12).(-.x.12).x))........ | 
| 1c5e0 | 20 20 20 20 20 20 20 20 20 20 28 61 6d 70 6d 20    20 28 69 66 20 28 3e 20 78 20 31 32 29 20 22 50 | ..........(ampm..(if.(>.x.12)."P | 
| 1c600 | 4d 22 20 22 41 4d 22 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 63 6f 72 | M"."AM"))..................(scor | 
| 1c620 | 65 20 28 66 6f 72 6d 61 74 20 22 25 34 64 2f 25    34 64 22 20 78 20 79 29 29 0a 20 20 20 20 20 20 | e.(format."%4d/%4d".x.y))....... | 
| 1c640 | 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65    20 20 28 66 6f 72 6d 61 74 20 22 25 30 32 64 3a | ...........(time..(format."%02d: | 
| 1c660 | 25 30 32 64 25 73 22 20 68 6f 75 72 73 20 79 20    61 6d 70 6d 29 29 29 0a 20 20 20 20 20 20 20 20 | %02d%s".hours.y.ampm)))......... | 
| 1c680 | 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 72 20 31 20 | ....(malyon-opcode-set-cursor.1. | 
| 1c6a0 | 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 30 29 29 0a 20 20 | (-.(current-fill-column).10))... | 
| 1c6c0 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 70 72 69 6e 74 20 28 69 66 20 6d 61 6c 79 | ..........(malyon-print.(if.maly | 
| 1c6e0 | 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 73 63    6f 72 65 20 74 69 6d 65 29 29 29 29 29 0a 20 20 | on-score-game.score.time)))))... | 
| 1c700 | 20 20 28 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 30 29 0a 20 | ..(malyon-opcode-set-window.0).. | 
| 1c720 | 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 0a | ...(malyon-adjust-transcript))). | 
| 1c740 | 0a 28 64 65 66 75 6e 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 | .(defun.malyon-opcode-split-wind | 
| 1c760 | 6f 77 20 28 73 69 7a 65 29 0a 20 20 22 53 70 6c    69 74 20 75 70 70 65 72 20 61 6e 64 20 6c 6f 77 | ow.(size)..."Split.upper.and.low | 
| 1c780 | 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d    61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 | er.window."...(malyon-set-window | 
| 1c7a0 | 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73    69 7a 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | -configuration.size))..(defun.ma | 
| 1c7c0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72    65 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c 75 | lyon-opcode-store.(variable.valu | 
| 1c7e0 | 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 76 61 72 69 61 62 6c | e)..."Store.a.value.in.a.variabl | 
| 1c800 | 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 76 61 72 | e."...(malyon-store-variable.var | 
| 1c820 | 69 61 62 6c 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 6f 70 63 | iable.value))..(defun.malyon-opc | 
| 1c840 | 6f 64 65 2d 73 74 6f 72 65 62 20 28 61 72 72 61    79 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20 | ode-storeb.(array.index.value).. | 
| 1c860 | 20 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 | ."Store.a.value.in.an.array.at.t | 
| 1c880 | 68 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 | he.given.index."...(malyon-store | 
| 1c8a0 | 2d 62 79 74 65 20 28 2b 20 61 72 72 61 79 20 69    6e 64 65 78 29 20 76 61 6c 75 65 29 29 0a 0a 28 | -byte.(+.array.index).value))..( | 
| 1c8c0 | 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 77 20 28 61 72 72 61 | defun.malyon-opcode-storew.(arra | 
| 1c8e0 | 79 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 | y.index.value)..."Store.a.value. | 
| 1c900 | 69 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 | in.an.array.at.the.given.index." | 
| 1c920 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 77 6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 | ...(malyon-store-word.(+.array.( | 
| 1c940 | 2a 20 32 20 69 6e 64 65 78 29 29 20 76 61 6c 75    65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | *.2.index)).value))..(defun.maly | 
| 1c960 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 28 61    20 62 29 0a 20 20 22 53 75 62 74 72 61 63 74 69 | on-opcode-sub.(a.b)..."Subtracti | 
| 1c980 | 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 65 20 28 6d | on."...(malyon-store-variable.(m | 
| 1c9a0 | 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 20 20 | alyon-read-code-byte)........... | 
| 1c9c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 | ...............(-.(malyon-number | 
| 1c9e0 | 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 65 66 75 6e | .a).(malyon-number.b))))..(defun | 
| 1ca00 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74    65 73 74 20 28 62 69 74 6d 61 70 20 66 6c 61 67 | .malyon-opcode-test.(bitmap.flag | 
| 1ca20 | 73 29 0a 20 20 22 54 65 73 74 20 69 66 20 61 6c    6c 20 6f 66 20 74 68 65 20 66 6c 61 67 73 20 61 | s)..."Test.if.all.of.the.flags.a | 
| 1ca40 | 72 65 20 73 65 74 20 69 6e 20 74 68 65 20 62 69    74 6d 61 70 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e | re.set.in.the.bitmap."...(malyon | 
| 1ca60 | 2d 6a 75 6d 70 2d 69 66 20 28 3d 20 66 6c 61 67    73 20 28 6c 6f 67 61 6e 64 20 62 69 74 6d 61 70 | -jump-if.(=.flags.(logand.bitmap | 
| 1ca80 | 20 66 6c 61 67 73 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 | .flags))))..(defun.malyon-opcode | 
| 1caa0 | 2d 74 65 73 74 2d 61 74 74 72 20 28 6f 62 6a 65    63 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 | -test-attr.(object.attribute)... | 
| 1cac0 | 22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20    6f 6e 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 | "Jump.depending.on.the.given.att | 
| 1cae0 | 72 69 62 75 74 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 | ribute.in.the.given.object."...( | 
| 1cb00 | 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20    20 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20 | malyon-jump-if....(/=.0.(logand. | 
| 1cb20 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74    65 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a | (malyon-read-byte.(+.(malyon-obj | 
| 1cb40 | 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65    63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ect-address.object)............. | 
| 1cb60 | 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 6c 73 68 20 61 | ..........................(lsh.a | 
| 1cb80 | 74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ttribute.-3))).................. | 
| 1cba0 | 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67    61 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 | (lsh.128.(-.(logand.attribute.7) | 
| 1cbc0 | 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 74 68 72 | ))))))..(defun.malyon-opcode-thr | 
| 1cbe0 | 6f 77 20 28 76 61 6c 75 65 20 66 72 61 6d 65 29    0a 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 | ow.(value.frame)..."Return.from. | 
| 1cc00 | 74 68 65 20 67 69 76 65 6e 20 73 74 61 63 6b 20    66 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 6d 61 | the.given.stack.frame."...(if.ma | 
| 1cc20 | 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 28 6c | lyon-game-state-quetzal.......(l | 
| 1cc40 | 65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72    65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 | et.((id.(lsh.(aref.malyon-stack. | 
| 1cc60 | 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 29 29 0a 20 20 20 20 | malyon-frame-pointer).-8)))..... | 
| 1cc80 | 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 66    72 61 6d 65 20 69 64 29 0a 20 20 20 20 20 20 20 | ....(while.(/=.frame.id)........ | 
| 1cca0 | 20 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 6d 61 | ...(setq.malyon-stack-pointer.ma | 
| 1ccc0 | 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74    65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d | lyon-frame-pointer)...........(m | 
| 1cce0 | 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29    0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | alyon-pop-stack)...........(setq | 
| 1cd00 | 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 20 20 | .malyon-frame-pointer........... | 
| 1cd20 | 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 72 20 31 20 | ......(-.malyon-stack-pointer.1. | 
| 1cd40 | 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 29 0a 20 20 | (lsh.(malyon-pop-stack).-8)))... | 
| 1cd60 | 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 20 20 20 20 20 | ........(malyon-pop-stack)...... | 
| 1cd80 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70    2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 | .....(malyon-pop-stack)......... | 
| 1cda0 | 20 20 28 73 65 74 71 20 69 64 20 28 6c 73 68 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 | ..(setq.id.(lsh.(aref.malyon-sta | 
| 1cdc0 | 63 6b 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 29 29 29 0a | ck.malyon-frame-pointer).-8)))). | 
| 1cde0 | 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 6e 74 65 72 20 66 | ....(setq.malyon-frame-pointer.f | 
| 1ce00 | 72 61 6d 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e    2d 72 65 74 75 72 6e 20 76 61 6c 75 65 29 29 0a | rame))...(malyon-return.value)). | 
| 1ce20 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 28 | .(defun.malyon-opcode-tokenise.( | 
| 1ce40 | 74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69    6f 6e 61 6c 20 64 69 63 74 20 66 6c 61 67 29 0a | text.parse.&optional.dict.flag). | 
| 1ce60 | 20 20 22 50 65 72 66 6f 72 6d 20 6c 65 78 69 63    61 6c 20 61 6e 61 6c 79 73 69 73 20 6f 6e 20 74 | .."Perform.lexical.analysis.on.t | 
| 1ce80 | 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22    0a 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 73 | he.text.buffer."...(let*.((words | 
| 1cea0 | 20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f    2d 77 6f 72 64 73 20 74 65 78 74 20 64 69 63 74 | .(malyon-text-to-words.text.dict | 
| 1cec0 | 29 29 0a 09 20 28 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 | ))...(word..(car...........words | 
| 1cee0 | 29 29 0a 09 20 28 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 | ))...(start.(car...........word) | 
| 1cf00 | 29 0a 09 20 28 6c 65 6e 20 20 20 28 63 61 64 72    20 20 20 77 6f 72 64 29 29 0a 09 20 28 63 6f 64 | )...(len...(cadr...word))...(cod | 
| 1cf20 | 65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f    72 64 29 29 0a 09 20 28 65 6e 74 72 79 20 28 6d | e..(cl-caddr..word))...(entry.(m | 
| 1cf40 | 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63    74 20 63 6f 64 65 29 29 0a 09 20 28 69 20 20 20 | alyon-lookup.dict.code))...(i... | 
| 1cf60 | 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65    20 28 6e 6f 74 20 28 6f 72 20 28 6e 75 6c 6c 20 | ..0)).....(while.(not.(or.(null. | 
| 1cf80 | 77 6f 72 64 73 29 20 28 3d 20 69 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 61 | words).(=.i.(malyon-read-byte.pa | 
| 1cfa0 | 72 73 65 29 29 29 29 0a 20 20 20 20 20 20 28 69    66 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 65 6e | rse)))).......(if.(and.(zerop.en | 
| 1cfc0 | 74 72 79 29 20 66 6c 61 67 20 28 2f 3d 20 30 20    66 6c 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 | try).flag.(/=.0.flag)).......... | 
| 1cfe0 | 20 27 28 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 | .'().........(malyon-store-word. | 
| 1d000 | 28 2b 20 32 20 70 61 72 73 65 20 28 2a 20 34 20    69 29 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 | (+.2.parse.(*.4.i)).entry)...... | 
| 1d020 | 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 70 61 72 73 65 | ...(malyon-store-byte.(+.4.parse | 
| 1d040 | 20 28 2a 20 34 20 69 29 29 20 6c 65 6e 29 0a 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 | .(*.4.i)).len).........(malyon-s | 
| 1d060 | 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 35 20 70    61 72 73 65 20 28 2a 20 34 20 69 29 29 20 73 74 | tore-byte.(+.5.parse.(*.4.i)).st | 
| 1d080 | 61 72 74 29 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 77 6f 72 64 73 20 28 63 64 72 20 20 20 20 | art)).......(setq.words.(cdr.... | 
| 1d0a0 | 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20    20 20 20 77 6f 72 64 20 20 28 63 61 72 20 20 20 | .......words)......word..(car... | 
| 1d0c0 | 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09    20 20 20 20 73 74 61 72 74 20 28 63 61 72 20 20 | ........words)......start.(car.. | 
| 1d0e0 | 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 0a 09    20 20 20 20 6c 65 6e 20 20 20 28 63 61 64 72 20 | .........word)......len...(cadr. | 
| 1d100 | 20 20 77 6f 72 64 29 0a 09 20 20 20 20 63 6f 64    65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f | ..word)......code..(cl-caddr..wo | 
| 1d120 | 72 64 29 0a 09 20 20 20 20 65 6e 74 72 79 20 28    6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 | rd)......entry.(malyon-lookup.di | 
| 1d140 | 63 74 20 63 6f 64 65 29 0a 09 20 20 20 20 69 20    20 20 20 20 28 2b 20 31 20 69 29 29 29 0a 20 20 | ct.code)......i.....(+.1.i)))... | 
| 1d160 | 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 70 61 72 73 65 29 | ..(malyon-store-byte.(+.1.parse) | 
| 1d180 | 20 69 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 76 65 72 69 | .i)))..(defun.malyon-opcode-veri | 
| 1d1a0 | 66 79 20 28 29 0a 20 20 22 56 65 72 69 66 79 20    74 68 65 20 63 6f 72 72 65 63 74 6e 65 73 73 20 | fy.()..."Verify.the.correctness. | 
| 1d1c0 | 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c    65 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e | of.the.story.file."...(let.((len | 
| 1d1e0 | 67 74 68 20 28 2b 20 31 20 28 2a 20 6d 61 6c 79    6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 | gth.(+.1.(*.malyon-packed-multip | 
| 1d200 | 6c 69 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 77 6f 72 64 20 32 36 29 29 29 29 0a 20 20 | lier.(malyon-read-word.26))))... | 
| 1d220 | 20 20 20 20 20 20 28 73 75 6d 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 | ......(sum....0).........(i..... | 
| 1d240 | 20 36 34 29 29 0a 20 20 20 20 28 77 68 69 6c 65    20 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 | .64)).....(while.(<.i.length)... | 
| 1d260 | 20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 6d    6f 64 20 28 2b 20 73 75 6d 20 28 6d 61 6c 79 6f | ....(setq.sum.(mod.(+.sum.(malyo | 
| 1d280 | 6e 2d 72 65 61 64 2d 62 79 74 65 20 69 29 29 20    36 35 35 33 36 29 0a 20 20 20 20 20 20 20 20 20 | n-read-byte.i)).65536).......... | 
| 1d2a0 | 20 20 20 69 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 6a 75 6d | ...i...(+.1.i))).....(malyon-jum | 
| 1d2c0 | 70 2d 69 66 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 20 32 38 29 20 73 75 | p-if.(=.(malyon-read-word.28).su | 
| 1d2e0 | 6d 29 29 29 29 0a 0a 3b 3b 20 6b 65 79 6d 61 70    20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 | m))))..;;.keymap.utilities..(def | 
| 1d300 | 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e    70 75 74 20 28 29 0a 20 20 22 53 74 6f 72 65 20 | un.malyon-end-input.()..."Store. | 
| 1d320 | 74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 20 69    6e 20 61 20 74 65 78 74 20 62 75 66 66 65 72 20 | the.input.line.in.a.text.buffer. | 
| 1d340 | 61 6e 64 20 70 65 72 66 6f 72 6d 20 6c 65 78 69    63 61 6c 20 61 6e 61 6c 79 73 69 73 2e 22 0a 20 | and.perform.lexical.analysis.".. | 
| 1d360 | 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 68 69 64 65 2d 69 6e | .(interactive)...(malyon-hide-in | 
| 1d380 | 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 64 20 69 6e 74 65 72 | ternal-errors."unspecified.inter | 
| 1d3a0 | 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 70 72 6f 67 6e 0a 20 | nal.runtime.error.".....(progn.. | 
| 1d3c0 | 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 63 72 69 70 74 29 0a | .....(malyon-adjust-transcript). | 
| 1d3e0 | 20 20 20 20 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 | ......(switch-to-buffer.malyon-t | 
| 1d400 | 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | ranscript-buffer).......(goto-ch | 
| 1d420 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e | ar.(point-max)).......(let*.((in | 
| 1d440 | 70 75 74 20 28 64 6f 77 6e 63 61 73 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | put.(downcase................... | 
| 1d460 | 20 20 20 28 62 75 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 | ...(buffer-substring-no-properti | 
| 1d480 | 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 28 69 66 20 28 3c 20 | es.......................(if.(<. | 
| 1d4a0 | 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 28 | malyon-aread-beginning-of-line.( | 
| 1d4c0 | 70 6f 69 6e 74 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 | point))......................... | 
| 1d4e0 | 20 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 | 
| 1d500 | 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 28 70 6f 69 6e 74 29 | .........................(point) | 
| 1d520 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 | ).......................(point)) | 
| 1d540 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 76 65 63 20 20 28 73 74 72 69 6e 67 2d 74 6f | ))..............(vec..(string-to | 
| 1d560 | 2d 76 65 63 74 6f 72 20 69 6e 70 75 74 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 | -vector.input))..............(te | 
| 1d580 | 78 74 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f    72 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f | xt.(apply.'vector.(mapcar.'malyo | 
| 1d5a0 | 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63    69 69 20 76 65 63 29 29 29 0a 20 20 20 20 20 20 | n-unicode-to-zscii.vec)))....... | 
| 1d5c0 | 20 20 20 20 20 20 20 28 6c 65 6e 20 20 28 6d 69    6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | .......(len..(min.(malyon-read-b | 
| 1d5e0 | 79 74 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64    2d 74 65 78 74 29 20 28 6c 65 6e 67 74 68 20 74 | yte.malyon-aread-text).(length.t | 
| 1d600 | 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 20 20 20 20 30 29 29 0a 20 20 | ext)))..............(i....0))... | 
| 1d620 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69    73 74 6f 72 79 2d 69 6e 73 65 72 74 20 69 6e 70 | ......(malyon-history-insert.inp | 
| 1d640 | 75 74 29 0a 20 20 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 | ut).........(if.(>=.malyon-story | 
| 1d660 | 2d 76 65 72 73 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 | -version.5).............(malyon- | 
| 1d680 | 73 74 6f 72 65 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 | store-byte.(+.malyon-aread-text. | 
| 1d6a0 | 31 29 20 6c 65 6e 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 | 1).len)).........(while.(<.i.len | 
| 1d6c0 | 29 0a 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 0a 20 | )...........(malyon-store-byte.. | 
| 1d6e0 | 20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c    79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 28 | ..........(+.malyon-aread-text.( | 
| 1d700 | 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 20 31 20 | if.(<.malyon-story-version.5).1. | 
| 1d720 | 32 29 20 69 29 0a 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 | 2).i)............(malyon-char-to | 
| 1d740 | 2d 69 6e 74 20 28 61 72 65 66 20 74 65 78 74 20    69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | -int.(aref.text.i)))...........( | 
| 1d760 | 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29    0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 | setq.i.(+.1.i))).........(if.(<. | 
| 1d780 | 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 20 20 | malyon-story-version.5)......... | 
| 1d7a0 | 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 79 6f 6e | ....(malyon-store-byte.(+.malyon | 
| 1d7c0 | 2d 61 72 65 61 64 2d 74 65 78 74 20 31 20 6c 65    6e 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 69 | -aread-text.1.len).0))).......(i | 
| 1d7e0 | 66 20 28 2f 3d 20 30 20 6d 61 6c 79 6f 6e 2d 61    72 65 61 64 2d 70 61 72 73 65 29 0a 20 20 20 20 | f.(/=.0.malyon-aread-parse)..... | 
| 1d800 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 6d 61 | ......(malyon-opcode-tokenise.ma | 
| 1d820 | 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20    6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 | lyon-aread-text.malyon-aread-par | 
| 1d840 | 73 65 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c    69 6e 65 29 0a 20 20 20 20 20 20 28 69 66 20 28 | se)).......(newline).......(if.( | 
| 1d860 | 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)...... | 
| 1d880 | 20 20 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 | .....(malyon-store-variable.(mal | 
| 1d8a0 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79    74 65 29 20 31 30 29 29 0a 20 20 20 20 20 20 28 | yon-read-code-byte).10)).......( | 
| 1d8c0 | 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 | 
| 1d8e0 | 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 20    28 29 0a 20 20 22 50 61 67 65 20 64 6f 77 6e 20 | alyon-more-char.()..."Page.down. | 
| 1d900 | 69 6e 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | in.More.mode."...(interactive).. | 
| 1d920 | 20 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 28 73 63 72 6f | .(condition-case.nil.......(scro | 
| 1d940 | 6c 6c 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f    72 29 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 63 | ll-up).....(error))...(if.(>=.(c | 
| 1d960 | 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e    74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a | ount-lines.(point).(point-max)). | 
| 1d980 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 | ..........(malyon-window-display | 
| 1d9a0 | 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20    20 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 | ed-height)).......(message."[Mor | 
| 1d9c0 | 65 5d 22 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 | e]").....(goto-char.(point-max)) | 
| 1d9e0 | 0a 20 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 0a | .....(malyon-adjust-transcript). | 
| 1da00 | 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d    61 70 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 | ....(use-local-map.malyon-more-c | 
| 1da20 | 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 29    29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | ontinue-keymap)))..(defun.malyon | 
| 1da40 | 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75    73 20 28 29 0a 20 20 22 57 61 69 74 20 66 6f 72 | -more-char-status.()..."Wait.for | 
| 1da60 | 20 61 20 6b 65 79 20 74 68 65 6e 20 63 6f 6e 74    69 6e 75 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 | .a.key.then.continue."...(intera | 
| 1da80 | 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 65 72 6e 61 6c 2d 65 | ctive)...(malyon-hide-internal-e | 
| 1daa0 | 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 61 6c 20 72 75 6e 74 | rrors."unspecified.internal.runt | 
| 1dac0 | 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 20 20 20 20 28 6d 61 | ime.error.".....(progn.......(ma | 
| 1dae0 | 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 20 20 20 20 28 75 | lyon-adjust-transcript).......(u | 
| 1db00 | 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c    79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 | se-local-map.malyon-more-continu | 
| 1db20 | 65 2d 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 | e-keymap).......(malyon-interpre | 
| 1db40 | 74 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 | ter))))..(defun.malyon-wait-char | 
| 1db60 | 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65    20 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 | .()..."Store.the.input.character | 
| 1db80 | 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 61    6e 64 20 72 65 73 75 6d 65 20 65 78 65 63 75 74 | .in.a.variable.and.resume.execut | 
| 1dba0 | 69 6f 6e 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 | ion."...(interactive)...(malyon- | 
| 1dbc0 | 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 | 
| 1dbe0 | 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.".....( | 
| 1dc00 | 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 | progn.......(malyon-store-variab | 
| 1dc20 | 6c 65 0a 20 20 20 20 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 | le........(malyon-read-code-byte | 
| 1dc40 | 29 0a 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 28 6d 61 | )........(malyon-char-to-int.(ma | 
| 1dc60 | 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d    7a 73 63 69 69 20 6c 61 73 74 2d 63 6f 6d 6d 61 | lyon-unicode-to-zscii.last-comma | 
| 1dc80 | 6e 64 2d 65 76 65 6e 74 29 29 29 0a 20 20 20 20    20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 | nd-event))).......(use-local-map | 
| 1dca0 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72    65 61 64 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 | .malyon-keymap-read).......(maly | 
| 1dcc0 | 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 61 6c 79 6f | on-interpreter))))..(defun.malyo | 
| 1dce0 | 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f    75 73 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 | n-history-previous-char.(arg)... | 
| 1dd00 | 22 44 69 73 70 6c 61 79 20 74 68 65 20 70 72 65    76 69 6f 75 73 20 69 74 65 6d 20 69 6e 20 74 68 | "Display.the.previous.item.in.th | 
| 1dd20 | 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 72 61 63 74 69 76 65 | e.input.history."...(interactive | 
| 1dd40 | 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 79 6f 6e 2d 68 69 73 | ."p")...(let.((input.(malyon-his | 
| 1dd60 | 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 29 29 29    0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 6d | tory-previous))).....(cond.((>.m | 
| 1dd80 | 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 28 70 | alyon-aread-beginning-of-line.(p | 
| 1dda0 | 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 6c 79 6f | oint))............(funcall.malyo | 
| 1ddc0 | 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d    75 70 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 | n-history-saved-up.arg))........ | 
| 1dde0 | 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 63 75 72 72 65 | ...(input............(with-curre | 
| 1de00 | 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 2d 62 75 66 66 | nt-buffer.malyon-transcript-buff | 
| 1de20 | 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 69 6f 6e 20 6d | er..............(delete-region.m | 
| 1de40 | 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 28 70 | alyon-aread-beginning-of-line.(p | 
| 1de60 | 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 6f 2d 63 68 61 | oint-max)))............(goto-cha | 
| 1de80 | 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 69 6e 73 65 72 | r.(point-max))............(inser | 
| 1dea0 | 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 2d 61 64 6a 75 | t.input)............(malyon-adju | 
| 1dec0 | 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 6d 61 6c 79 6f | st-transcript)))))..(defun.malyo | 
| 1dee0 | 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63    68 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73 | n-history-next-char.(arg)..."Dis | 
| 1df00 | 70 6c 61 79 20 74 68 65 20 6e 65 78 74 20 69 74    65 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 | play.the.next.item.in.the.input. | 
| 1df20 | 68 69 73 74 6f 72 79 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 | history."...(interactive."p")... | 
| 1df40 | 28 6c 65 74 20 28 28 69 6e 70 75 74 20 28 6d 61    6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 | (let.((input.(malyon-history-nex | 
| 1df60 | 74 29 29 29 0a 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 | t))).....(cond.((>.malyon-aread- | 
| 1df80 | 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 20 20 20 | beginning-of-line.(point))...... | 
| 1dfa0 | 20 20 20 20 20 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 | ......(funcall.malyon-history-sa | 
| 1dfc0 | 76 65 64 2d 64 6f 77 6e 20 61 72 67 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a | ved-down.arg))...........(input. | 
| 1dfe0 | 20 20 20 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 20 | ...........(with-current-buffer. | 
| 1e000 | 6d 61 6c 79 6f 6e 2d 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 | malyon-transcript-buffer........ | 
| 1e020 | 20 20 20 20 20 20 28 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 | ......(delete-region.malyon-area | 
| 1e040 | 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 2d 6d 61 78 29 29 | d-beginning-of-line.(point-max)) | 
| 1e060 | 29 0a 20 20 20 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 | )............(goto-char.(point-m | 
| 1e080 | 61 78 29 29 0a 20 20 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 | ax))............(insert.input).. | 
| 1e0a0 | 20 20 20 20 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 63 72 | ..........(malyon-adjust-transcr | 
| 1e0c0 | 69 70 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 6e 69 6e | ipt)))))..(defun.malyon-beginnin | 
| 1e0e0 | 67 2d 6f 66 2d 6c 69 6e 65 20 28 61 72 67 29 0a    20 20 22 47 6f 20 74 6f 20 74 68 65 20 62 65 67 | g-of-line.(arg)..."Go.to.the.beg | 
| 1e100 | 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69    6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | inning.of.the.line."...(interact | 
| 1e120 | 69 76 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 | ive."p")...(if.(>.malyon-aread-b | 
| 1e140 | 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))....... | 
| 1e160 | 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69    6e 65 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 | (beginning-of-line).....(goto-ch | 
| 1e180 | 61 72 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 | ar.malyon-aread-beginning-of-lin | 
| 1e1a0 | 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 | e)))..(defun.malyon-kill-region. | 
| 1e1c0 | 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65    67 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 | (arg)..."Kill.region."...(intera | 
| 1e1e0 | 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 61 | ctive."p")...(if.(<=.malyon-area | 
| 1e200 | 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 20 | d-beginning-of-line.(point)).... | 
| 1e220 | 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20    28 70 6f 69 6e 74 29 20 28 6d 61 72 6b 29 29 0a | ...(kill-region.(point).(mark)). | 
| 1e240 | 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 65 73 74 72 69 63 | ....(message."Editing.is.restric | 
| 1e260 | 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 29 29 0a 0a 28 64 | ted.to.the.input.prompt.")))..(d | 
| 1e280 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c    2d 6c 69 6e 65 20 28 61 72 67 29 0a 20 20 22 4b | efun.malyon-kill-line.(arg)..."K | 
| 1e2a0 | 69 6c 6c 20 72 65 73 74 20 6f 66 20 74 68 65 20    63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20 | ill.rest.of.the.current.line.".. | 
| 1e2c0 | 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 20 6d 61 6c | .(interactive."p")...(if.(<=.mal | 
| 1e2e0 | 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 28 70 6f 69 | yon-aread-beginning-of-line.(poi | 
| 1e300 | 6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c    2d 6c 69 6e 65 29 0a 20 20 20 20 28 6d 65 73 73 | nt)).......(kill-line).....(mess | 
| 1e320 | 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 | 
| 1e340 | 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 | 
| 1e360 | 6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 20 28 61 72    67 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63 | on-kill-word.(arg)..."Kill.the.c | 
| 1e380 | 75 72 72 65 6e 74 20 77 6f 72 64 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 | urrent.word."...(interactive."p" | 
| 1e3a0 | 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 | 
| 1e3c0 | 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- | 
| 1e3e0 | 77 6f 72 64 20 31 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 | word.1).....(message."Editing.is | 
| 1e400 | 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 70 74 2e | .restricted.to.the.input.prompt. | 
| 1e420 | 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 79 61 6e 6b 20 28 61 72 67 29 0a 20 | ")))..(defun.malyon-yank.(arg).. | 
| 1e440 | 20 22 59 61 6e 6b 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 | ."Yank."...(interactive."p")...( | 
| 1e460 | 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 6e 67 2d 6f 66 | if.(<=.malyon-aread-beginning-of | 
| 1e480 | 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20    20 20 20 20 20 28 79 61 6e 6b 29 0a 20 20 20 20 | -line.(point)).......(yank)..... | 
| 1e4a0 | 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 65 64 20 | (message."Editing.is.restricted. | 
| 1e4c0 | 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 66 75 6e | to.the.input.prompt.")))..(defun | 
| 1e4e0 | 20 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70    20 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 20 70 | .malyon-yank-pop.(arg)..."Yank.p | 
| 1e500 | 6f 70 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 | op."...(interactive."p")...(if.( | 
| 1e520 | 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 6e | <=.malyon-aread-beginning-of-lin | 
| 1e540 | 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20    20 28 79 61 6e 6b 2d 70 6f 70 20 31 29 0a 20 20 | e.(point)).......(yank-pop.1)... | 
| 1e560 | 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 65 | ..(message."Editing.is.restricte | 
| 1e580 | 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 66 | d.to.the.input.prompt.")))..(def | 
| 1e5a0 | 75 6e 20 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65    2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 | un.malyon-delete-char.(arg)..."D | 
| 1e5c0 | 65 6c 65 74 65 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 | elete.a.character."...(interacti | 
| 1e5e0 | 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 | 
| 1e600 | 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))....... | 
| 1e620 | 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a    20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 | (delete-char.1).....(message."Ed | 
| 1e640 | 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 69 6e 70 75 74 | iting.is.restricted.to.the.input | 
| 1e660 | 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 2d 62 61 63 6b | .prompt.")))..(defun.malyon-back | 
| 1e680 | 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72    20 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65 | ward-delete-char.(arg)..."Delete | 
| 1e6a0 | 20 61 20 63 68 61 72 61 63 74 65 72 20 62 61 63    6b 77 61 72 64 73 2e 22 0a 20 20 28 69 6e 74 65 | .a.character.backwards."...(inte | 
| 1e6c0 | 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28    69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65 | ractive."p")...(if.(<.malyon-are | 
| 1e6e0 | 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))... | 
| 1e700 | 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 64 65    6c 65 74 65 2d 63 68 61 72 2d 75 6e 74 61 62 69 | ....(backward-delete-char-untabi | 
| 1e720 | 66 79 20 31 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 | fy.1).....(message."Editing.is.r | 
| 1e740 | 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.") | 
| 1e760 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f | ))..(defun.malyon-self-insert-co | 
| 1e780 | 6d 6d 61 6e 64 20 28 61 72 67 29 0a 20 20 22 49    6e 73 65 72 74 20 61 20 63 68 61 72 61 63 74 65 | mmand.(arg)..."Insert.a.characte | 
| 1e7a0 | 72 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 | r."...(interactive."p")...(if.(> | 
| 1e7c0 | 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. | 
| 1e7e0 | 28 70 6f 69 6e 74 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 | (point)).......(goto-char.(point | 
| 1e800 | 2d 6d 61 78 29 29 29 0a 20 20 28 73 65 6c 66 2d    69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 31 | -max)))...(self-insert-command.1 | 
| 1e820 | 29 29 0a 0a 3b 3b 20 74 72 61 63 69 6e 67 20 75    74 69 6c 69 74 79 0a 0a 28 64 65 66 75 6e 20 6d | ))..;;.tracing.utility..(defun.m | 
| 1e840 | 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65    20 28 29 0a 20 20 22 54 75 72 6e 20 74 72 61 63 | alyon-trace-file.()..."Turn.trac | 
| 1e860 | 69 6e 67 20 6f 6e 20 66 6f 72 20 61 20 70 61 72    74 69 63 75 6c 61 72 20 66 69 6c 65 2e 22 0a 20 | ing.on.for.a.particular.file.".. | 
| 1e880 | 20 28 6c 65 74 20 28 28 74 72 61 63 65 0a 20 20    20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 | .(let.((trace..........(get-buff | 
| 1e8a0 | 65 72 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c | er-create...........(concat."Mal | 
| 1e8c0 | 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 69 6c 65 2d 6e 61 | yon.Trace.".malyon-story-file-na | 
| 1e8e0 | 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 20 20 20 28 77 69 | me)))).....(if.trace.........(wi | 
| 1e900 | 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 20 20 | th-current-buffer.trace......... | 
| 1e920 | 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 20 20 20 20 20 20 | ..(malyon-erase-buffer)......... | 
| 1e940 | 20 20 28 69 6e 73 65 72 74 20 28 63 6f 6e 63 61    74 20 22 54 72 61 63 69 6e 67 20 22 20 6d 61 6c | ..(insert.(concat."Tracing.".mal | 
| 1e960 | 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e    61 6d 65 20 22 2e 2e 2e 22 29 29 0a 20 20 20 20 | yon-story-file-name."..."))..... | 
| 1e980 | 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 6d 61 6c 79 | ......(newline)))))..(defun.maly | 
| 1e9a0 | 6f 6e 2d 74 72 61 63 65 2d 6e 65 77 6c 69 6e 65    20 28 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72 | on-trace-newline.()..."Output.tr | 
| 1e9c0 | 61 63 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 22 0a    20 20 28 6c 65 74 20 28 28 74 72 61 63 65 20 28 | acing.newline."...(let.((trace.( | 
| 1e9e0 | 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 61 63 65 | get-buffer.(concat."Malyon.Trace | 
| 1ea00 | 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 0a 20 20 | .".malyon-story-file-name))))... | 
| 1ea20 | 20 20 28 69 66 20 74 72 61 63 65 0a 20 20 20 20    20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e | ..(if.trace.........(with-curren | 
| 1ea40 | 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20    20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 | t-buffer.trace...........(goto-c | 
| 1ea60 | 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 28 6e 65 77 6c | har.(point-max))...........(newl | 
| 1ea80 | 69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 | ine)))))..(defun.malyon-trace-op | 
| 1eaa0 | 63 6f 64 65 20 28 70 63 20 6f 70 63 6f 64 65 20    6f 70 65 72 61 6e 64 73 29 0a 20 20 22 4f 75 74 | code.(pc.opcode.operands)..."Out | 
| 1eac0 | 70 75 74 20 61 20 5a 2d 63 6f 64 65 20 69 6e 73    74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 | put.a.Z-code.instruction."...(ma | 
| 1eae0 | 6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e    67 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 25 38 | lyon-trace-string....(format."%8 | 
| 1eb00 | 64 20 20 20 25 2d 33 64 20 25 2d 32 35 73 20 25    73 5c 6e 22 0a 09 20 20 20 70 63 0a 09 20 20 20 | d...%-3d.%-25s.%s\n".....pc..... | 
| 1eb20 | 6f 70 63 6f 64 65 0a 09 20 20 20 28 73 79 6d 62    6f 6c 2d 6e 61 6d 65 20 28 61 72 65 66 20 6d 61 | opcode.....(symbol-name.(aref.ma | 
| 1eb40 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 6f 70 63    6f 64 65 29 29 0a 09 20 20 20 28 61 70 70 6c 79 | lyon-opcodes.opcode)).....(apply | 
| 1eb60 | 20 27 63 6f 6e 63 61 74 20 28 63 6c 2d 6d 61 70    63 61 6e 0a 09 09 09 20 20 20 28 6c 61 6d 62 64 | .'concat.(cl-mapcan.......(lambd | 
| 1eb80 | 61 20 28 78 29 0a 09 09 09 20 20 20 20 20 28 6c    69 73 74 20 22 20 22 0a 09 09 09 09 20 20 20 28 | a.(x).........(list."."........( | 
| 1eba0 | 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67    0a 09 09 09 09 20 20 20 20 28 69 66 20 28 63 68 | number-to-string.........(if.(ch | 
| 1ebc0 | 61 72 61 63 74 65 72 70 20 78 29 0a 09 09 09 09    09 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f | aracterp.x)......(malyon-char-to | 
| 1ebe0 | 2d 69 6e 74 20 78 29 0a 09 09 09 09 20 20 20 20    20 20 78 29 29 29 29 0a 09 09 09 20 20 20 6f 70 | -int.x)...........x)))).......op | 
| 1ec00 | 65 72 61 6e 64 73 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 | erands)))))..(defun.malyon-trace | 
| 1ec20 | 2d 73 74 72 69 6e 67 20 28 73 29 0a 20 20 22 4f    75 74 70 75 74 20 74 72 61 63 69 6e 67 20 73 74 | -string.(s)..."Output.tracing.st | 
| 1ec40 | 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28    74 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65 | ring."...(let.((trace.(get-buffe | 
| 1ec60 | 72 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 6e | r.(concat."Malyon.Trace.".malyon | 
| 1ec80 | 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 28 61 6e | -story-file-name)))).....(if.(an | 
| 1eca0 | 64 20 74 72 61 63 65 20 73 29 0a 20 20 20 20 20    20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | d.trace.s).........(with-current | 
| 1ecc0 | 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20    20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | -buffer.trace...........(goto-ch | 
| 1ece0 | 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 28 69 6e 73 65 72 | ar.(point-max))...........(inser | 
| 1ed00 | 74 20 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 62 | t.s)))))..(defun.malyon-trace-ob | 
| 1ed20 | 6a 65 63 74 20 28 6f 29 0a 20 20 22 4f 75 74 70    75 74 20 74 72 61 63 69 6e 67 20 6f 62 6a 65 63 | ject.(o)..."Output.tracing.objec | 
| 1ed40 | 74 2e 22 0a 20 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 | t."...(let.((trace.(get-buffer.( | 
| 1ed60 | 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 6e 2d 73 74 | concat."Malyon.Trace.".malyon-st | 
| 1ed80 | 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 28 61 6e 64 20 74 | ory-file-name)))).....(if.(and.t | 
| 1eda0 | 72 61 63 65 20 6f 29 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 | race.o).........(with-current-bu | 
| 1edc0 | 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20    20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 | ffer.trace...........(goto-char. | 
| 1ede0 | 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 70 72 69 6e 31 20 6f 20 | (point-max))...........(prin1.o. | 
| 1ee00 | 74 72 61 63 65 29 29 29 29 29 0a 0a 3b 3b 3b 20    61 6e 6e 6f 75 6e 63 65 20 6d 61 6c 79 6f 6e 2d | trace)))))..;;;.announce.malyon- | 
| 1ee20 | 6d 6f 64 65 0a 0a 28 70 72 6f 76 69 64 65 20 27    6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 28 70 72 | mode..(provide.'malyon-mode).(pr | 
| 1ee40 | 6f 76 69 64 65 20 27 6d 61 6c 79 6f 6e 29 0a 0a    3b 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 65 6e | ovide.'malyon)..;;;.malyon.el.en | 
| 1ee60 | 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ds.here......................... | 
| 1ee80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1eea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1eec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1eee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ef00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ef20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ef40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ef60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ef80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1efa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1efc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1efe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f000 | 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. | 
| 1f020 | 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.............................. | 
| 1f040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f060 | 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 | 
| 1f080 | 30 30 30 31 31 34 34 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 | 0001144.00000000000.014705..0... | 
| 1f0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f100 | 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................... | 
| 1f120 | 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................... | 
| 1f140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f200 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20    22 6d 61 6c 79 6f 6e 22 20 22 32 30 31 36 31 32 | (define-package."malyon"."201612 | 
| 1f220 | 30 38 2e 32 31 32 35 22 20 22 6d 6f 64 65 20 74    6f 20 65 78 65 63 75 74 65 20 5a 2d 63 6f 64 65 | 08.2125"."mode.to.execute.Z-code | 
| 1f240 | 20 66 69 6c 65 73 20 76 65 72 73 69 6f 6e 20 33    2c 20 35 2c 20 38 22 0a 20 20 27 28 28 63 6c 2d | .files.version.3,.5,.8"...'((cl- | 
| 1f260 | 6c 69 62 20 22 30 2e 35 22 29 29 0a 20 20 3a 63    6f 6d 6d 69 74 20 22 30 64 39 38 38 32 36 35 30 | lib."0.5"))...:commit."0d9882650 | 
| 1f280 | 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 64 36 66 63 30 22 | 720b4a791556f5e2d917388965d6fc0" | 
| 1f2a0 | 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22    50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 | .:authors...'(("Peter.Ilberg.<pe | 
| 1f2c0 | 74 65 72 2e 69 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 | ter.ilberg@gmail.com>,.Christoph | 
| 1f2e0 | 65 72 20 4d 61 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 | er.Madsen.<cjm@cjmweb.net>,.Erik | 
| 1f300 | 20 53 65 6c 62 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 | .Selberg"..."erik@selberg.org")) | 
| 1f320 | 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a    20 20 27 28 28 22 43 68 72 69 73 74 6f 70 68 65 | ...:maintainers...'(("Christophe | 
| 1f340 | 72 20 4d 61 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 | r.Madsen.<cjm@cjmweb.net>,.Erik. | 
| 1f360 | 53 65 6c 62 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 0a | Selberg"..."erik@selberg.org")). | 
| 1f380 | 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20    27 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 4d | ..:maintainer...'("Christopher.M | 
| 1f3a0 | 61 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 | adsen.<cjm@cjmweb.net>,.Erik.Sel | 
| 1f3c0 | 62 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 0a 20 20 3a 6b | berg"..."erik@selberg.org")...:k | 
| 1f3e0 | 65 79 77 6f 72 64 73 0a 20 20 27 28 22 67 61 6d    65 73 22 20 22 65 6d 75 6c 61 74 69 6f 6e 73 22 | eywords...'("games"."emulations" | 
| 1f400 | 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 65 | )...:url."https://github.com/spe | 
| 1f420 | 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f 6e 22    29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 | edenator/malyon").;;.Local.Varia | 
| 1f440 | 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65    2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 | bles:.;;.no-byte-compile:.t.;;.E | 
| 1f460 | 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nd:............................. | 
| 1f480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 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 | ................................ |