home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 July / Macworld (1999-07).dmg / Shareware World / Info / For Developers / Mops 3.4.sea / Mops ƒ / Files < prev    next >
MacBinary  |  1999-02-16  |  15.5 KB  |  [TEXT/MSET]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: Files

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Feb 16 21:03:51 1999, modified Tue Feb 16 21:03:51 1999, creator 'MSET', type ASCII, 15302 bytes "Files" , at 0x3c46 381 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-2K) default (weak)
16% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MSET]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 46 69 6c 65 73 00 | 00 00 00 00 00 00 00 00 |..Files.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 53 45 | 54 01 00 00 00 00 00 00 |.TEXTMSE|T.......|
|00000050| 00 00 00 00 00 3b c6 00 | 00 01 7d b2 ef d4 07 b2 |.....;..|..}.....|
|00000060| ef d4 07 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 70 50 00 00 |........|....pP..|
|00000080| 5c 20 46 69 6c 65 73 20 | 20 2d 20 66 69 6c 65 20 |\ Files | - file |
|00000090| 6f 62 6a 65 63 74 20 61 | 6e 64 20 6c 6f 61 64 65 |object a|nd loade|
|000000a0| 72 0d 0d 63 72 20 2e 28 | 20 6c 6f 61 64 69 6e 67 |r..cr .(| loading|
|000000b0| 20 46 69 6c 65 73 2e 2e | 2e 29 0d 0d 63 6c 31 09 | Files..|.)..cl1.|
|000000c0| 09 09 09 09 09 5c 20 49 | 6e 20 63 61 73 65 20 77 |.....\ I|n case w|
|000000d0| 65 27 72 65 20 72 65 6c | 6f 61 64 69 6e 67 0d 27 |e're rel|oading.'|
|000000e0| 20 63 6c 31 09 2d 3e 20 | 61 62 6f 72 74 56 65 63 | cl1.-> |abortVec|
|000000f0| 0d 20 20 20 20 30 09 2d | 3e 20 71 75 69 74 76 65 |. 0.-|> quitve|
|00000100| 63 0d 0d 0d 09 30 09 76 | 61 6c 75 65 09 09 53 46 |c....0.v|alue..SF|
|00000110| 44 6c 67 48 6f 6f 6b 09 | 5c 20 55 73 65 64 20 69 |DlgHook.|\ Used i|
|00000120| 6e 20 73 74 64 20 66 69 | 6c 65 20 63 61 6c 6c 73 |n std fi|le calls|
|00000130| 2e 20 20 49 66 20 6e 6f | 6e 2d 7a 65 72 6f 2c 0d |. If no|n-zero,.|
|00000140| 09 09 09 09 09 09 09 09 | 5c 20 20 70 6f 69 6e 74 |........|\ point|
|00000150| 73 20 74 6f 20 74 68 65 | 20 70 72 6f 63 20 74 6f |s to the| proc to|
|00000160| 20 62 65 20 63 61 6c 6c | 65 64 20 77 68 69 6c 65 | be call|ed while|
|00000170| 0d 09 09 09 09 09 09 09 | 09 5c 20 20 74 68 65 20 |........|.\ the |
|00000180| 73 74 64 20 66 69 6c 65 | 20 64 69 61 6c 6f 67 20 |std file| dialog |
|00000190| 69 73 20 75 70 2e 0d 0d | 2d 33 39 09 09 63 6f 6e |is up...|-39..con|
|000001a0| 73 74 61 6e 74 09 45 4f | 46 09 09 09 5c 20 45 4f |stant.EO|F...\ EO|
|000001b0| 46 20 65 72 72 6f 72 20 | 72 65 74 75 72 6e 0d 2d |F error |return.-|
|000001c0| 34 33 09 09 63 6f 6e 73 | 74 61 6e 74 09 46 4e 46 |43..cons|tant.FNF|
|000001d0| 09 09 09 5c 20 46 69 6c | 65 20 6e 6f 74 20 66 6f |...\ Fil|e not fo|
|000001e0| 75 6e 64 20 64 69 74 74 | 6f 0d 0d 2d 33 30 30 20 |und ditt|o..-300 |
|000001f0| 09 63 6f 6e 73 74 61 6e | 74 09 46 49 4c 45 2d 4d |.constan|t.FILE-M|
|00000200| 41 52 4b 0d 0d 5c 20 4d | 61 72 6b 73 20 74 68 65 |ARK..\ M|arks the|
|00000210| 20 73 74 61 72 74 20 6f | 66 20 61 20 6c 6f 61 64 | start o|f a load|
|00000220| 65 64 20 66 69 6c 65 20 | 2d 20 77 65 20 70 6c 61 |ed file |- we pla|
|00000230| 6e 74 20 73 6f 6d 65 20 | 75 73 65 66 75 6c 20 69 |nt some |useful i|
|00000240| 6e 66 6f 20 74 68 65 72 | 65 2e 0d 5c 20 57 65 20 |nfo ther|e..\ We |
|00000250| 70 75 74 20 74 68 65 20 | 66 69 6c 65 20 6e 61 6d |put the |file nam|
|00000260| 65 20 69 6e 20 74 68 65 | 20 64 69 63 20 61 73 20 |e in the| dic as |
|00000270| 69 66 20 69 74 27 73 20 | 61 20 64 65 66 69 6e 69 |if it's |a defini|
|00000280| 74 69 6f 6e 20 6e 61 6d | 65 2c 20 62 75 74 20 75 |tion nam|e, but u|
|00000290| 73 65 0d 5c 20 66 69 6c | 65 2d 6d 61 72 6b 20 61 |se.\ fil|e-mark a|
|000002a0| 73 20 61 20 22 68 61 6e | 64 6c 65 72 20 63 6f 64 |s a "han|dler cod|
|000002b0| 65 22 2e 20 20 54 68 65 | 6e 20 61 66 74 65 72 20 |e". The|n after |
|000002c0| 74 68 61 74 20 77 65 20 | 70 75 74 20 74 68 65 20 |that we |put the |
|000002d0| 75 73 65 66 75 6c 20 69 | 6e 66 6f 2e 0d 5c 20 53 |useful i|nfo..\ S|
|000002e0| 65 65 20 65 78 74 72 61 | 73 4d 6f 64 2e 0d 0d 66 |ee extra|sMod...f|
|000002f0| 61 6c 73 65 09 76 61 6c | 75 65 09 41 53 59 4e 43 |alse.val|ue.ASYNC|
|00000300| 48 3f 0d 66 61 6c 73 65 | 09 76 61 6c 75 65 09 45 |H?.false|.value.E|
|00000310| 4e 44 4c 4f 41 44 3f 0d | 66 61 6c 73 65 09 76 61 |NDLOAD?.|false.va|
|00000320| 6c 75 65 09 4c 4f 47 3f | 0d 0d 20 20 20 20 30 09 |lue.LOG?|.. 0.|
|00000330| 76 61 6c 75 65 09 4f 50 | 45 4e 5f 43 4e 54 0d 20 |value.OP|EN_CNT. |
|00000340| 20 20 20 30 09 76 61 6c | 75 65 09 43 4c 4f 53 45 | 0.val|ue.CLOSE|
|00000350| 5f 45 52 52 5f 43 4e 54 | 0d 0d 66 6f 72 77 61 72 |_ERR_CNT|..forwar|
|00000360| 64 09 43 52 45 41 54 45 | 5f 4c 4f 47 0d 66 6f 72 |d.CREATE|_LOG.for|
|00000370| 77 61 72 64 09 57 52 49 | 54 45 5f 4c 4f 47 0d 0d |ward.WRI|TE_LOG..|
|00000380| 09 73 74 72 69 6e 67 09 | 24 4c 47 31 0d 09 73 74 |.string.|$LG1..st|
|00000390| 72 69 6e 67 09 24 4c 47 | 32 0d 0d 0d 3a 20 3f 44 |ring.$LG|2...: ?D|
|000003a0| 49 53 41 42 4c 45 5f 41 | 43 54 57 0d 09 09 09 5c |ISABLE_A|CTW....\|
|000003b0| 20 64 65 61 63 74 69 76 | 61 74 65 73 20 74 68 65 | deactiv|ates the|
|000003c0| 20 66 72 6f 6e 74 20 77 | 69 6e 64 6f 77 20 69 66 | front w|indow if|
|000003d0| 20 69 74 27 73 20 6f 6e | 65 20 6f 66 20 6f 75 72 | it's on|e of our|
|000003e0| 73 2e 20 20 43 61 6c 6c | 20 62 65 66 6f 72 65 0d |s. Call| before.|
|000003f0| 09 09 09 5c 20 20 70 75 | 74 74 69 6e 67 20 75 70 |...\ pu|tting up|
|00000400| 20 61 20 64 69 61 6c 6f | 67 2c 20 73 69 6e 63 65 | a dialo|g, since|
|00000410| 20 74 68 61 74 20 64 6f | 65 73 6e 27 74 20 61 75 | that do|esn't au|
|00000420| 74 6f 6d 61 74 69 63 61 | 6c 6c 79 20 63 61 75 73 |tomatica|lly caus|
|00000430| 65 20 61 0d 09 09 09 5c | 20 20 64 65 61 63 74 69 |e a....\| deacti|
|00000440| 76 61 74 65 20 65 76 65 | 6e 74 2c 20 66 6f 72 20 |vate eve|nt, for |
|00000450| 73 6f 6d 65 20 73 74 72 | 61 6e 67 65 20 72 65 61 |some str|ange rea|
|00000460| 73 6f 6e 2e 0d 0d 09 61 | 63 74 57 20 49 46 20 20 |son....a|ctW IF |
|00000470| 64 69 73 61 62 6c 65 3a | 20 5b 20 61 63 74 57 20 |disable:| [ actW |
|00000480| 5d 20 20 54 48 45 4e 20 | 20 3b 0d 0d 0d 3a 20 41 |] THEN | ;...: A|
|00000490| 53 59 4e 43 48 09 74 72 | 75 65 20 2d 3e 20 61 73 |SYNCH.tr|ue -> as|
|000004a0| 79 6e 63 68 3f 20 20 3b | 0d 0d 3a 20 49 4f 57 41 |ynch? ;|..: IOWA|
|000004b0| 49 54 09 42 45 47 49 4e | 20 20 62 75 73 79 20 20 |IT.BEGIN| busy |
|000004c0| 30 45 58 49 54 20 20 70 | 61 75 73 65 20 20 41 47 |0EXIT p|ause AG|
|000004d0| 41 49 4e 20 20 20 3b 0d | 0d 3a 20 28 41 53 59 29 |AIN ;.|.: (ASY)|
|000004e0| 09 09 5c 20 28 20 66 63 | 62 20 2d 2d 20 29 20 20 |..\ ( fc|b -- ) |
|000004f0| 53 65 74 73 20 75 70 20 | 66 6f 72 20 61 20 6c 6f |Sets up |for a lo|
|00000500| 77 2d 6c 65 76 65 6c 20 | 61 73 79 6e 63 68 72 6f |w-level |asynchro|
|00000510| 6e 6f 75 73 20 72 65 61 | 64 20 6f 72 20 77 72 69 |nous rea|d or wri|
|00000520| 74 65 2e 0d 09 49 4f 77 | 61 69 74 0d 09 2d 3e 20 |te...IOw|ait..-> |
|00000530| 62 75 73 79 20 20 73 65 | 74 43 50 20 20 3b 0d 0d |busy se|tCP ;..|
|00000540| 0d 3a 20 56 4f 4c 4e 41 | 4d 45 3f 20 20 7b 20 73 |.: VOLNA|ME? { s|
|00000550| 74 72 20 2d 2d 20 62 20 | 7d 20 0d 09 72 65 73 65 |tr -- b |} ..rese|
|00000560| 74 3a 20 5b 20 73 74 72 | 20 5d 0d 09 35 38 20 73 |t: [ str| ]..58 s|
|00000570| 74 72 20 63 68 73 65 61 | 72 63 68 3a 20 5b 20 73 |tr chsea|rch: [ s|
|00000580| 74 72 20 5d 0d 09 4e 49 | 46 20 20 66 61 6c 73 65 |tr ]..NI|F false|
|00000590| 20 20 45 58 49 54 20 20 | 54 48 45 4e 0d 09 6c 69 | EXIT |THEN..li|
|000005a0| 6d 3a 20 5b 20 73 74 72 | 20 5d 20 20 32 20 3e 3d |m: [ str| ] 2 >=|
|000005b0| 20 20 3b 0d 0d 0d 66 6f | 72 77 61 72 64 20 20 4f | ;...fo|rward O|
|000005c0| 50 45 4e 5f 57 49 54 48 | 5f 50 41 54 48 53 0d 0d |PEN_WITH|_PATHS..|
|000005d0| 66 61 6c 73 65 09 76 61 | 6c 75 65 09 55 53 45 5f |false.va|lue.USE_|
|000005e0| 50 41 54 48 53 3f 0d 0d | 3a 20 48 46 53 3f 09 24 |PATHS?..|: HFS?.$|
|000005f0| 20 33 66 36 20 77 40 78 | 20 20 30 3e 20 20 3b 0d | 3f6 w@x| 0> ;.|
|00000600| 0d 76 61 72 69 61 62 6c | 65 09 4d 79 44 6f 63 4e |.variabl|e.MyDocN|
|00000610| 61 6d 65 09 32 38 20 61 | 6c 6c 6f 74 0d 0d 3a 20 |ame.28 a|llot..: |
|00000620| 4d 79 44 6f 63 09 09 5c | 20 28 20 2d 2d 20 61 64 |MyDoc..\| ( -- ad|
|00000630| 64 72 20 6c 65 6e 20 29 | 0d 09 4d 79 44 6f 63 4e |dr len )|..MyDocN|
|00000640| 61 6d 65 20 20 63 6f 75 | 6e 74 20 20 3b 0d 0d 0d |ame cou|nt ;...|
|00000650| 5c 20 53 74 61 6e 64 61 | 72 64 20 66 69 6c 65 20 |\ Standa|rd file |
|00000660| 70 61 63 6b 61 67 65 20 | 73 75 70 70 6f 72 74 0d |package |support.|
|00000670| 0d 3a 20 53 46 4c 4f 43 | 20 20 7b 20 20 5c 20 68 |.: SFLOC| { \ h|
|00000680| 74 20 77 64 20 2d 2d 20 | 78 3a 79 20 7d 0d 09 09 |t wd -- |x:y }...|
|00000690| 5c 20 43 6f 6d 70 75 74 | 65 73 20 73 63 72 65 65 |\ Comput|es scree|
|000006a0| 6e 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 20 66 6f |n coordi|nates fo|
|000006b0| 72 20 74 6f 70 20 6c 65 | 66 74 20 6f 66 0d 09 09 |r top le|ft of...|
|000006c0| 5c 20 53 46 20 64 69 61 | 6c 6f 67 20 62 6f 78 2e |\ SF dia|log box.|
|000006d0| 20 20 43 65 6e 74 65 72 | 73 20 74 68 65 20 62 6f | Center|s the bo|
|000006e0| 78 20 68 6f 72 69 7a 6f | 6e 74 61 6c 6c 79 2c 20 |x horizo|ntally, |
|000006f0| 61 6e 64 20 61 20 62 69 | 74 20 61 62 6f 76 65 0d |and a bi|t above.|
|00000700| 09 09 5c 20 74 68 65 20 | 63 65 6e 74 65 72 20 76 |..\ the |center v|
|00000710| 65 72 74 69 63 61 6c 6c | 79 2e 0d 09 73 63 72 65 |erticall|y...scre|
|00000720| 65 6e 62 69 74 73 20 20 | 2d 3e 20 68 74 20 20 2d |enbits |-> ht -|
|00000730| 3e 20 77 64 20 20 32 64 | 72 6f 70 0d 09 68 74 20 |> wd 2d|rop..ht |
|00000740| 33 20 2f 20 20 38 30 20 | 2d 20 20 30 20 6d 61 78 |3 / 80 |- 0 max|
|00000750| 20 20 2d 3e 20 68 74 0d | 09 77 64 20 32 2f 20 20 | -> ht.|.wd 2/ |
|00000760| 31 37 30 20 2d 20 20 30 | 20 6d 61 78 20 20 2d 3e |170 - 0| max ->|
|00000770| 20 77 64 0d 09 77 64 20 | 68 74 20 70 61 63 6b 20 | wd..wd |ht pack |
|00000780| 20 3b 0d 0d 0d 3a 63 6c | 61 73 73 20 09 53 46 72 | ;...:cl|ass .SFr|
|00000790| 65 63 09 73 75 70 65 72 | 7b 20 6f 62 6a 65 63 74 |ec.super|{ object|
|000007a0| 20 7d 20 0d 0d 72 65 63 | 6f 72 64 0d 7b 09 62 79 | } ..rec|ord.{.by|
|000007b0| 74 65 09 09 47 6f 6f 64 | 0d 09 62 79 74 65 09 09 |te..Good|..byte..|
|000007c0| 63 6f 75 6e 74 09 09 09 | 5c 20 61 63 74 75 61 6c |count...|\ actual|
|000007d0| 6c 79 20 6e 6f 74 20 75 | 73 65 64 0d 09 76 61 72 |ly not u|sed..var|
|000007e0| 09 09 09 66 54 79 70 65 | 0d 09 69 6e 74 09 09 09 |...fType|..int...|
|000007f0| 76 52 65 66 4e 75 6d 0d | 09 69 6e 74 09 09 09 56 |vRefNum.|.int...V|
|00000800| 65 72 73 69 6f 6e 0d 20 | 36 34 09 62 79 74 65 73 |ersion. |64.bytes|
|00000810| 09 09 46 69 6c 65 6e 61 | 6d 65 09 09 5c 20 6d 61 |..Filena|me..\ ma|
|00000820| 78 20 73 69 7a 65 20 69 | 73 20 36 34 0d 7d 0d 34 |x size i|s 64.}.4|
|00000830| 09 6f 72 64 65 72 65 64 | 2d 63 6f 6c 09 66 54 79 |.ordered|-col.fTy|
|00000840| 70 65 73 09 09 09 5c 20 | 6c 69 73 74 20 6f 66 20 |pes...\ |list of |
|00000850| 66 69 6c 65 74 79 70 65 | 73 0d 0d 0d 3a 6d 20 47 |filetype|s...:m G|
|00000860| 65 74 56 52 65 66 4e 75 | 6d 3a 09 67 65 74 3a 20 |etVRefNu|m:.get: |
|00000870| 76 52 65 66 4e 75 6d 20 | 20 20 3b 6d 0d 3a 6d 20 |vRefNum | ;m.:m |
|00000880| 47 65 74 4e 61 6d 65 3a | 09 09 61 64 64 72 3a 20 |GetName:|..addr: |
|00000890| 46 69 6c 65 4e 61 6d 65 | 20 20 20 3b 6d 0d 0d 3a |FileName| ;m..:|
|000008a0| 6d 20 43 41 4c 4c 3a 09 | 5c 20 28 20 72 6f 75 74 |m CALL:.|\ ( rout|
|000008b0| 69 6e 65 23 20 2d 2d 20 | 62 6f 6f 6c 20 29 20 20 |ine# -- |bool ) |
|000008c0| 43 61 6c 6c 73 20 61 20 | 53 74 61 6e 64 61 72 64 |Calls a |Standard|
|000008d0| 20 46 69 6c 65 20 50 61 | 63 6b 61 67 65 20 72 6f | File Pa|ckage ro|
|000008e0| 75 74 69 6e 65 2e 0d 09 | 3f 64 69 73 61 62 6c 65 |utine...|?disable|
|000008f0| 5f 61 63 74 77 0d 09 53 | 46 44 6c 67 48 6f 6f 6b |_actw..S|FDlgHook|
|00000900| 20 20 5e 62 61 73 65 20 | 20 72 6f 74 20 6d 61 6b | ^base | rot mak|
|00000910| 65 69 6e 74 20 20 74 72 | 61 70 24 20 41 39 45 41 |eint tr|ap$ A9EA|
|00000920| 0d 09 67 65 74 3a 20 67 | 6f 6f 64 20 20 3b 6d 0d |..get: g|ood ;m.|
|00000930| 0d 3a 6d 20 53 54 44 47 | 45 54 3a 20 20 28 20 74 |.:m STDG|ET: ( t|
|00000940| 79 70 65 30 20 2e 2e 2e | 74 79 70 65 4e 20 29 20 |ype0 ...|typeN ) |
|00000950| 7b 20 20 23 74 79 70 65 | 73 20 2d 2d 20 62 6f 6f |{ #type|s -- boo|
|00000960| 6c 20 7d 20 0d 09 63 6c | 65 61 72 3a 20 66 54 79 |l } ..cl|ear: fTy|
|00000970| 70 65 73 20 20 23 74 79 | 70 65 73 20 20 30 3e 0d |pes #ty|pes 0>.|
|00000980| 09 49 46 09 23 74 79 70 | 65 73 20 30 20 20 44 4f |.IF.#typ|es 0 DO|
|00000990| 20 20 61 64 64 3a 20 66 | 54 79 70 65 73 20 20 4c | add: f|Types L|
|000009a0| 4f 4f 50 20 20 54 48 45 | 4e 0d 09 53 46 6c 6f 63 |OOP THE|N..SFloc|
|000009b0| 20 20 30 20 30 20 20 23 | 74 79 70 65 73 20 6d 61 | 0 0 #|types ma|
|000009c0| 6b 65 69 6e 74 20 20 69 | 78 41 64 64 72 3a 20 66 |keint i|xAddr: f|
|000009d0| 54 79 70 65 73 0d 09 32 | 20 63 61 6c 6c 3a 20 73 |Types..2| call: s|
|000009e0| 65 6c 66 20 20 3b 6d 0d | 0d 3a 6d 20 53 54 44 50 |elf ;m.|.:m STDP|
|000009f0| 55 54 3a 20 20 7b 20 20 | 70 41 64 64 72 20 70 4c |UT: { |pAddr pL|
|00000a00| 65 6e 20 6e 41 64 64 72 | 20 6e 4c 65 6e 20 2d 2d |en nAddr| nLen --|
|00000a10| 20 62 6f 6f 6c 20 7d 20 | 0d 09 70 41 64 64 72 20 | bool } |..pAddr |
|00000a20| 70 4c 65 6e 20 70 61 64 | 20 70 6c 61 63 65 0d 09 |pLen pad| place..|
|00000a30| 53 46 6c 6f 63 20 20 70 | 61 64 20 20 6e 41 64 64 |SFloc p|ad nAdd|
|00000a40| 72 20 6e 4c 65 6e 20 20 | 73 74 72 32 35 35 0d 09 |r nLen |str255..|
|00000a50| 31 20 63 61 6c 6c 3a 20 | 73 65 6c 66 20 20 3b 6d |1 call: |self ;m|
|00000a60| 0d 0d 3b 63 6c 61 73 73 | 20 0d 0d 0d 6f 62 6a 48 |..;class| ...objH|
|00000a70| 61 6e 64 6c 65 09 53 46 | 48 44 4c 0d 6f 62 6a 50 |andle.SF|HDL.objP|
|00000a80| 74 72 09 09 53 46 4f 42 | 4a 20 20 20 63 6c 61 73 |tr..SFOB|J clas|
|00000a90| 73 5f 69 73 20 20 53 46 | 72 65 63 0d 0d 0d 5c 20 |s_is SF|rec...\ |
|00000aa0| 44 4f 5f 4f 50 45 4e 20 | 64 6f 65 73 20 74 68 65 |DO_OPEN |does the|
|00000ab0| 20 68 61 72 64 20 77 6f | 72 6b 20 66 6f 72 20 4f | hard wo|rk for O|
|00000ac0| 50 45 4e 3a 20 66 69 6c | 65 2e 20 20 46 69 72 73 |PEN: fil|e. Firs|
|00000ad0| 74 2c 20 69 66 20 65 69 | 74 68 65 72 20 74 68 65 |t, if ei|ther the|
|00000ae0| 20 44 69 72 49 44 0d 5c | 20 6f 72 20 74 68 65 20 | DirID.\| or the |
|00000af0| 76 6f 6c 20 72 65 66 23 | 20 69 73 20 6e 6f 6e 2d |vol ref#| is non-|
|00000b00| 7a 65 72 6f 2c 20 77 65 | 20 72 61 73 68 6c 79 20 |zero, we| rashly |
|00000b10| 61 73 73 75 6d 65 20 77 | 65 20 6b 6e 6f 77 20 77 |assume w|e know w|
|00000b20| 68 69 63 68 20 66 6f 6c | 64 65 72 20 77 65 0d 5c |hich fol|der we.\|
|00000b30| 20 77 61 6e 74 2c 20 61 | 6e 64 20 6a 75 73 74 20 | want, a|nd just |
|00000b40| 64 6f 20 61 6e 20 6f 70 | 65 6e 2e 20 20 57 65 20 |do an op|en. We |
|00000b50| 61 6c 73 6f 20 64 6f 20 | 74 68 61 74 20 69 66 20 |also do |that if |
|00000b60| 77 65 27 72 65 20 6e 6f | 74 20 72 75 6e 6e 69 6e |we're no|t runnin|
|00000b70| 67 20 75 6e 64 65 72 20 | 48 46 53 2e 0d 5c 20 54 |g under |HFS..\ T|
|00000b80| 68 65 6e 2c 20 69 66 20 | 77 65 20 67 65 74 20 74 |hen, if |we get t|
|00000b90| 68 72 6f 75 67 68 20 74 | 6f 20 68 65 72 65 2c 20 |hrough t|o here, |
|00000ba0| 77 65 20 6e 65 65 64 20 | 74 6f 20 6c 6f 6f 6b 20 |we need |to look |
|00000bb0| 61 74 20 74 68 65 20 70 | 61 74 68 73 2e 20 20 42 |at the p|aths. B|
|00000bc0| 75 74 20 77 61 69 74 21 | 0d 5c 20 46 69 72 73 74 |ut wait!|.\ First|
|00000bd0| 2c 20 77 65 20 63 68 65 | 63 6b 20 74 68 65 20 64 |, we che|ck the d|
|00000be0| 65 66 61 75 6c 74 20 66 | 6f 6c 64 65 72 20 62 79 |efault f|older by|
|00000bf0| 20 6a 75 73 74 20 64 6f | 69 6e 67 20 61 20 70 6c | just do|ing a pl|
|00000c00| 61 69 6e 20 6f 70 65 6e | 20 61 6e 79 77 61 79 21 |ain open| anyway!|
|00000c10| 20 20 49 66 0d 5c 20 74 | 68 69 73 20 66 61 69 6c | If.\ t|his fail|
|00000c20| 73 20 77 69 74 68 20 61 | 20 22 66 69 6c 65 20 6e |s with a| "file n|
|00000c30| 6f 74 20 66 6f 75 6e 64 | 22 2c 20 77 65 20 63 61 |ot found|", we ca|
|00000c40| 6c 6c 20 3f 55 53 45 5f | 50 41 54 48 53 20 77 68 |ll ?USE_|PATHS wh|
|00000c50| 69 63 68 20 65 69 74 68 | 65 72 20 64 6f 65 73 0d |ich eith|er does.|
|00000c60| 5c 20 6e 6f 74 68 69 6e | 67 20 28 69 66 20 77 65 |\ nothin|g (if we|
|00000c70| 27 72 65 20 6e 6f 74 20 | 75 73 69 6e 67 20 61 20 |'re not |using a |
|00000c80| 70 61 74 68 20 64 65 73 | 69 67 6e 61 74 6f 72 20 |path des|ignator |
|00000c90| 66 69 6c 65 29 2c 20 6f | 72 20 63 61 6c 6c 73 20 |file), o|r calls |
|00000ca0| 6f 75 72 20 50 41 54 48 | 53 4d 4f 44 0d 5c 20 6d |our PATH|SMOD.\ m|
|00000cb0| 6f 64 75 6c 65 20 74 6f | 20 6c 6f 6f 6b 20 61 74 |odule to| look at|
|00000cc0| 20 61 20 50 44 20 66 69 | 6c 65 20 61 6e 64 20 74 | a PD fi|le and t|
|00000cd0| 72 79 20 75 73 69 6e 67 | 20 74 68 6f 73 65 20 70 |ry using| those p|
|00000ce0| 61 74 68 73 20 74 6f 20 | 66 69 6e 64 20 74 68 65 |aths to |find the|
|00000cf0| 20 77 61 6e 74 65 64 0d | 5c 20 66 69 6c 65 2e 0d | wanted.|\ file..|
|00000d00| 0d 3a 20 44 4f 5f 4f 50 | 45 4e 20 20 7b 20 20 66 |.: DO_OP|EN { f|
|00000d10| 63 62 20 6d 6f 64 65 20 | 2d 2d 20 72 63 20 7d 20 |cb mode |-- rc } |
|00000d20| 0d 09 31 20 2b 2b 3e 20 | 6f 70 65 6e 5f 63 6e 74 |..1 ++> |open_cnt|
|00000d30| 0d 09 5e 62 61 73 65 20 | 34 38 20 2b 20 40 09 09 |..^base |48 + @..|
|00000d40| 09 09 09 5c 20 44 69 72 | 49 44 0d 09 5e 62 61 73 |...\ Dir|ID..^bas|
|00000d50| 65 20 32 32 20 2b 20 77 | 40 09 09 09 09 09 5c 20 |e 22 + w|@.....\ |
|00000d60| 76 6f 6c 20 72 65 66 23 | 0d 09 6f 72 20 20 48 46 |vol ref#|..or HF|
|00000d70| 53 3f 20 6e 6f 74 20 20 | 6f 72 09 09 09 09 5c 20 |S? not |or....\ |
|00000d80| 45 69 74 68 65 72 20 6e | 6f 6e 2d 7a 65 72 6f 2c |Either n|on-zero,|
|00000d90| 20 6f 72 20 6e 6f 74 20 | 48 46 53 3f 0d 09 75 73 | or not |HFS?..us|
|00000da0| 65 5f 70 61 74 68 73 3f | 20 6e 6f 74 20 20 6f 72 |e_paths?| not or|
|00000db0| 09 09 09 09 5c 20 4f 72 | 20 70 61 74 68 73 20 64 |....\ Or| paths d|
|00000dc0| 69 73 61 62 6c 65 64 3f | 0d 09 49 46 09 09 09 09 |isabled?|..IF....|
|00000dd0| 09 09 09 09 5c 20 59 65 | 73 3a 20 6a 75 73 74 20 |....\ Ye|s: just |
|00000de0| 64 6f 20 61 20 6e 6f 72 | 6d 61 6c 20 6f 70 65 6e |do a nor|mal open|
|00000df0| 2c 20 61 6e 64 20 67 65 | 74 20 6f 75 74 2e 0d 09 |, and ge|t out...|
|00000e00| 09 66 63 62 20 6d 6f 64 | 65 20 28 6f 70 65 6e 29 |.fcb mod|e (open)|
|00000e10| 20 20 45 58 49 54 0d 09 | 54 48 45 4e 0d 09 09 09 | EXIT..|THEN....|
|00000e20| 09 09 09 09 09 09 5c 20 | 4d 61 79 62 65 20 75 73 |......\ |Maybe us|
|00000e30| 65 20 48 46 53 20 70 61 | 74 68 73 3a 0d 09 66 63 |e HFS pa|ths:..fc|
|00000e40| 62 20 6d 6f 64 65 20 28 | 6f 70 65 6e 29 20 64 75 |b mode (|open) du|
|00000e50| 70 20 20 30 45 58 49 54 | 09 09 5c 20 54 72 79 20 |p 0EXIT|..\ Try |
|00000e60| 64 65 66 61 75 6c 74 20 | 66 6f 6c 64 65 72 20 66 |default |folder f|
|00000e70| 69 72 73 74 0d 09 09 09 | 09 09 09 09 09 09 5c 20 |irst....|......\ |
|00000e80| 2d 2d 20 6f 75 74 20 69 | 66 20 77 65 20 66 6f 75 |-- out i|f we fou|
|00000e90| 6e 64 20 69 74 0d 09 64 | 75 70 20 46 4e 46 20 3c |nd it..d|up FNF <|
|00000ea0| 3e 20 20 3f 45 58 49 54 | 09 09 09 09 5c 20 49 66 |> ?EXIT|....\ If|
|00000eb0| 20 65 72 72 20 77 61 73 | 6e 27 74 20 46 4e 46 2c | err was|n't FNF,|
|00000ec0| 20 67 65 74 20 6f 75 74 | 0d 09 75 73 65 5f 70 61 | get out|..use_pa|
|00000ed0| 74 68 73 3f 20 20 30 45 | 58 49 54 09 09 09 09 5c |ths? 0E|XIT....\|
|00000ee0| 20 49 66 20 70 61 74 68 | 73 20 64 69 73 61 62 6c | If path|s disabl|
|00000ef0| 65 64 2c 20 6f 75 74 20 | 77 69 74 68 20 46 4e 46 |ed, out |with FNF|
|00000f00| 0d 09 64 72 6f 70 20 20 | 66 63 62 20 6d 6f 64 65 |..drop |fcb mode|
|00000f10| 20 6f 70 65 6e 5f 77 69 | 74 68 5f 70 61 74 68 73 | open_wi|th_paths|
|00000f20| 20 20 3b 0d 0d 0d 3a 63 | 6c 61 73 73 20 20 20 46 | ;...:c|lass F|
|00000f30| 49 4c 45 09 73 75 70 65 | 72 7b 20 6f 62 6a 65 63 |ILE.supe|r{ objec|
|00000f40| 74 20 7d 09 09 67 65 6e | 65 72 61 6c 0d 0d 31 33 |t }..gen|eral..13|
|00000f50| 34 09 62 79 74 65 73 09 | 09 46 43 42 09 09 09 5c |4.bytes.|.FCB...\|
|00000f60| 20 6d 61 78 20 70 61 72 | 61 6d 65 74 65 72 20 62 | max par|ameter b|
|00000f70| 6c 6f 63 6b 20 28 31 30 | 38 20 62 75 74 20 66 6f |lock (10|8 but fo|
|00000f80| 72 20 68 67 65 74 76 69 | 6e 66 6f 29 0d 0d 72 65 |r hgetvi|nfo)..re|
|00000f90| 63 6f 72 64 09 46 53 53 | 70 65 63 0d 7b 09 69 6e |cord.FSS|pec.{.in|
|00000fa0| 74 09 09 09 46 53 76 52 | 65 66 4e 75 6d 0d 09 76 |t...FSvR|efNum..v|
|00000fb0| 61 72 09 09 09 46 53 44 | 69 72 49 44 0d 32 35 36 |ar...FSD|irID.256|
|00000fc0| 09 62 79 74 65 73 09 09 | 46 69 6c 65 4e 61 6d 65 |.bytes..|FileName|
|00000fd0| 0d 7d 0d 0d 3a 6d 20 43 | 4c 45 41 52 3a 09 09 5c |.}..:m C|LEAR:..\|
|00000fe0| 20 43 6c 65 61 72 73 20 | 74 68 65 20 66 63 62 2c | Clears |the fcb,|
|00000ff0| 20 65 78 63 65 70 74 20 | 66 6f 72 20 74 68 65 20 | except |for the |
|00001000| 66 69 6c 65 6e 61 6d 65 | 2e 0d 09 5e 62 61 73 65 |filename|...^base|
|00001010| 20 20 31 38 20 65 72 61 | 73 65 20 20 5e 62 61 73 | 18 era|se ^bas|
|00001020| 65 20 32 32 20 2b 20 20 | 31 31 32 20 65 72 61 73 |e 22 + |112 eras|
|00001030| 65 20 20 3b 6d 0d 0d 3a | 6d 20 53 45 54 4e 41 4d |e ;m..:|m SETNAM|
|00001040| 45 50 54 52 3a 09 5c 20 | 53 65 74 73 20 66 69 6c |EPTR:.\ |Sets fil|
|00001050| 65 6e 61 6d 65 20 70 6f | 69 6e 74 65 72 20 69 6e |ename po|inter in|
|00001060| 20 74 68 65 20 46 43 42 | 2e 0d 09 5e 62 61 73 65 | the FCB|...^base|
|00001070| 20 31 34 30 20 2b 20 20 | 5e 62 61 73 65 20 21 66 | 140 + |^base !f|
|00001080| 70 74 72 20 20 3b 6d 0d | 0d 3a 6d 20 4e 41 4d 45 |ptr ;m.|.:m NAME|
|00001090| 3a 09 09 5c 20 28 20 61 | 64 64 72 20 6c 65 6e 20 |:..\ ( a|ddr len |
|000010a0| 2d 2d 20 29 20 20 41 73 | 73 69 67 6e 73 20 66 69 |-- ) As|signs fi|
|000010b0| 6c 65 20 6e 61 6d 65 20 | 74 6f 20 66 63 62 2e 20 |le name |to fcb. |
|000010c0| 20 52 65 73 74 20 63 6c | 65 61 72 65 64 2e 0d 09 | Rest cl|eared...|
|000010d0| 73 65 74 4e 61 6d 65 50 | 74 72 3a 20 73 65 6c 66 |setNameP|tr: self|
|000010e0| 20 20 63 6c 65 61 72 3a | 20 73 65 6c 66 0d 09 5e | clear:| self..^|
|000010f0| 62 61 73 65 20 31 34 30 | 20 2b 20 20 3e 72 09 09 |base 140| + >r..|
|00001100| 09 09 09 5c 20 41 64 64 | 72 20 6f 66 20 66 69 6c |...\ Add|r of fil|
|00001110| 65 6e 61 6d 65 20 28 61 | 74 20 65 6e 64 20 6f 66 |ename (a|t end of|
|00001120| 20 66 63 62 29 0d 09 72 | 40 20 20 32 35 36 20 62 | fcb)..r|@ 256 b|
|00001130| 6c 61 6e 6b 73 0d 09 28 | 20 61 64 64 72 20 6c 65 |lanks..(| addr le|
|00001140| 6e 20 29 20 20 32 35 35 | 20 6d 69 6e 20 20 72 3e |n ) 255| min r>|
|00001150| 20 20 3e 73 74 72 32 35 | 35 20 20 64 72 6f 70 20 | >str25|5 drop |
|00001160| 20 3b 6d 0d 0d 3a 6d 20 | 53 45 54 44 49 52 49 44 | ;m..:m |SETDIRID|
|00001170| 3a 09 5c 20 28 20 64 69 | 72 69 64 20 2d 2d 20 29 |:.\ ( di|rid -- )|
|00001180| 20 20 53 65 74 73 20 74 | 68 65 20 44 69 72 49 44 | Sets t|he DirID|
|00001190| 20 66 6f 72 20 74 68 65 | 20 66 63 62 0d 09 5e 62 | for the| fcb..^b|
|000011a0| 61 73 65 20 34 38 20 2b | 20 20 21 20 20 3b 6d 0d |ase 48 +| ! ;m.|
|000011b0| 0d 3a 6d 20 47 45 54 44 | 49 52 49 44 3a 09 5c 20 |.:m GETD|IRID:.\ |
|000011c0| 28 20 2d 2d 20 64 69 72 | 69 64 20 29 20 20 47 65 |( -- dir|id ) Ge|
|000011d0| 74 73 20 74 68 65 20 44 | 69 72 49 44 20 66 6f 72 |ts the D|irID for|
|000011e0| 20 74 68 65 20 66 63 62 | 0d 09 5e 62 61 73 65 20 | the fcb|..^base |
|000011f0| 34 38 20 2b 20 20 40 20 | 20 3b 6d 0d 0d 3a 6d 20 |48 + @ | ;m..:m |
|00001200| 47 45 54 46 52 45 46 3a | 09 5c 20 28 20 2d 2d 20 |GETFREF:|.\ ( -- |
|00001210| 66 72 65 66 20 29 20 20 | 47 65 74 73 20 74 68 65 |fref ) |Gets the|
|00001220| 20 66 69 6c 65 20 72 65 | 66 20 6e 75 6d 62 65 72 | file re|f number|
|00001230| 2e 0d 09 5e 62 61 73 65 | 20 32 34 20 2b 20 20 77 |...^base| 24 + w|
|00001240| 40 20 20 3b 6d 0d 0d 3a | 6d 20 53 45 54 46 52 45 |@ ;m..:|m SETFRE|
|00001250| 46 3a 0d 09 5e 62 61 73 | 65 20 32 34 20 2b 20 20 |F:..^bas|e 24 + |
|00001260| 77 21 20 20 3b 6d 0d 0d | 3a 6d 20 53 45 54 56 52 |w! ;m..|:m SETVR|
|00001270| 45 46 3a 09 5c 20 28 20 | 76 72 65 66 23 20 2d 2d |EF:.\ ( |vref# --|
|00001280| 20 29 20 20 53 65 74 73 | 20 74 68 65 20 76 6f 6c | ) Sets| the vol|
|00001290| 52 65 66 4e 75 6d 20 66 | 6f 72 20 74 68 65 20 66 |RefNum f|or the f|
|000012a0| 63 62 0d 09 5e 62 61 73 | 65 20 32 32 20 2b 20 20 |cb..^bas|e 22 + |
|000012b0| 77 21 20 20 3b 6d 0d 0d | 3a 6d 20 47 45 54 56 52 |w! ;m..|:m GETVR|
|000012c0| 45 46 3a 09 5c 20 28 20 | 2d 2d 20 76 72 65 66 23 |EF:.\ ( |-- vref#|
|000012d0| 20 29 20 20 47 65 74 73 | 20 74 68 65 20 76 6f 6c | ) Gets| the vol|
|000012e0| 52 65 66 4e 75 6d 20 66 | 6f 72 20 74 68 65 20 66 |RefNum f|or the f|
|000012f0| 63 62 0d 09 5e 62 61 73 | 65 20 32 32 20 2b 20 20 |cb..^bas|e 22 + |
|00001300| 77 40 20 20 3b 6d 0d 0d | 0d 3a 6d 20 43 4c 4f 53 |w@ ;m..|.:m CLOS|
|00001310| 45 3a 09 5c 20 28 20 2d | 2d 20 72 63 20 29 20 20 |E:.\ ( -|- rc ) |
|00001320| 20 4e 65 65 64 73 20 74 | 6f 20 63 6c 65 61 72 20 | Needs t|o clear |
|00001330| 74 68 65 20 66 69 6c 65 | 20 52 65 66 4e 75 6d 20 |the file| RefNum |
|00001340| 66 69 65 6c 64 2c 0d 09 | 09 09 5c 20 61 73 20 61 |field,..|..\ as a|
|00001350| 64 76 69 73 65 64 20 69 | 6e 20 4d 61 63 20 54 65 |dvised i|n Mac Te|
|00001360| 63 68 20 6e 6f 74 65 20 | 23 20 31 30 32 2e 20 20 |ch note |# 102. |
|00001370| 49 6e 20 66 61 63 74 20 | 77 65 20 63 6c 65 61 72 |In fact |we clear|
|00001380| 0d 09 09 09 5c 20 74 68 | 65 20 77 68 6f 6c 65 20 |....\ th|e whole |
|00001390| 66 63 62 20 65 78 63 65 | 70 74 20 74 68 65 20 6e |fcb exce|pt the n|
|000013a0| 61 6d 65 20 61 6e 64 20 | 56 72 65 66 2c 20 73 6f |ame and |Vref, so|
|000013b0| 20 77 65 20 63 61 6e 20 | 72 65 75 73 65 0d 09 09 | we can |reuse...|
|000013c0| 09 5c 20 74 68 65 20 66 | 63 62 20 66 6f 72 20 61 |.\ the f|cb for a|
|000013d0| 20 73 75 62 73 65 71 75 | 65 6e 74 20 6f 70 65 72 | subsequ|ent oper|
|000013e0| 61 74 69 6f 6e 20 77 69 | 74 68 6f 75 74 20 74 68 |ation wi|thout th|
|000013f0| 65 20 65 78 74 72 61 20 | 69 6e 66 6f 0d 09 09 09 |e extra |info....|
|00001400| 5c 20 6c 65 66 74 20 62 | 79 20 72 65 61 64 20 61 |\ left b|y read a|
|00001410| 6e 64 20 77 72 69 74 65 | 20 63 61 6c 6c 73 20 62 |nd write| calls b|
|00001420| 65 69 6e 67 20 69 6e 74 | 65 72 70 72 65 74 65 64 |eing int|erpreted|
|00001430| 20 61 73 20 48 46 53 20 | 69 6e 66 6f 2e 0d 09 09 | as HFS |info....|
|00001440| 09 0d 09 5e 62 61 73 65 | 20 20 28 63 6c 6f 73 65 |...^base| (close|
|00001450| 29 20 20 67 65 74 56 72 | 65 66 3a 20 73 65 6c 66 |) getVr|ef: self|
|00001460| 20 20 63 6c 65 61 72 3a | 20 73 65 6c 66 20 20 73 | clear:| self s|
|00001470| 65 74 56 72 65 66 3a 20 | 73 65 6c 66 0d 09 64 75 |etVref: |self..du|
|00001480| 70 20 69 66 20 20 31 20 | 2b 2b 3e 20 63 6c 6f 73 |p if 1 |++> clos|
|00001490| 65 5f 65 72 72 5f 63 6e | 74 20 20 65 6c 73 65 20 |e_err_cn|t else |
|000014a0| 20 2d 31 20 2b 2b 3e 20 | 6f 70 65 6e 5f 63 6e 74 | -1 ++> |open_cnt|
|000014b0| 20 20 74 68 65 6e 20 20 | 3b 6d 0d 0d 0d 3a 6d 20 | then |;m...:m |
|000014c0| 4f 50 45 4e 3a 09 5c 20 | 28 20 2d 2d 20 72 63 20 |OPEN:.\ |( -- rc |
|000014d0| 29 0d 09 5e 62 61 73 65 | 20 30 20 64 6f 5f 6f 70 |)..^base| 0 do_op|
|000014e0| 65 6e 20 20 3b 6d 0d 0d | 3a 6d 20 4f 50 45 4e 52 |en ;m..|:m OPENR|
|000014f0| 45 41 44 4f 4e 4c 59 3a | 0d 09 5e 62 61 73 65 20 |EADONLY:|..^base |
|00001500| 31 20 64 6f 5f 6f 70 65 | 6e 20 20 3b 6d 0d 0d 0d |1 do_ope|n ;m...|
|00001510| 3a 6d 20 4e 45 57 3a 09 | 5e 62 61 73 65 20 20 28 |:m NEW:.|^base (|
|00001520| 6d 61 6b 65 29 20 20 3b | 6d 0d 0d 3a 6d 20 44 45 |make) ;|m..:m DE|
|00001530| 4c 45 54 45 3a 09 5e 62 | 61 73 65 20 28 64 65 6c |LETE:.^b|ase (del|
|00001540| 65 74 65 29 20 20 3b 6d | 0d 0d 3a 6d 20 4d 4f 56 |ete) ;m|..:m MOV|
|00001550| 45 54 4f 3a 09 5c 20 28 | 20 62 79 74 65 6f 66 66 |ETO:.\ (| byteoff|
|00001560| 73 65 74 20 2d 2d 20 72 | 63 20 29 20 20 50 6f 73 |set -- r|c ) Pos|
|00001570| 69 74 69 6f 6e 73 20 72 | 65 6c 61 74 69 76 65 20 |itions r|elative |
|00001580| 74 6f 20 73 74 61 72 74 | 20 6f 66 20 66 69 6c 65 |to start| of file|
|00001590| 0d 09 5e 62 61 73 65 20 | 31 20 72 6f 74 20 20 28 |..^base |1 rot (|
|000015a0| 6c 73 65 65 6b 29 20 20 | 3b 6d 0d 0d 3a 6d 20 50 |lseek) |;m..:m P|
|000015b0| 4f 53 3a 09 09 5c 20 28 | 20 2d 2d 20 62 79 74 65 |OS:..\ (| -- byte|
|000015c0| 6f 66 66 73 65 74 20 29 | 0d 09 5e 62 61 73 65 20 |offset )|..^base |
|000015d0| 20 24 20 32 45 20 2b 20 | 20 40 20 20 3b 6d 0d 0d | $ 2E + | @ ;m..|
|000015e0| 3a 6d 20 53 45 54 45 4f | 46 3a 09 5c 20 28 20 70 |:m SETEO|F:.\ ( p|
|000015f0| 6f 73 20 2d 2d 20 72 63 | 20 29 20 20 53 65 74 73 |os -- rc| ) Sets|
|00001600| 20 65 6e 64 2d 6f 66 2d | 66 69 6c 65 20 74 6f 20 | end-of-|file to |
|00001610| 61 62 73 6f 6c 75 74 65 | 20 62 79 74 65 20 70 6f |absolute| byte po|
|00001620| 73 69 74 69 6f 6e 0d 09 | 5e 62 61 73 65 20 32 38 |sition..|^base 28|
|00001630| 20 2b 20 21 20 20 5e 62 | 61 73 65 20 66 64 6f 73 | + ! ^b|ase fdos|
|00001640| 24 20 61 30 31 32 20 20 | 3b 6d 0d 0d 3a 6d 20 43 |$ a012 |;m..:m C|
|00001650| 52 45 41 54 45 3a 20 20 | 7b 20 5c 20 76 6f 6c 49 |REATE: |{ \ volI|
|00001660| 44 20 2d 2d 20 72 63 20 | 7d 20 0d 09 09 09 5c 20 |D -- rc |} ....\ |
|00001670| 4f 70 65 6e 73 20 61 6e | 64 20 72 65 73 65 74 73 |Opens an|d resets|
|00001680| 20 66 69 6c 65 20 6f 72 | 20 63 72 65 61 74 65 73 | file or| creates|
|00001690| 20 6e 65 77 20 69 66 20 | 6e 6f 74 20 70 72 65 73 | new if |not pres|
|000016a0| 65 6e 74 2e 0d 09 31 20 | 2b 2b 3e 20 6f 70 65 6e |ent...1 |++> open|
|000016b0| 5f 63 6e 74 0d 09 5e 62 | 61 73 65 20 30 20 28 6f |_cnt..^b|ase 0 (o|
|000016c0| 70 65 6e 29 09 09 09 09 | 5c 20 41 74 74 65 6d 70 |pen)....|\ Attemp|
|000016d0| 74 20 74 6f 20 6f 70 65 | 6e 20 2d 20 64 6f 6e 27 |t to ope|n - don'|
|000016e0| 74 20 75 73 65 20 70 61 | 74 68 73 0d 09 3f 64 75 |t use pa|ths..?du|
|000016f0| 70 0d 09 49 46 09 64 75 | 70 20 46 4e 46 20 3d 0d |p..IF.du|p FNF =.|
|00001700| 09 09 49 46 09 64 72 6f | 70 0d 09 09 09 6e 65 77 |..IF.dro|p....new|
|00001710| 3a 20 73 65 6c 66 20 20 | 3f 64 75 70 20 4e 49 46 |: self |?dup NIF|
|00001720| 20 20 5e 62 61 73 65 20 | 30 20 28 6f 70 65 6e 29 | ^base |0 (open)|
|00001730| 20 20 54 48 45 4e 0d 09 | 09 54 48 45 4e 0d 09 45 | THEN..|.THEN..E|
|00001740| 4c 53 45 0d 09 09 30 20 | 73 65 74 45 4f 46 3a 20 |LSE...0 |setEOF: |
|00001750| 73 65 6c 66 0d 09 54 48 | 45 4e 20 20 3b 6d 0d 0d |self..TH|EN ;m..|
|00001760| 3a 6d 20 43 52 45 41 54 | 45 4e 45 57 3a 09 5c 20 |:m CREAT|ENEW:.\ |
|00001770| 28 20 2d 2d 20 72 63 20 | 29 20 20 4c 69 6b 65 20 |( -- rc |) Like |
|00001780| 63 72 65 61 74 65 3a 2c | 20 62 75 74 20 69 66 20 |create:,| but if |
|00001790| 66 69 6c 65 20 65 78 69 | 73 74 73 20 69 74 27 73 |file exi|sts it's|
|000017a0| 20 64 65 6c 65 74 65 64 | 0d 09 09 09 09 5c 20 20 | deleted|.....\ |
|000017b0| 61 6e 64 20 63 72 65 61 | 74 65 64 20 74 6f 74 61 |and crea|ted tota|
|000017c0| 6c 6c 79 20 6e 65 77 2e | 0d 09 64 65 6c 65 74 65 |lly new.|..delete|
|000017d0| 3a 20 73 65 6c 66 20 20 | 64 72 6f 70 0d 09 63 72 |: self |drop..cr|
|000017e0| 65 61 74 65 3a 20 73 65 | 6c 66 20 20 3b 6d 0d 0d |eate: se|lf ;m..|
|000017f0| 3a 6d 20 4c 41 53 54 3a | 09 09 5c 20 50 6f 73 69 |:m LAST:|..\ Posi|
|00001800| 74 69 6f 6e 73 20 74 6f | 20 65 6e 64 20 6f 66 20 |tions to| end of |
|00001810| 66 69 6c 65 2e 0d 09 62 | 69 67 23 20 6d 6f 76 65 |file...b|ig# move|
|00001820| 74 6f 3a 20 73 65 6c 66 | 20 20 64 72 6f 70 20 20 |to: self| drop |
|00001830| 3b 6d 0d 0d 3a 6d 20 53 | 49 5a 45 3a 09 09 5c 20 |;m..:m S|IZE:..\ |
|00001840| 28 20 2d 2d 20 23 62 79 | 74 65 73 20 29 20 20 52 |( -- #by|tes ) R|
|00001850| 65 74 75 72 6e 73 20 6c | 6f 67 69 63 61 6c 20 65 |eturns l|ogical e|
|00001860| 6f 66 20 66 6f 72 20 66 | 69 6c 65 20 63 75 72 72 |of for f|ile curr|
|00001870| 65 6e 74 6c 79 20 6f 70 | 65 6e 0d 09 5e 62 61 73 |ently op|en..^bas|
|00001880| 65 20 66 64 6f 73 24 20 | 61 30 31 31 20 20 64 72 |e fdos$ |a011 dr|
|00001890| 6f 70 20 5e 62 61 73 65 | 20 32 38 20 2b 20 40 20 |op ^base| 28 + @ |
|000018a0| 20 3b 6d 0d 0d 3a 6d 20 | 42 59 54 45 53 52 45 41 | ;m..:m |BYTESREA|
|000018b0| 44 3a 09 5c 20 28 20 2d | 2d 20 6e 20 29 20 20 52 |D:.\ ( -|- n ) R|
|000018c0| 65 74 75 72 6e 73 20 61 | 63 74 75 61 6c 20 62 79 |eturns a|ctual by|
|000018d0| 74 65 73 20 72 65 61 64 | 2e 0d 09 5e 62 61 73 65 |tes read|...^base|
|000018e0| 20 34 30 20 2b 20 40 20 | 20 3b 6d 0d 0d 3a 6d 20 | 40 + @ | ;m..:m |
|000018f0| 46 43 42 3a 20 20 28 20 | 2d 2d 20 66 63 62 20 29 |FCB: ( |-- fcb )|
|00001900| 09 20 5e 62 61 73 65 20 | 20 3b 6d 0d 0d 3a 6d 20 |. ^base | ;m..:m |
|00001910| 52 45 53 55 4c 54 3a 09 | 5c 20 28 20 2d 2d 20 72 |RESULT:.|\ ( -- r|
|00001920| 63 20 29 20 20 52 65 74 | 75 72 6e 73 20 74 68 65 |c ) Ret|urns the|
|00001930| 20 6c 61 73 74 20 49 2f | 4f 20 72 65 73 75 6c 74 | last I/|O result|
|00001940| 20 63 6f 64 65 2e 0d 09 | 5e 62 61 73 65 20 31 36 | code...|^base 16|
|00001950| 20 2b 20 77 40 20 20 3b | 6d 0d 0d 3a 6d 20 4d 4f | + w@ ;|m..:m MO|
|00001960| 44 45 3a 09 09 5c 20 28 | 20 70 6f 73 4d 6f 64 65 |DE:..\ (| posMode|
|00001970| 20 2d 2d 20 29 20 20 53 | 65 74 73 20 70 6f 73 69 | -- ) S|ets posi|
|00001980| 74 69 6f 6e 20 6d 6f 64 | 65 0d 09 5e 62 61 73 65 |tion mod|e..^base|
|00001990| 20 34 34 20 2b 20 77 21 | 20 20 3b 6d 0d 0d 0d 3a | 44 + w!| ;m...:|
|000019a0| 6d 20 57 41 49 54 3a 09 | 5c 20 28 20 2d 2d 20 72 |m WAIT:.|\ ( -- r|
|000019b0| 63 20 29 20 20 57 61 69 | 74 73 20 66 6f 72 20 61 |c ) Wai|ts for a|
|000019c0| 73 79 6e 63 68 20 49 2f | 4f 20 6f 6e 20 74 68 69 |synch I/|O on thi|
|000019d0| 73 20 66 69 6c 65 20 74 | 6f 20 66 69 6e 69 73 68 |s file t|o finish|
|000019e0| 2e 0d 09 42 45 47 49 4e | 09 5e 62 61 73 65 20 62 |...BEGIN|.^base b|
|000019f0| 75 73 79 20 3d 0d 09 09 | 4e 49 46 20 20 20 5e 62 |usy =...|NIF ^b|
|00001a00| 61 73 65 20 31 36 20 2b | 20 77 40 78 20 20 45 58 |ase 16 +| w@x EX|
|00001a10| 49 54 20 20 54 48 45 4e | 0d 09 09 70 61 75 73 65 |IT THEN|...pause|
|00001a20| 0d 09 41 47 41 49 4e 20 | 20 3b 6d 0d 0d 3a 6d 20 |..AGAIN | ;m..:m |
|00001a30| 3f 57 41 49 54 3a 09 5c | 20 28 20 72 63 31 20 2d |?WAIT:.\| ( rc1 -|
|00001a40| 2d 20 72 63 32 20 29 0d | 09 61 73 79 6e 63 68 3f |- rc2 ).|.asynch?|
|00001a50| 0d 09 4e 49 46 09 09 64 | 72 6f 70 20 20 77 61 69 |..NIF..d|rop wai|
|00001a60| 74 3a 20 73 65 6c 66 0d | 09 45 4c 53 45 09 66 61 |t: self.|.ELSE.fa|
|00001a70| 6c 73 65 20 2d 3e 20 61 | 73 79 6e 63 68 3f 0d 09 |lse -> a|synch?..|
|00001a80| 54 48 45 4e 20 20 20 3b | 6d 0d 0d 0d 3a 6d 20 52 |THEN ;|m...:m R|
|00001a90| 45 41 44 3a 09 09 5c 20 | 28 20 61 64 64 72 20 6c |EAD:..\ |( addr l|
|00001aa0| 65 6e 67 74 68 20 2d 2d | 20 72 63 20 29 0d 09 30 |ength --| rc )..0|
|00001ab0| 20 6d 6f 64 65 3a 20 73 | 65 6c 66 20 5e 62 61 73 | mode: s|elf ^bas|
|00001ac0| 65 20 73 77 61 70 20 72 | 6f 74 0d 09 5e 62 61 73 |e swap r|ot..^bas|
|00001ad0| 65 20 28 61 73 79 29 20 | 20 28 72 65 61 64 29 20 |e (asy) | (read) |
|00001ae0| 20 3f 77 61 69 74 3a 20 | 73 65 6c 66 20 20 3b 6d | ?wait: |self ;m|
|00001af0| 0d 0d 3a 6d 20 52 45 41 | 44 4c 49 4e 45 3a 09 5c |..:m REA|DLINE:.\|
|00001b00| 20 28 20 61 64 64 72 20 | 6d 61 78 4c 65 6e 20 2d | ( addr |maxLen -|
|00001b10| 2d 20 72 63 20 29 20 20 | 52 65 61 64 73 20 74 65 |- rc ) |Reads te|
|00001b20| 72 6d 69 6e 61 74 69 6e | 67 20 77 69 74 68 20 43 |rminatin|g with C|
|00001b30| 52 0d 09 24 20 30 44 38 | 30 20 6d 6f 64 65 3a 20 |R..$ 0D8|0 mode: |
|00001b40| 73 65 6c 66 20 20 5e 62 | 61 73 65 20 20 73 77 61 |self ^b|ase swa|
|00001b50| 70 20 72 6f 74 0d 09 5e | 62 61 73 65 20 28 61 73 |p rot..^|base (as|
|00001b60| 79 29 20 20 28 72 65 61 | 64 29 20 20 3f 77 61 69 |y) (rea|d) ?wai|
|00001b70| 74 3a 20 73 65 6c 66 20 | 20 3b 6d 0d 0d 3a 6d 20 |t: self | ;m..:m |
|00001b80| 57 52 49 54 45 3a 09 09 | 5c 20 28 20 61 64 64 72 |WRITE:..|\ ( addr|
|00001b90| 20 6c 65 6e 67 74 68 20 | 2d 2d 20 72 63 20 29 0d | length |-- rc ).|
|00001ba0| 09 5e 62 61 73 65 20 20 | 73 77 61 70 20 72 6f 74 |.^base |swap rot|
|00001bb0| 0d 09 5e 62 61 73 65 20 | 28 61 73 79 29 20 20 28 |..^base |(asy) (|
|00001bc0| 77 72 69 74 65 29 20 20 | 3f 77 61 69 74 3a 20 73 |write) |?wait: s|
|00001bd0| 65 6c 66 20 20 3b 6d 0d | 0d 3a 6d 20 53 45 54 4e |elf ;m.|.:m SETN|
|00001be0| 41 4d 45 3a 09 09 5c 20 | 47 65 74 73 20 6e 61 6d |AME:..\ |Gets nam|
|00001bf0| 65 20 66 72 6f 6d 20 69 | 6e 70 75 74 20 73 74 72 |e from i|nput str|
|00001c00| 65 61 6d 2c 20 61 6e 64 | 20 61 73 73 69 67 6e 73 |eam, and| assigns|
|00001c10| 20 74 6f 20 66 63 62 2e | 0d 09 26 20 22 20 20 70 | to fcb.|..& " p|
|00001c20| 61 72 73 65 2d 77 6f 72 | 64 20 20 6e 61 6d 65 3a |arse-wor|d name:|
|00001c30| 20 73 65 6c 66 20 20 3b | 6d 0d 0d 3a 6d 20 47 45 | self ;|m..:m GE|
|00001c40| 54 4e 41 4d 45 3a 09 09 | 5c 20 28 20 2d 2d 20 61 |TNAME:..|\ ( -- a|
|00001c50| 64 64 72 20 6c 65 6e 20 | 29 20 20 52 65 74 75 72 |ddr len |) Retur|
|00001c60| 6e 73 20 66 69 6c 65 6e | 61 6d 65 0d 09 61 64 64 |ns filen|ame..add|
|00001c70| 72 3a 20 66 69 6c 65 4e | 61 6d 65 20 20 63 6f 75 |r: fileN|ame cou|
|00001c80| 6e 74 20 20 3b 6d 0d 0d | 3a 6d 20 50 52 49 4e 54 |nt ;m..|:m PRINT|
|00001c90| 3a 09 09 5c 20 50 72 69 | 6e 74 73 20 74 68 65 20 |:..\ Pri|nts the |
|00001ca0| 66 69 6c 65 6e 61 6d 65 | 2e 0d 09 67 65 74 4e 61 |filename|...getNa|
|00001cb0| 6d 65 3a 20 73 65 6c 66 | 20 20 74 79 70 65 20 20 |me: self| type |
|00001cc0| 3b 6d 0d 0d 3a 6d 20 47 | 45 54 46 49 4c 45 49 4e |;m..:m G|ETFILEIN|
|00001cd0| 46 4f 3a 09 09 5c 20 28 | 20 2d 2d 20 72 63 20 29 |FO:..\ (| -- rc )|
|00001ce0| 20 20 46 69 6c 6c 73 20 | 74 68 65 20 70 61 72 61 | Fills |the para|
|00001cf0| 6d 65 74 65 72 20 62 6c | 6f 63 6b 20 77 69 74 68 |meter bl|ock with|
|00001d00| 20 66 69 6c 65 20 69 6e | 66 6f 0d 09 5e 62 61 73 | file in|fo..^bas|
|00001d10| 65 20 66 64 6f 73 24 20 | 41 32 30 43 20 20 3b 6d |e fdos$ |A20C ;m|
|00001d20| 0d 0d 3a 6d 20 53 45 54 | 46 49 4c 45 49 4e 46 4f |..:m SET|FILEINFO|
|00001d30| 3a 09 09 5c 20 28 20 2d | 2d 20 72 63 20 29 0d 09 |:..\ ( -|- rc )..|
|00001d40| 5e 62 61 73 65 20 66 64 | 6f 73 24 20 41 32 30 44 |^base fd|os$ A20D|
|00001d50| 20 20 3b 6d 0d 0d 3a 6d | 20 53 45 54 3a 20 20 7b | ;m..:m| SET: {|
|00001d60| 20 66 74 79 70 20 73 69 | 67 20 2d 2d 20 7d 09 09 | ftyp si|g -- }..|
|00001d70| 09 5c 20 53 65 74 73 20 | 66 69 6c 65 20 74 79 70 |.\ Sets |file typ|
|00001d80| 65 2c 20 73 69 67 6e 61 | 74 75 72 65 2e 0d 09 67 |e, signa|ture...g|
|00001d90| 65 74 44 69 72 49 44 3a | 20 73 65 6c 66 09 09 09 |etDirID:| self...|
|00001da0| 09 09 5c 20 53 61 76 65 | 20 44 69 72 49 44 0d 09 |..\ Save| DirID..|
|00001db0| 30 20 73 65 74 44 69 72 | 49 44 3a 20 73 65 6c 66 |0 setDir|ID: self|
|00001dc0| 09 09 09 09 5c 20 61 6e | 64 20 63 6c 65 61 72 20 |....\ an|d clear |
|00001dd0| 69 74 20 28 6f 74 68 65 | 72 77 69 73 65 20 77 65 |it (othe|rwise we|
|00001de0| 27 6c 6c 20 67 65 74 0d | 09 67 65 74 46 69 6c 65 |'ll get.|.getFile|
|00001df0| 49 6e 66 6f 3a 20 73 65 | 6c 66 20 20 64 72 6f 70 |Info: se|lf drop|
|00001e00| 09 09 09 5c 20 20 22 66 | 69 6c 65 20 6e 6f 74 20 |...\ "f|ile not |
|00001e10| 66 6f 75 6e 64 22 29 0d | 09 73 69 67 20 20 5e 62 |found").|.sig ^b|
|00001e20| 61 73 65 20 20 24 20 32 | 34 20 2b 20 20 21 09 09 |ase $ 2|4 + !..|
|00001e30| 09 5c 20 53 65 74 20 73 | 69 67 6e 61 74 75 72 65 |.\ Set s|ignature|
|00001e40| 0d 09 66 74 79 70 20 5e | 62 61 73 65 20 20 24 20 |..ftyp ^|base $ |
|00001e50| 32 30 20 2b 20 20 21 09 | 09 09 5c 20 53 65 74 20 |20 + !.|..\ Set |
|00001e60| 74 79 70 65 0d 09 30 20 | 73 65 74 44 69 72 49 44 |type..0 |setDirID|
|00001e70| 3a 20 73 65 6c 66 0d 09 | 73 65 74 46 69 6c 65 49 |: self..|setFileI|
|00001e80| 6e 66 6f 3a 20 73 65 6c | 66 20 20 64 72 6f 70 0d |nfo: sel|f drop.|
|00001e90| 09 73 65 74 44 69 72 49 | 44 3a 20 73 65 6c 66 20 |.setDirI|D: self |
|00001ea0| 20 3b 6d 09 09 09 09 5c | 20 52 65 73 74 6f 72 65 | ;m....\| Restore|
|00001eb0| 20 44 69 72 49 44 0d 0d | 0d 3a 6d 20 44 52 49 56 | DirID..|.:m DRIV|
|00001ec0| 45 3a 09 5c 20 28 20 64 | 72 69 76 65 23 20 2d 2d |E:.\ ( d|rive# --|
|00001ed0| 20 29 20 20 73 65 74 20 | 64 65 66 61 75 6c 74 20 | ) set |default |
|00001ee0| 64 72 69 76 65 20 74 6f | 20 64 72 69 76 65 23 0d |drive to| drive#.|
|00001ef0| 09 63 6c 65 61 72 3a 20 | 73 65 6c 66 20 20 73 65 |.clear: |self se|
|00001f00| 74 56 52 65 66 3a 20 73 | 65 6c 66 20 20 5e 62 61 |tVRef: s|elf ^ba|
|00001f10| 73 65 20 66 64 6f 73 24 | 20 61 30 31 35 0d 09 3f |se fdos$| a015..?|
|00001f20| 65 72 72 6f 72 20 31 36 | 35 20 20 3b 6d 0d 0d 0d |error 16|5 ;m...|
|00001f30| 3a 6d 20 41 43 43 45 50 | 54 3a 20 20 7b 20 61 64 |:m ACCEP|T: { ad|
|00001f40| 64 72 20 6c 65 6e 20 5c | 20 23 63 68 72 73 20 65 |dr len \| #chrs e|
|00001f50| 6f 66 3f 20 2d 2d 20 23 | 63 68 72 73 20 65 6f 66 |of? -- #|chrs eof|
|00001f60| 3f 20 7d 20 09 5c 20 41 | 43 43 45 50 54 73 20 66 |? } .\ A|CCEPTs f|
|00001f70| 72 6f 6d 20 64 69 73 6b | 2e 0d 09 65 63 68 6f 3f |rom disk|...echo?|
|00001f80| 20 49 46 20 20 61 64 64 | 72 20 6c 65 6e 20 65 72 | IF add|r len er|
|00001f90| 61 73 65 20 20 54 48 45 | 4e 09 09 5c 20 53 6f 20 |ase THE|N..\ So |
|00001fa0| 74 68 65 20 74 79 70 65 | 64 20 6c 69 6e 65 20 69 |the type|d line i|
|00001fb0| 73 20 4f 4b 0d 09 61 64 | 64 72 20 6c 65 6e 20 20 |s OK..ad|dr len |
|00001fc0| 72 65 61 64 4c 69 6e 65 | 3a 20 73 65 6c 66 20 20 |readLine|: self |
|00001fd0| 2d 3e 20 65 6f 66 3f 0d | 09 62 79 74 65 73 52 65 |-> eof?.|.bytesRe|
|00001fe0| 61 64 3a 20 73 65 6c 66 | 20 20 65 6f 66 3f 20 4e |ad: self| eof? N|
|00001ff0| 49 46 20 20 31 2d 20 20 | 54 48 45 4e 20 20 2d 3e |IF 1- |THEN ->|
|00002000| 20 23 63 68 72 73 0d 09 | 23 63 68 72 73 20 30 3d | #chrs..|#chrs 0=|
|00002010| 20 20 65 6f 66 3f 20 61 | 6e 64 20 20 49 46 20 20 | eof? a|nd IF |
|00002020| 30 20 20 74 72 75 65 20 | 20 45 58 49 54 20 20 54 |0 true | EXIT T|
|00002030| 48 45 4e 0d 09 61 64 64 | 72 20 23 63 68 72 73 20 |HEN..add|r #chrs |
|00002040| 2b 20 20 63 40 20 20 31 | 33 20 3c 3e 0d 09 49 46 |+ c@ 1|3 <>..IF|
|00002050| 09 09 09 09 09 09 09 09 | 5c 20 4f 76 65 72 6c 65 |........|\ Overle|
|00002060| 6e 67 74 68 20 6c 69 6e | 65 2e 20 50 72 6f 62 61 |ngth lin|e. Proba|
|00002070| 62 6c 79 20 61 20 63 6f | 6d 6d 65 6e 74 2e 0d 09 |bly a co|mment...|
|00002080| 09 42 45 47 49 4e 09 09 | 09 09 09 09 5c 20 47 6f |.BEGIN..|....\ Go|
|00002090| 62 62 6c 65 20 74 6f 20 | 43 52 20 6f 72 20 45 4f |bble to |CR or EO|
|000020a0| 46 0d 09 09 09 70 61 64 | 20 31 30 30 20 20 72 65 |F....pad| 100 re|
|000020b0| 61 64 4c 69 6e 65 3a 20 | 73 65 6c 66 20 20 2d 3e |adLine: |self ->|
|000020c0| 20 65 6f 66 3f 0d 09 09 | 09 65 6f 66 3f 0d 09 09 | eof?...|.eof?...|
|000020d0| 09 49 46 09 09 74 72 75 | 65 0d 09 09 09 45 4c 53 |.IF..tru|e....ELS|
|000020e0| 45 09 70 61 64 20 20 62 | 79 74 65 73 52 65 61 64 |E.pad b|ytesRead|
|000020f0| 3a 20 73 65 6c 66 20 20 | 31 2d 20 20 2b 20 20 63 |: self |1- + c|
|00002100| 40 20 31 33 20 3d 0d 09 | 09 09 54 48 45 4e 0d 09 |@ 13 =..|..THEN..|
|00002110| 09 55 4e 54 49 4c 0d 09 | 54 48 45 4e 0d 09 23 63 |.UNTIL..|THEN..#c|
|00002120| 68 72 73 20 2d 3e 20 6c | 65 6e 0d 09 65 63 68 6f |hrs -> l|en..echo|
|00002130| 3f 0d 09 49 46 09 61 64 | 64 72 20 6c 65 6e 20 74 |?..IF.ad|dr len t|
|00002140| 79 70 65 20 20 63 72 20 | 20 54 48 45 4e 0d 09 42 |ype cr | THEN..B|
|00002150| 45 47 49 4e 09 09 09 09 | 09 09 09 5c 20 4c 6f 6f |EGIN....|...\ Loo|
|00002160| 70 20 74 6f 20 63 6f 6e | 76 65 72 74 20 74 61 62 |p to con|vert tab|
|00002170| 73 20 74 6f 20 62 6c 61 | 6e 6b 73 0d 09 09 61 64 |s to bla|nks...ad|
|00002180| 64 72 20 6c 65 6e 20 20 | 39 20 73 63 61 6e 20 20 |dr len |9 scan |
|00002190| 2d 3e 20 6c 65 6e 20 20 | 2d 3e 20 61 64 64 72 0d |-> len |-> addr.|
|000021a0| 09 09 6c 65 6e 0d 09 57 | 48 49 4c 45 0d 09 09 62 |..len..W|HILE...b|
|000021b0| 6c 20 61 64 64 72 20 63 | 21 0d 09 52 45 50 45 41 |l addr c|!..REPEA|
|000021c0| 54 0d 09 23 63 68 72 73 | 20 20 66 61 6c 73 65 20 |T..#chrs| false |
|000021d0| 20 20 3b 6d 0d 0d 0d 3a | 6d 20 52 45 4e 41 4d 45 | ;m...:|m RENAME|
|000021e0| 3a 20 7b 20 74 61 64 64 | 72 20 74 6c 65 6e 20 2d |: { tadd|r tlen -|
|000021f0| 2d 20 72 63 20 7d 20 0d | 09 74 61 64 64 72 20 74 |- rc } .|.taddr t|
|00002200| 6c 65 6e 20 73 74 72 32 | 35 35 0d 09 5e 62 61 73 |len str2|55..^bas|
|00002210| 65 20 32 38 20 2b 20 21 | 20 20 5e 62 61 73 65 20 |e 28 + !| ^base |
|00002220| 66 64 6f 73 24 20 41 30 | 30 42 20 20 3b 6d 0d 0d |fdos$ A0|0B ;m..|
|00002230| 0d 3a 6d 20 47 45 54 54 | 59 50 45 3a 09 09 5c 20 |.:m GETT|YPE:..\ |
|00002240| 28 20 2d 2d 20 74 79 70 | 65 20 29 0d 09 5e 62 61 |( -- typ|e )..^ba|
|00002250| 73 65 20 33 32 20 2b 20 | 40 20 20 3b 6d 0d 0d 3a |se 32 + |@ ;m..:|
|00002260| 6d 20 46 4c 55 53 48 56 | 4f 4c 3a 0d 09 5e 62 61 |m FLUSHV|OL:..^ba|
|00002270| 73 65 20 66 64 6f 73 24 | 20 41 30 31 33 20 20 64 |se fdos$| A013 d|
|00002280| 72 6f 70 20 20 3b 6d 0d | 0d 0d 3a 6d 20 43 4c 41 |rop ;m.|..:m CLA|
|00002290| 53 53 49 4e 49 54 3a 09 | 09 63 6c 65 61 72 3a 20 |SSINIT:.|.clear: |
|000022a0| 73 65 6c 66 20 20 73 65 | 74 4e 61 6d 65 50 74 72 |self se|tNamePtr|
|000022b0| 3a 20 73 65 6c 66 20 20 | 3b 6d 0d 0d 0d 5c 20 53 |: self |;m...\ S|
|000022c0| 74 61 6e 64 61 72 64 20 | 66 69 6c 65 20 70 61 63 |tandard |file pac|
|000022d0| 6b 61 67 65 20 63 61 6c | 6c 73 2e 20 20 49 66 20 |kage cal|ls. If |
|000022e0| 74 68 65 20 76 61 6c 75 | 65 20 53 46 44 6c 67 48 |the valu|e SFDlgH|
|000022f0| 6f 6f 6b 20 69 73 20 6e | 6f 6e 2d 7a 65 72 6f 2c |ook is n|on-zero,|
|00002300| 20 77 65 20 74 61 6b 65 | 20 69 74 20 61 73 20 74 | we take| it as t|
|00002310| 68 65 0d 5c 20 61 64 64 | 72 65 73 73 20 6f 66 20 |he.\ add|ress of |
|00002320| 61 20 64 69 61 6c 6f 67 | 20 68 6f 6f 6b 20 72 6f |a dialog| hook ro|
|00002330| 75 74 69 6e 65 2e 0d 0d | 70 72 69 76 61 74 65 0d |utine...|private.|
|00002340| 0d 3a 6d 20 53 46 50 43 | 41 4c 4c 3a 09 09 5c 20 |.:m SFPC|ALL:..\ |
|00002350| 28 20 76 61 72 69 6f 75 | 73 20 67 65 74 3f 20 2d |( variou|s get? -|
|00002360| 2d 20 62 20 29 20 20 43 | 61 6c 6c 73 20 61 20 53 |- b ) C|alls a S|
|00002370| 74 61 6e 64 61 72 64 20 | 46 69 6c 65 20 50 61 63 |tandard |File Pac|
|00002380| 6b 61 67 65 20 72 6f 75 | 74 69 6e 65 0d 09 63 6c |kage rou|tine..cl|
|00002390| 61 73 73 69 6e 69 74 3a | 20 73 65 6c 66 09 09 09 |assinit:| self...|
|000023a0| 09 09 09 5c 20 4d 61 6b | 65 20 73 75 72 65 20 6e |...\ Mak|e sure n|
|000023b0| 61 6d 65 20 70 6f 69 6e | 74 65 72 20 69 73 20 72 |ame poin|ter is r|
|000023c0| 69 67 68 74 0d 09 5b 27 | 5d 20 53 46 72 65 63 20 |ight..['|] SFrec |
|000023d0| 20 6e 65 77 4f 62 6a 3a | 20 53 46 68 64 6c 0d 09 | newObj:| SFhdl..|
|000023e0| 6f 62 6a 3a 20 53 46 68 | 64 6c 20 20 2d 3e 20 53 |obj: SFh|dl -> S|
|000023f0| 46 6f 62 6a 0d 09 49 46 | 09 73 74 64 47 65 74 3a |Fobj..IF|.stdGet:|
|00002400| 20 53 46 6f 62 6a 20 20 | 45 4c 53 45 20 20 73 74 | SFobj |ELSE st|
|00002410| 64 50 75 74 3a 20 53 46 | 6f 62 6a 20 20 54 48 45 |dPut: SF|obj THE|
|00002420| 4e 0d 09 49 46 09 67 65 | 74 56 52 65 66 4e 75 6d |N..IF.ge|tVRefNum|
|00002430| 3a 20 53 46 6f 62 6a 20 | 20 63 6c 65 61 72 3a 20 |: SFobj | clear: |
|00002440| 73 65 6c 66 20 20 73 65 | 74 56 72 65 66 3a 20 73 |self se|tVref: s|
|00002450| 65 6c 66 0d 09 09 67 65 | 74 4e 61 6d 65 3a 20 53 |elf...ge|tName: S|
|00002460| 46 6f 62 6a 20 20 63 6f | 75 6e 74 20 20 61 64 64 |Fobj co|unt add|
|00002470| 72 3a 20 66 69 6c 65 4e | 61 6d 65 20 20 70 6c 61 |r: fileN|ame pla|
|00002480| 63 65 0d 09 09 74 72 75 | 65 0d 09 45 4c 53 45 0d |ce...tru|e..ELSE.|
|00002490| 09 09 66 61 6c 73 65 0d | 09 54 48 45 4e 0d 09 72 |..false.|.THEN..r|
|000024a0| 65 6c 65 61 73 65 3a 20 | 53 46 68 64 6c 20 20 3b |elease: |SFhdl ;|
|000024b0| 6d 0d 0d 70 75 62 6c 69 | 63 0d 0d 3a 6d 20 53 54 |m..publi|c..:m ST|
|000024c0| 44 47 45 54 3a 09 5c 20 | 28 20 74 79 70 65 30 20 |DGET:.\ |( type0 |
|000024d0| 2e 2e 2e 74 79 70 65 4e | 20 23 74 79 70 65 73 20 |...typeN| #types |
|000024e0| 2d 2d 20 62 6f 6f 6c 20 | 29 0d 09 74 72 75 65 20 |-- bool |)..true |
|000024f0| 73 66 70 43 61 6c 6c 3a | 20 73 65 6c 66 20 20 3b |sfpCall:| self ;|
|00002500| 6d 0d 0d 3a 6d 20 53 54 | 44 50 55 54 3a 09 5c 20 |m..:m ST|DPUT:.\ |
|00002510| 28 20 70 41 64 64 72 20 | 70 4c 65 6e 20 6e 41 64 |( pAddr |pLen nAd|
|00002520| 64 72 20 6e 4c 65 6e 20 | 2d 2d 20 62 6f 6f 6c 20 |dr nLen |-- bool |
|00002530| 29 0d 09 66 61 6c 73 65 | 20 73 66 70 43 61 6c 6c |)..false| sfpCall|
|00002540| 3a 20 73 65 6c 66 20 20 | 3b 6d 0d 0d 3b 63 6c 61 |: self |;m..;cla|
|00002550| 73 73 20 0d 0d 0d 27 20 | 66 46 63 62 20 20 73 65 |ss ...' |fFcb se|
|00002560| 74 5f 74 6f 5f 63 6c 61 | 73 73 20 20 66 69 6c 65 |t_to_cla|ss file|
|00002570| 09 09 09 5c 20 4d 61 6b | 65 20 66 46 63 62 20 61 |...\ Mak|e fFcb a|
|00002580| 20 46 49 4c 45 20 6f 62 | 6a 50 74 72 0d 36 09 66 | FILE ob|jPtr.6.f|
|00002590| 46 63 62 20 38 20 2d 09 | 77 21 0d 27 20 66 69 6c |Fcb 8 -.|w!.' fil|
|000025a0| 65 09 66 46 63 62 20 36 | 20 2d 09 72 65 6c 6f 63 |e.fFcb 6| -.reloc|
|000025b0| 21 0d 2d 36 09 66 46 63 | 62 20 32 20 2d 09 77 21 |!.-6.fFc|b 2 -.w!|
|000025c0| 0d 0d 0d 5c 20 47 65 74 | 44 69 72 49 44 20 72 65 |...\ Get|DirID re|
|000025d0| 74 75 72 6e 73 20 74 68 | 65 20 64 69 72 49 44 20 |turns th|e dirID |
|000025e0| 6f 66 20 74 68 65 20 6c | 61 73 74 20 64 69 72 65 |of the l|ast dire|
|000025f0| 63 74 6f 72 79 20 6f 70 | 65 6e 65 64 20 62 79 20 |ctory op|ened by |
|00002600| 61 0d 5c 20 73 74 61 6e | 64 61 72 64 20 66 69 6c |a.\ stan|dard fil|
|00002610| 65 20 63 61 6c 6c 2e 0d | 0d 3a 20 47 45 54 44 49 |e call..|.: GETDI|
|00002620| 52 49 44 09 24 20 33 39 | 38 20 40 20 20 3b 0d 0d |RID.$ 39|8 @ ;..|
|00002630| 0d 5c 20 46 69 6c 65 4c | 69 73 74 20 6b 65 65 70 |.\ FileL|ist keep|
|00002640| 73 20 61 20 73 74 61 63 | 6b 20 6f 66 20 6f 70 65 |s a stac|k of ope|
|00002650| 6e 20 6c 6f 61 64 20 66 | 69 6c 65 73 20 66 6f 72 |n load f|iles for|
|00002660| 20 6e 65 73 74 65 64 20 | 6c 6f 61 64 73 2e 0d 0d | nested |loads...|
|00002670| 6f 62 6a 50 74 72 09 54 | 4f 50 46 49 4c 45 20 20 |objPtr.T|OPFILE |
|00002680| 63 6c 61 73 73 5f 69 73 | 20 20 66 69 6c 65 0d 0d |class_is| file..|
|00002690| 0d 3a 63 6c 61 73 73 20 | 20 46 49 4c 45 4c 49 53 |.:class | FILELIS|
|000026a0| 54 20 20 73 75 70 65 72 | 7b 20 68 61 6e 64 6c 65 |T super|{ handle|
|000026b0| 4c 69 73 74 20 7d 0d 0d | 3a 6d 20 44 52 4f 50 3a |List }..|:m DROP:|
|000026c0| 0d 09 74 6f 70 3a 20 73 | 75 70 65 72 09 09 09 09 |..top: s|uper....|
|000026d0| 09 09 5c 20 47 69 76 65 | 73 20 65 72 72 6f 72 20 |..\ Give|s error |
|000026e0| 69 66 20 65 6d 70 74 79 | 0d 09 63 6c 6f 73 65 3a |if empty|..close:|
|000026f0| 20 74 6f 70 46 69 6c 65 | 20 20 64 72 6f 70 0d 09 | topFile| drop..|
|00002700| 64 72 6f 70 3a 20 73 75 | 70 65 72 0d 09 73 69 7a |drop: su|per..siz|
|00002710| 65 3a 20 73 75 70 65 72 | 20 20 4e 49 46 20 20 6e |e: super| NIF n|
|00002720| 69 6c 50 20 20 45 4c 53 | 45 20 20 6f 62 6a 3a 20 |ilP ELS|E obj: |
|00002730| 73 65 6c 66 20 20 54 48 | 45 4e 0d 09 2d 3e 20 74 |self TH|EN..-> t|
|00002740| 6f 70 46 69 6c 65 0d 09 | 66 61 6c 73 65 20 2d 3e |opFile..|false ->|
|00002750| 20 65 6e 64 6c 6f 61 64 | 3f 20 20 20 3b 6d 0d 0d | endload|? ;m..|
|00002760| 3a 6d 20 50 55 53 48 4e | 45 57 3a 09 09 5c 20 41 |:m PUSHN|EW:..\ A|
|00002770| 64 64 73 20 61 20 6e 65 | 77 20 66 69 6c 65 20 74 |dds a ne|w file t|
|00002780| 6f 20 74 68 65 20 73 74 | 61 63 6b 0d 09 5b 27 5d |o the st|ack..[']|
|00002790| 20 66 69 6c 65 20 20 70 | 75 73 68 4e 65 77 4f 62 | file p|ushNewOb|
|000027a0| 6a 3a 20 73 65 6c 66 0d | 09 66 61 6c 73 65 20 2d |j: self.|.false -|
|000027b0| 3e 20 65 6e 64 6c 6f 61 | 64 3f 0d 09 6f 62 6a 3a |> endloa|d?..obj:|
|000027c0| 20 73 65 6c 66 20 20 2d | 3e 20 74 6f 70 46 69 6c | self -|> topFil|
|000027d0| 65 09 09 09 5c 20 4e 6f | 74 65 20 74 68 69 73 20 |e...\ No|te this |
|000027e0| 6c 6f 63 6b 73 20 74 68 | 65 20 66 69 6c 65 20 6f |locks th|e file o|
|000027f0| 62 6a 65 63 74 0d 09 09 | 09 09 09 09 09 09 09 5c |bject...|.......\|
|00002800| 20 2d 2d 20 74 68 69 73 | 20 69 73 20 77 68 61 74 | -- this| is what|
|00002810| 20 77 65 20 77 61 6e 74 | 2e 0d 09 30 20 73 65 74 | we want|...0 set|
|00002820| 56 72 65 66 3a 20 74 6f | 70 46 69 6c 65 20 20 20 |Vref: to|pFile |
|00002830| 3b 6d 0d 0d 3a 6d 20 43 | 4c 45 41 52 3a 09 5c 20 |;m..:m C|LEAR:.\ |
|00002840| 52 65 6d 6f 76 65 73 20 | 61 6c 6c 20 63 75 72 72 |Removes |all curr|
|00002850| 65 6e 74 6c 79 20 6f 70 | 65 6e 20 66 69 6c 65 73 |ently op|en files|
|00002860| 0d 09 66 61 6c 73 65 20 | 2d 3e 20 65 6e 64 6c 6f |..false |-> endlo|
|00002870| 61 64 3f 0d 09 73 69 7a | 65 3a 20 73 75 70 65 72 |ad?..siz|e: super|
|00002880| 20 20 30 45 58 49 54 0d | 09 74 79 70 65 23 20 31 | 0EXIT.|.type# 1|
|00002890| 38 30 20 20 28 20 46 69 | 6c 65 20 73 74 61 63 6b |80 ( Fi|le stack|
|000028a0| 3a 20 29 20 20 63 72 20 | 20 74 6f 70 3a 20 73 65 |: ) cr | top: se|
|000028b0| 6c 66 0d 09 73 69 7a 65 | 3a 20 73 75 70 65 72 0d |lf..size|: super.|
|000028c0| 09 46 4f 52 0d 09 09 70 | 72 69 6e 74 3a 20 74 6f |.FOR...p|rint: to|
|000028d0| 70 46 69 6c 65 20 20 63 | 72 20 20 64 72 6f 70 3a |pFile c|r drop:|
|000028e0| 20 73 65 6c 66 0d 09 4e | 45 58 54 20 20 3b 6d 0d | self..N|EXT ;m.|
|000028f0| 0d 3b 63 6c 61 73 73 20 | 0d 0d 0d 5c 20 31 30 09 |.;class |...\ 10.|
|00002900| 66 69 6c 65 4c 69 73 74 | 09 4c 4f 41 44 46 49 4c |fileList|.LOADFIL|
|00002910| 45 0d 09 66 69 6c 65 4c | 69 73 74 09 4c 4f 41 44 |E..fileL|ist.LOAD|
|00002920| 46 49 4c 45 0d 0d 30 09 | 76 61 6c 75 65 09 09 46 |FILE..0.|value..F|
|00002930| 49 4c 45 53 54 41 52 54 | 5f 44 50 0d 30 09 76 61 |ILESTART|_DP.0.va|
|00002940| 6c 75 65 09 09 43 4e 54 | 0d 30 09 76 61 6c 75 65 |lue..CNT|.0.value|
|00002950| 09 09 53 76 4c 41 54 45 | 53 54 0d 0d 0d 3a 20 4c |..SvLATE|ST...: L|
|00002960| 4f 47 49 54 0d 09 73 74 | 61 74 65 20 20 30 45 58 |OGIT..st|ate 0EX|
|00002970| 49 54 09 09 09 09 09 5c | 20 4f 75 74 20 69 66 20 |IT.....\| Out if |
|00002980| 77 65 27 72 65 20 6e 6f | 74 20 63 6f 6d 70 69 6c |we're no|t compil|
|00002990| 69 6e 67 0d 09 68 65 72 | 65 20 66 69 6c 65 73 74 |ing..her|e filest|
|000029a0| 61 72 74 5f 44 50 20 2d | 20 20 70 61 64 20 77 21 |art_DP -| pad w!|
|000029b0| 0d 09 70 6f 73 3a 20 74 | 6f 70 46 69 6c 65 20 20 |..pos: t|opFile |
|000029c0| 73 72 63 2d 6c 65 6e 20 | 2d 0d 09 70 61 64 20 32 |src-len |-..pad 2|
|000029d0| 2b 20 20 21 0d 09 70 61 | 64 20 36 20 20 61 64 64 |+ !..pa|d 6 add|
|000029e0| 3a 20 24 6c 67 31 20 20 | 3b 0d 0d 0d 30 09 76 61 |: $lg1 |;...0.va|
|000029f0| 6c 75 65 09 4c 41 53 54 | 50 4f 53 0d 0d 3a 20 4c |lue.LAST|POS..: L|
|00002a00| 4f 47 43 52 0d 09 73 74 | 61 74 65 20 20 30 45 58 |OGCR..st|ate 0EX|
|00002a10| 49 54 0d 09 68 65 72 65 | 20 6c 61 73 74 50 6f 73 |IT..here| lastPos|
|00002a20| 20 3c 3d 20 20 3f 45 58 | 49 54 0d 09 68 65 72 65 | <= ?EX|IT..here|
|00002a30| 20 2d 3e 20 6c 61 73 74 | 50 6f 73 0d 09 70 61 64 | -> last|Pos..pad|
|00002a40| 20 31 34 20 65 72 61 73 | 65 0d 09 68 65 72 65 20 | 14 eras|e..here |
|00002a50| 66 69 6c 65 73 74 61 72 | 74 5f 44 50 20 2d 20 20 |filestar|t_DP - |
|00002a60| 70 61 64 20 77 21 0d 09 | 6c 61 74 65 73 74 20 73 |pad w!..|latest s|
|00002a70| 76 4c 61 74 65 73 74 20 | 3c 3e 20 49 46 20 20 74 |vLatest |<> IF t|
|00002a80| 72 75 65 20 70 61 64 20 | 34 2b 20 63 21 20 20 6c |rue pad |4+ c! l|
|00002a90| 61 74 65 73 74 20 2d 3e | 20 73 76 4c 61 74 65 73 |atest ->| svLates|
|00002aa0| 74 20 20 54 48 45 4e 0d | 09 70 61 64 20 31 34 20 |t THEN.|.pad 14 |
|00002ab0| 20 61 64 64 3a 20 24 6c | 67 32 20 20 3b 0d 0d 0d | add: $l|g2 ;...|
|00002ac0| 3a 20 28 46 52 45 46 49 | 4c 4c 29 09 09 5c 20 28 |: (FREFI|LL)..\ (|
|00002ad0| 20 2d 2d 20 66 6c 61 67 | 20 29 20 20 44 6f 65 73 | -- flag| ) Does|
|00002ae0| 20 61 20 72 65 66 69 6c | 6c 20 66 72 6f 6d 20 61 | a refil|l from a|
|00002af0| 20 66 69 6c 65 2e 0d 09 | 65 6d 62 5f 6f 62 6a 5f | file...|emb_obj_|
|00002b00| 6f 66 66 73 0d 09 65 63 | 68 6f 3f 0d 09 49 46 09 |offs..ec|ho?..IF.|
|00002b10| 09 3f 70 61 75 73 65 0d | 09 45 4c 53 45 09 63 6e |.?pause.|.ELSE.cn|
|00002b20| 74 20 4e 49 46 20 20 3f | 70 61 75 73 65 20 20 32 |t NIF ?|pause 2|
|00002b30| 30 20 2d 3e 20 63 6e 74 | 20 20 65 6c 73 65 20 20 |0 -> cnt| else |
|00002b40| 31 20 2d 2d 3e 20 63 6e | 74 20 20 54 48 45 4e 0d |1 --> cn|t THEN.|
|00002b50| 09 54 48 45 4e 0d 09 6c | 6f 67 3f 20 49 46 20 20 |.THEN..l|og? IF |
|00002b60| 6c 6f 67 43 52 20 20 54 | 48 45 4e 0d 09 74 69 62 |logCR T|HEN..tib|
|00002b70| 20 74 69 62 4c 65 6e 20 | 20 61 63 63 65 70 74 3a | tibLen | accept:|
|00002b80| 20 74 6f 70 66 69 6c 65 | 20 20 28 20 23 63 68 72 | topfile| ( #chr|
|00002b90| 73 20 65 6f 66 3f 20 29 | 20 2d 3e 20 65 6e 64 6c |s eof? )| -> endl|
|00002ba0| 6f 61 64 3f 20 20 23 74 | 69 62 20 21 0d 09 73 65 |oad? #t|ib !..se|
|00002bb0| 74 5f 73 6f 75 72 63 65 | 0d 09 2d 3e 20 65 6d 62 |t_source|..-> emb|
|00002bc0| 5f 6f 62 6a 5f 6f 66 66 | 73 0d 09 65 6e 64 6c 6f |_obj_off|s..endlo|
|00002bd0| 61 64 3f 20 30 3d 20 20 | 3b 0d 0d 27 20 28 46 72 |ad? 0= |;..' (Fr|
|00002be0| 65 66 69 6c 6c 29 20 2d | 3e 20 46 72 65 66 69 6c |efill) -|> Frefil|
|00002bf0| 6c 0d 0d 0d 3a 20 28 4c | 44 29 0d 09 42 45 47 49 |l...: (L|D)..BEGI|
|00002c00| 4e 0d 09 09 65 6e 64 6c | 6f 61 64 3f 20 49 46 20 |N...endl|oad? IF |
|00002c10| 20 66 61 6c 73 65 20 2d | 3e 20 65 6e 64 6c 6f 61 | false -|> endloa|
|00002c20| 64 3f 20 20 45 58 49 54 | 20 20 54 48 45 4e 0d 09 |d? EXIT| THEN..|
|00002c30| 09 74 6f 70 66 69 6c 65 | 20 2d 3e 20 73 6f 75 72 |.topfile| -> sour|
|00002c40| 63 65 2d 49 44 20 20 28 | 46 72 65 66 69 6c 6c 29 |ce-ID (|Frefill)|
|00002c50| 20 20 49 46 20 20 69 6e | 74 65 72 70 72 65 74 20 | IF in|terpret |
|00002c60| 20 54 48 45 4e 0d 09 09 | 73 74 61 74 65 20 6e 6f | THEN...|state no|
|00002c70| 74 20 20 65 63 68 6f 3f | 20 61 6e 64 20 20 66 57 |t echo?| and fW|
|00002c80| 69 6e 64 3f 20 61 6e 64 | 20 20 49 46 20 20 6f 6b |ind? and| IF ok|
|00002c90| 20 20 54 48 45 4e 0d 09 | 41 47 41 49 4e 20 20 3b | THEN..|AGAIN ;|
|00002ca0| 0d 0d 0d 66 61 6c 73 65 | 09 76 61 6c 75 65 09 44 |...false|.value.D|
|00002cb0| 4f 5f 43 52 3f 0d 0d 3a | 20 3f 66 69 6c 65 5f 6f |O_CR?..:| ?file_o|
|00002cc0| 70 65 6e 5f 65 72 72 6f | 72 20 20 7b 20 4f 53 45 |pen_erro|r { OSE|
|00002cd0| 72 72 20 2d 2d 20 7d 0d | 09 4f 53 45 72 72 20 20 |rr -- }.|.OSErr |
|00002ce0| 30 45 58 49 54 09 09 09 | 09 09 09 5c 20 6f 75 74 |0EXIT...|...\ out|
|00002cf0| 20 69 66 20 6e 6f 20 65 | 72 72 6f 72 0d 09 67 65 | if no e|rror..ge|
|00002d00| 74 4e 61 6d 65 3a 20 74 | 6f 70 66 69 6c 65 20 20 |tName: t|opfile |
|00002d10| 74 79 70 65 0d 09 4f 53 | 45 72 72 20 46 4e 46 20 |type..OS|Err FNF |
|00002d20| 3d 20 49 46 20 20 31 33 | 32 20 64 69 65 20 20 54 |= IF 13|2 die T|
|00002d30| 48 45 4e 09 09 5c 20 66 | 69 6c 65 20 6e 6f 74 20 |HEN..\ f|ile not |
|00002d40| 66 6f 75 6e 64 0d 09 4f | 53 45 72 72 20 63 72 20 |found..O|SErr cr |
|00002d50| 2e 20 20 31 35 35 20 64 | 69 65 09 09 09 09 09 5c |. 155 d|ie.....\|
|00002d60| 20 6f 74 68 65 72 20 65 | 72 72 6f 72 20 6f 70 65 | other e|rror ope|
|00002d70| 6e 69 6e 67 20 66 69 6c | 65 0d 3b 0d 0d 0d 66 6f |ning fil|e.;...fo|
|00002d80| 72 77 61 72 64 20 50 50 | 43 5f 6d 61 72 6b 5f 66 |rward PP|C_mark_f|
|00002d90| 69 6c 65 0d 0d 3a 20 6d | 61 72 6b 5f 66 69 6c 65 |ile..: m|ark_file|
|00002da0| 20 20 28 20 61 64 64 72 | 20 6c 65 6e 20 2d 2d 20 | ( addr| len -- |
|00002db0| 29 0d 09 63 72 6f 73 73 | 65 64 3f 0d 09 49 46 09 |)..cross|ed?..IF.|
|00002dc0| 09 50 50 43 5f 6d 61 72 | 6b 5f 66 69 6c 65 0d 09 |.PPC_mar|k_file..|
|00002dd0| 45 4c 53 45 09 6d 61 72 | 6b 5f 66 69 6c 65 0d 09 |ELSE.mar|k_file..|
|00002de0| 54 48 45 4e 0d 3b 0d 0d | 09 0d 3a 20 4c 4f 41 44 |THEN.;..|..: LOAD|
|00002df0| 54 4f 50 20 20 7b 20 20 | 5c 20 73 76 43 75 72 73 |TOP { |\ svCurs|
|00002e00| 20 73 76 44 50 20 73 76 | 43 44 50 20 73 76 44 65 | svDP sv|CDP svDe|
|00002e10| 70 74 68 20 2d 2d 20 7d | 20 0d 09 09 09 09 09 09 |pth -- }| .......|
|00002e20| 09 5c 20 49 6e 74 65 72 | 70 72 65 74 73 20 74 68 |.\ Inter|prets th|
|00002e30| 65 20 66 69 6c 65 20 61 | 73 20 61 20 4d 6f 70 73 |e file a|s a Mops|
|00002e40| 20 73 6f 75 72 63 65 20 | 66 69 6c 65 2e 0d 09 6f | source |file...o|
|00002e50| 70 65 6e 52 65 61 64 4f | 6e 6c 79 3a 20 74 6f 70 |penReadO|nly: top|
|00002e60| 66 69 6c 65 20 20 3f 66 | 69 6c 65 5f 6f 70 65 6e |file ?f|ile_open|
|00002e70| 5f 65 72 72 6f 72 0d 09 | 63 75 72 73 20 2d 3e 20 |_error..|curs -> |
|00002e80| 73 76 43 75 72 73 20 20 | 2d 63 75 72 73 0d 09 63 |svCurs |-curs..c|
|00002e90| 72 0d 09 73 69 7a 65 3a | 20 6c 6f 61 64 46 69 6c |r..size:| loadFil|
|00002ea0| 65 20 32 2a 20 20 73 70 | 61 63 65 73 20 20 74 79 |e 2* sp|aces ty|
|00002eb0| 70 65 23 20 31 37 33 20 | 28 20 4c 6f 61 64 69 6e |pe# 173 |( Loadin|
|00002ec0| 67 3a 20 29 20 0d 09 67 | 65 74 4e 61 6d 65 3a 20 |g: ) ..g|etName: |
|00002ed0| 74 6f 70 66 69 6c 65 20 | 20 74 79 70 65 0d 09 6c |topfile | type..l|
|00002ee0| 6f 67 3f 20 49 46 0d 09 | 09 63 72 65 61 74 65 5f |og? IF..|.create_|
|00002ef0| 6c 6f 67 20 20 5b 27 5d | 20 6c 6f 67 69 74 20 20 |log [']| logit |
|00002f00| 2d 3e 20 6c 6f 67 56 65 | 63 0d 09 09 30 20 2d 3e |-> logVe|c...0 ->|
|00002f10| 20 73 76 4c 61 74 65 73 | 74 0d 09 54 48 45 4e 0d | svLates|t..THEN.|
|00002f20| 09 44 50 20 2d 3e 20 73 | 76 44 50 20 20 43 44 50 |.DP -> s|vDP CDP|
|00002f30| 20 2d 3e 20 73 76 43 44 | 50 20 20 64 65 70 74 68 | -> svCD|P depth|
|00002f40| 20 2d 3e 20 73 76 44 65 | 70 74 68 0d 09 66 61 6c | -> svDe|pth..fal|
|00002f50| 73 65 20 2d 3e 20 65 6e | 64 6c 6f 61 64 3f 20 20 |se -> en|dload? |
|00002f60| 66 61 6c 73 65 20 2d 3e | 20 64 6f 5f 63 72 3f 0d |false ->| do_cr?.|
|00002f70| 09 28 6c 64 29 0d 09 5b | 27 5d 20 6e 75 6c 6c 20 |.(ld)..[|'] null |
|00002f80| 20 2d 3e 20 6c 6f 67 76 | 65 63 0d 09 63 6c 6f 73 | -> logv|ec..clos|
|00002f90| 65 3a 20 74 6f 70 66 69 | 6c 65 20 20 64 72 6f 70 |e: topfi|le drop|
|00002fa0| 20 20 6c 6f 67 3f 20 49 | 46 20 77 72 69 74 65 5f | log? I|F write_|
|00002fb0| 6c 6f 67 20 20 54 48 45 | 4e 0d 09 64 6f 5f 63 72 |log THE|N..do_cr|
|00002fc0| 3f 0d 09 49 46 20 20 63 | 72 20 20 73 69 7a 65 3a |?..IF c|r size:|
|00002fd0| 20 6c 6f 61 64 46 69 6c | 65 20 32 2a 20 20 45 4c | loadFil|e 2* EL|
|00002fe0| 53 45 20 20 32 20 20 54 | 48 45 4e 20 20 73 70 61 |SE 2 T|HEN spa|
|00002ff0| 63 65 73 20 20 74 72 75 | 65 20 2d 3e 20 64 6f 5f |ces tru|e -> do_|
|00003000| 63 72 3f 0d 09 63 72 6f | 73 73 65 64 3f 0d 09 49 |cr?..cro|ssed?..I|
|00003010| 46 0d 09 09 2e 22 20 43 | 6f 64 65 3a 20 22 0d 09 |F...." C|ode: "..|
|00003020| 09 43 44 50 20 0d 09 09 | 73 76 43 44 50 20 49 46 |.CDP ...|svCDP IF|
|00003030| 20 20 73 76 43 44 50 20 | 20 45 4c 53 45 20 20 63 | svCDP | ELSE c|
|00003040| 6f 64 65 5f 73 74 61 72 | 74 20 20 54 48 45 4e 20 |ode_star|t THEN |
|00003050| 20 2d 20 20 2e 0d 09 09 | 44 50 20 20 73 76 44 50 | - ....|DP svDP|
|00003060| 20 20 2d 20 20 2e 22 20 | 20 20 64 61 74 61 3a 20 | - ." | data: |
|00003070| 22 20 20 2e 0d 09 45 4c | 53 45 0d 09 09 44 50 20 |" ...EL|SE...DP |
|00003080| 20 73 76 44 50 20 20 2d | 20 20 2e 22 20 53 69 7a | svDP -| ." Siz|
|00003090| 65 3a 20 22 20 20 2e 0d | 09 54 48 45 4e 0d 09 73 |e: " ..|.THEN..s|
|000030a0| 69 7a 65 3a 20 6c 6f 61 | 64 46 69 6c 65 20 31 20 |ize: loa|dFile 1 |
|000030b0| 3c 3d 20 49 46 20 20 63 | 72 20 20 54 48 45 4e 0d |<= IF c|r THEN.|
|000030c0| 09 64 65 70 74 68 20 73 | 76 44 65 70 74 68 20 3c |.depth s|vDepth <|
|000030d0| 3e 20 49 46 20 20 63 72 | 20 6d 73 67 23 20 37 35 |> IF cr| msg# 75|
|000030e0| 20 20 54 48 45 4e 0d 09 | 09 09 09 09 5c 20 57 61 | THEN..|....\ Wa|
|000030f0| 72 6e 69 6e 67 20 2d 20 | 73 74 61 63 6b 20 64 65 |rning - |stack de|
|00003100| 70 74 68 20 64 69 66 66 | 65 72 65 6e 74 20 61 66 |pth diff|erent af|
|00003110| 74 65 72 20 6c 6f 61 64 | 0d 09 73 76 43 75 72 73 |ter load|..svCurs|
|00003120| 20 2d 3e 20 63 75 72 73 | 20 20 3b 0d 0d 0d 3a 20 | -> curs| ;...: |
|00003130| 45 4e 44 4c 4f 41 44 09 | 09 74 72 75 65 20 2d 3e |ENDLOAD.|.true ->|
|00003140| 20 65 6e 64 6c 6f 61 64 | 3f 20 20 30 20 2d 3e 20 | endload|? 0 -> |
|00003150| 73 72 63 2d 6c 65 6e 20 | 20 3b 0d 0d 0d 5c 20 4e |src-len | ;...\ N|
|00003160| 65 73 74 69 6e 67 20 6c | 6f 61 64 65 72 2e 20 20 |esting l|oader. |
|00003170| 55 73 61 67 65 3a 20 2f | 2f 20 66 69 6c 65 6e 61 |Usage: /|/ filena|
|00003180| 6d 65 0d 0d 3a 20 2f 2f | 20 20 7b 20 20 5c 20 73 |me..: //| { \ s|
|00003190| 76 63 75 72 73 20 61 64 | 64 72 20 6c 65 6e 20 2d |vcurs ad|dr len -|
|000031a0| 2d 20 7d 20 0d 09 70 75 | 73 68 4e 65 77 3a 20 6c |- } ..pu|shNew: l|
|000031b0| 6f 61 64 46 69 6c 65 20 | 20 73 65 74 4e 61 6d 65 |oadFile | setName|
|000031c0| 3a 20 74 6f 70 46 69 6c | 65 0d 09 67 65 74 4e 61 |: topFil|e..getNa|
|000031d0| 6d 65 3a 20 74 6f 70 46 | 69 6c 65 20 20 6d 61 72 |me: topF|ile mar|
|000031e0| 6b 5f 66 69 6c 65 0d 09 | 6c 6f 61 64 54 6f 70 0d |k_file..|loadTop.|
|000031f0| 09 64 72 6f 70 3a 20 6c | 6f 61 64 46 69 6c 65 20 |.drop: l|oadFile |
|00003200| 20 3b 0d 0d 0d 5c 09 09 | 3d 3d 3d 3d 3d 3d 3d 3d | ;...\..|========|
|00003210| 3d 3d 3d 3d 3d 20 4d 6f | 64 75 6c 65 20 73 75 70 |===== Mo|dule sup|
|00003220| 70 6f 72 74 20 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |port ===|========|
|00003230| 3d 0d 0d 3a 20 4e 4f 4d | 4f 44 09 09 2d 31 20 2d |=..: NOM|OD..-1 -|
|00003240| 3e 20 6d 6f 64 62 61 73 | 65 20 20 2d 31 20 2d 3e |> modbas|e -1 ->|
|00003250| 20 4d 42 63 6f 6d 70 20 | 20 30 20 2d 3e 20 43 6f | MBcomp | 0 -> Co|
|00003260| 6d 70 4d 6f 64 20 20 3b | 0d 0d 0d 3a 20 4c 44 46 |mpMod ;|...: LDF|
|00003270| 52 4f 4d 4d 4f 44 20 7b | 20 20 6e 65 77 4d 6f 64 |ROMMOD {| newMod|
|00003280| 62 61 73 65 20 5c 20 73 | 76 4d 6f 64 62 61 73 65 |base \ s|vModbase|
|00003290| 20 73 76 4d 42 63 6f 6d | 70 20 2d 2d 20 7d 20 0d | svMBcom|p -- } .|
|000032a0| 09 09 5c 20 4c 6f 61 64 | 20 66 72 6f 6d 20 61 20 |..\ Load| from a |
|000032b0| 6d 6f 64 75 6c 65 2e 20 | 20 57 65 20 73 61 76 65 |module. | We save|
|000032c0| 20 61 6e 64 20 72 65 73 | 74 6f 72 65 20 74 68 65 | and res|tore the|
|000032d0| 20 63 75 72 72 65 6e 74 | 0d 09 09 5c 20 6d 6f 64 | current|...\ mod|
|000032e0| 62 61 73 65 20 61 6e 64 | 20 4d 42 63 6f 6d 70 20 |base and| MBcomp |
|000032f0| 76 61 6c 75 65 2c 20 69 | 6e 20 63 61 73 65 20 74 |value, i|n case t|
|00003300| 68 65 20 6c 6f 61 64 20 | 63 68 61 6e 67 65 73 20 |he load |changes |
|00003310| 74 68 65 6d 2e 0d 0d 09 | 6d 6f 64 62 61 73 65 20 |them....|modbase |
|00003320| 2d 3e 20 73 76 4d 6f 64 | 62 61 73 65 20 20 4d 42 |-> svMod|base MB|
|00003330| 63 6f 6d 70 20 2d 3e 20 | 73 76 4d 42 63 6f 6d 70 |comp -> |svMBcomp|
|00003340| 0d 09 6e 65 77 4d 6f 64 | 62 61 73 65 20 20 64 75 |..newMod|base du|
|00003350| 70 20 20 2d 3e 20 6d 6f | 64 62 61 73 65 20 20 2d |p -> mo|dbase -|
|00003360| 3e 20 4d 42 63 6f 6d 70 | 0d 09 6c 6f 61 64 74 6f |> MBcomp|..loadto|
|00003370| 70 0d 09 73 76 4d 6f 64 | 62 61 73 65 20 2d 3e 20 |p..svMod|base -> |
|00003380| 6d 6f 64 62 61 73 65 20 | 20 73 76 4d 42 63 6f 6d |modbase | svMBcom|
|00003390| 70 20 2d 3e 20 4d 42 63 | 6f 6d 70 20 20 3b 0d 0d |p -> MBc|omp ;..|
|000033a0| 0d 5c 09 09 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.\..====|========|
|000033b0| 3d 3d 3d 3d 3d 20 53 61 | 76 65 20 3d 3d 3d 3d 3d |===== Sa|ve =====|
|000033c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0d 27 74 |========|====..'t|
|000033d0| 79 70 65 20 43 4f 4d 09 | 63 6f 6e 73 74 61 6e 74 |ype COM.|constant|
|000033e0| 09 53 41 56 45 54 59 50 | 45 09 5c 20 66 69 6c 65 |.SAVETYP|E.\ file|
|000033f0| 20 74 79 70 65 20 3d 20 | 27 43 4f 4d 20 27 0d 27 | type = |'COM '.'|
|00003400| 74 79 70 65 20 4d 6f 70 | 73 09 63 6f 6e 73 74 61 |type Mop|s.consta|
|00003410| 6e 74 09 53 41 56 45 53 | 49 47 09 09 5c 20 53 69 |nt.SAVES|IG..\ Si|
|00003420| 67 6e 61 74 75 72 65 20 | 3d 20 27 4d 6f 70 73 27 |gnature |= 'Mops'|
|00003430| 0d 0d 3a 20 53 41 56 45 | 5f 54 48 49 53 09 5c 20 |..: SAVE|_THIS.\ |
|00003440| 28 20 2d 2d 20 61 64 64 | 72 20 6c 65 6e 20 29 20 |( -- add|r len ) |
|00003450| 20 44 65 66 69 6e 65 73 | 20 77 68 61 74 20 74 6f | Defines| what to|
|00003460| 20 73 61 76 65 0d 09 5b | 27 5d 20 6c 61 74 65 73 | save..[|'] lates|
|00003470| 74 0d 09 63 72 6f 73 73 | 65 64 3f 20 49 46 20 43 |t..cross|ed? IF C|
|00003480| 44 50 20 45 4c 53 45 20 | 44 50 20 54 48 45 4e 09 |DP ELSE |DP THEN.|
|00003490| 5c 20 65 6e 64 20 6f 66 | 20 64 69 63 20 74 6f 20 |\ end of| dic to |
|000034a0| 73 61 76 65 0d 09 6f 76 | 65 72 20 2d 20 20 3b 0d |save..ov|er - ;.|
|000034b0| 0d 0d 5c 20 50 55 52 47 | 45 20 67 65 74 73 20 72 |..\ PURG|E gets r|
|000034c0| 69 64 20 6f 66 20 61 6c | 6c 20 6c 6f 61 64 65 64 |id of al|l loaded|
|000034d0| 20 6d 6f 64 75 6c 65 73 | 2e 20 20 49 74 20 69 73 | modules|. It is|
|000034e0| 20 64 65 66 69 6e 65 64 | 20 69 6e 20 74 68 65 20 | defined| in the |
|000034f0| 66 69 6c 65 20 4d 6f 64 | 75 6c 65 73 2e 0d 5c 20 |file Mod|ules..\ |
|00003500| 53 41 56 45 20 6e 65 65 | 64 73 20 74 6f 20 63 61 |SAVE nee|ds to ca|
|00003510| 6c 6c 20 69 74 20 66 69 | 72 73 74 2c 20 73 6f 20 |ll it fi|rst, so |
|00003520| 74 68 61 74 20 73 61 76 | 65 64 20 64 69 63 20 69 |that sav|ed dic i|
|00003530| 6d 61 67 65 73 20 64 6f | 6e 27 74 20 61 70 70 65 |mages do|n't appe|
|00003540| 61 72 20 74 6f 0d 5c 20 | 72 65 66 65 72 65 6e 63 |ar to.\ |referenc|
|00003550| 65 20 6c 6f 61 64 65 64 | 20 6d 6f 64 75 6c 65 73 |e loaded| modules|
|00003560| 20 77 68 69 63 68 20 61 | 72 65 6e 27 74 20 72 65 | which a|ren't re|
|00003570| 61 6c 6c 79 20 6c 6f 61 | 64 65 64 2e 20 20 53 6f |ally loa|ded. So|
|00003580| 20 74 68 61 74 20 77 65 | 20 63 61 6e 20 63 61 6c | that we| can cal|
|00003590| 6c 0d 5c 20 53 41 56 45 | 20 62 65 66 6f 72 65 20 |l.\ SAVE| before |
|000035a0| 4d 6f 64 75 6c 65 73 20 | 69 73 20 6c 6f 61 64 65 |Modules |is loade|
|000035b0| 64 2c 20 77 65 20 6d 61 | 6b 65 20 50 55 52 47 45 |d, we ma|ke PURGE|
|000035c0| 20 61 20 76 65 63 74 6f | 72 20 72 61 74 68 65 72 | a vecto|r rather|
|000035d0| 20 74 68 61 6e 20 61 0d | 5c 20 66 6f 72 77 61 72 | than a.|\ forwar|
|000035e0| 64 20 64 65 66 69 6e 69 | 74 69 6f 6e 2e 0d 0d 27 |d defini|tion...'|
|000035f0| 20 6e 75 6c 6c 09 76 65 | 63 74 09 50 55 52 47 45 | null.ve|ct.PURGE|
|00003600| 0d 0d 0d 3a 20 28 53 41 | 56 45 29 20 20 7b 20 20 |...: (SA|VE) { |
|00003610| 5c 20 73 61 76 64 70 20 | 73 61 76 6c 61 74 65 73 |\ savdp |savlates|
|00003620| 74 20 2d 2d 20 72 63 20 | 7d 20 0d 09 63 72 65 61 |t -- rc |} ..crea|
|00003630| 74 65 3a 20 66 66 63 62 | 20 20 3f 65 72 72 6f 72 |te: ffcb| ?error|
|00003640| 20 31 30 37 0d 09 64 70 | 20 2d 3e 20 73 61 76 64 | 107..dp| -> savd|
|00003650| 70 20 20 6c 61 74 65 73 | 74 20 2d 3e 20 73 61 76 |p lates|t -> sav|
|00003660| 6c 61 74 65 73 74 0d 09 | 73 61 76 65 5f 74 68 69 |latest..|save_thi|
|00003670| 73 09 09 09 09 09 09 5c | 20 43 61 6c 6c 20 62 65 |s......\| Call be|
|00003680| 66 6f 72 65 20 77 65 20 | 63 6c 6f 62 62 65 72 20 |fore we |clobber |
|00003690| 44 50 0d 09 64 70 09 5b | 27 5d 20 64 70 20 2d 20 |DP..dp.[|'] dp - |
|000036a0| 20 2d 3e 20 64 70 09 09 | 09 09 5c 20 48 65 72 65 | -> dp..|..\ Here|
|000036b0| 20 77 65 20 6d 61 6b 65 | 20 44 50 20 61 6e 64 20 | we make| DP and |
|000036c0| 4c 41 54 45 53 54 20 72 | 65 6c 61 74 69 76 65 0d |LATEST r|elative.|
|000036d0| 09 6c 61 74 65 73 74 09 | 5b 27 5d 20 64 70 20 2d |.latest.|['] dp -|
|000036e0| 20 20 2d 3e 20 6c 61 74 | 65 73 74 09 09 5c 20 20 | -> lat|est..\ |
|000036f0| 74 6f 20 44 50 20 73 6f | 20 77 65 20 63 61 6e 20 |to DP so| we can |
|00003700| 73 65 74 20 74 68 65 6d | 20 75 70 20 77 68 65 6e |set them| up when|
|00003710| 0d 09 09 09 09 09 09 09 | 09 09 5c 20 20 73 61 76 |........|..\ sav|
|00003720| 65 64 20 69 6d 61 67 65 | 20 69 73 20 72 65 61 64 |ed image| is read|
|00003730| 20 69 6e 0d 09 70 75 72 | 67 65 09 09 09 09 09 09 | in..pur|ge......|
|00003740| 09 5c 20 50 75 72 67 65 | 20 6d 6f 64 75 6c 65 73 |.\ Purge| modules|
|00003750| 20 73 6f 20 73 61 76 65 | 64 20 69 6d 61 67 65 20 | so save|d image |
|00003760| 68 61 73 20 74 68 65 6d | 20 61 6c 6c 0d 09 09 09 |has them| all....|
|00003770| 09 09 09 09 09 09 5c 20 | 20 75 6e 6c 6f 61 64 65 |......\ | unloade|
|00003780| 64 0d 09 30 20 2d 3e 20 | 62 75 66 50 74 72 09 09 |d..0 -> |bufPtr..|
|00003790| 09 09 09 09 5c 20 4d 75 | 73 74 20 62 65 20 7a 65 |....\ Mu|st be ze|
|000037a0| 72 6f 20 69 6e 20 73 61 | 76 65 64 20 64 69 63 73 |ro in sa|ved dics|
|000037b0| 0d 09 74 72 75 65 20 2d | 3e 20 73 61 76 69 6e 67 |..true -|> saving|
|000037c0| 44 69 63 3f 09 09 09 09 | 5c 20 53 74 6f 70 73 20 |Dic?....|\ Stops |
|000037d0| 50 41 55 53 45 20 66 72 | 6f 6d 20 64 6f 69 6e 67 |PAUSE fr|om doing|
|000037e0| 20 61 6e 79 74 68 69 6e | 67 20 64 75 72 69 6e 67 | anythin|g during|
|000037f0| 0d 09 09 09 09 09 09 09 | 09 09 5c 20 20 61 73 79 |........|..\ asy|
|00003800| 6e 63 68 20 49 2f 4f 20 | 28 63 6f 75 6c 64 20 74 |nch I/O |(could t|
|00003810| 72 79 20 74 6f 20 63 61 | 6c 6c 20 61 20 6d 6f 64 |ry to ca|ll a mod|
|00003820| 75 6c 65 2c 0d 09 09 09 | 09 09 09 09 09 09 5c 20 |ule,....|......\ |
|00003830| 20 62 75 74 20 74 68 65 | 79 27 72 65 20 70 75 72 | but the|y're pur|
|00003840| 67 65 64 29 0d 09 77 72 | 69 74 65 3a 20 66 66 63 |ged)..wr|ite: ffc|
|00003850| 62 09 09 09 09 09 09 5c | 20 4c 65 61 76 65 20 72 |b......\| Leave r|
|00003860| 65 74 75 72 6e 20 63 6f | 64 65 20 6f 6e 20 73 74 |eturn co|de on st|
|00003870| 61 63 6b 20 66 6f 72 20 | 63 61 6c 6c 65 72 0d 09 |ack for |caller..|
|00003880| 66 61 6c 73 65 20 2d 3e | 20 73 61 76 69 6e 67 44 |false ->| savingD|
|00003890| 69 63 3f 0d 09 73 61 76 | 64 70 20 2d 3e 20 64 70 |ic?..sav|dp -> dp|
|000038a0| 20 20 73 61 76 6c 61 74 | 65 73 74 20 2d 3e 20 6c | savlat|est -> l|
|000038b0| 61 74 65 73 74 09 5c 20 | 61 6e 64 20 44 50 20 61 |atest.\ |and DP a|
|000038c0| 6e 64 20 4c 41 54 45 53 | 54 0d 09 73 61 76 65 74 |nd LATES|T..savet|
|000038d0| 79 70 65 20 73 61 76 65 | 73 69 67 20 73 65 74 3a |ype save|sig set:|
|000038e0| 20 66 66 63 62 0d 09 63 | 6c 6f 73 65 3a 20 66 66 | ffcb..c|lose: ff|
|000038f0| 63 62 20 64 72 6f 70 0d | 5c 09 74 79 70 65 23 20 |cb drop.|\.type# |
|00003900| 31 30 31 20 28 20 53 61 | 76 65 64 3a 20 29 20 20 |101 ( Sa|ved: ) |
|00003910| 67 65 74 6e 61 6d 65 3a | 20 66 66 63 62 20 20 74 |getname:| ffcb t|
|00003920| 79 70 65 20 20 63 72 20 | 20 3b 0d 3b 0d 0d 3a 20 |ype cr | ;.;..: |
|00003930| 53 41 56 45 09 09 5c 20 | 54 61 6b 65 73 20 6e 61 |SAVE..\ |Takes na|
|00003940| 6d 65 20 66 72 6f 6d 20 | 69 6e 70 75 74 20 73 74 |me from |input st|
|00003950| 72 65 61 6d 2e 20 20 52 | 65 64 65 66 69 6e 65 64 |ream. R|edefined|
|00003960| 20 6c 61 74 65 72 20 69 | 6e 20 46 72 6f 6e 74 65 | later i|n Fronte|
|00003970| 6e 64 2e 0d 09 73 65 74 | 6e 61 6d 65 3a 20 66 66 |nd...set|name: ff|
|00003980| 63 62 20 20 28 73 61 76 | 65 29 20 20 3f 65 72 72 |cb (sav|e) ?err|
|00003990| 6f 72 20 31 30 35 20 20 | 3b 0d 0d 0d 5c 20 43 4c |or 105 |;...\ CL|
|000039a0| 32 20 69 73 20 74 68 65 | 20 6e 65 78 74 20 63 6c |2 is the| next cl|
|000039b0| 65 61 6e 75 70 20 77 6f | 72 64 20 2d 20 69 74 20 |eanup wo|rd - it |
|000039c0| 63 6c 65 61 6e 73 20 75 | 70 20 61 6c 6c 20 66 69 |cleans u|p all fi|
|000039d0| 6c 65 20 73 74 75 66 66 | 20 6f 6e 20 61 62 6f 72 |le stuff| on abor|
|000039e0| 74 2c 0d 5c 20 61 73 20 | 77 65 6c 6c 20 61 73 20 |t,.\ as |well as |
|000039f0| 77 68 61 74 65 76 65 72 | 20 77 65 20 77 65 72 65 |whatever| we were|
|00003a00| 20 64 6f 69 6e 67 20 62 | 65 66 6f 72 65 20 28 73 | doing b|efore (s|
|00003a10| 65 65 20 43 4c 31 20 69 | 6e 20 66 69 6c 65 20 43 |ee CL1 i|n file C|
|00003a20| 6c 61 73 73 29 2e 0d 0d | 3a 20 43 4c 32 0d 09 63 |lass)...|: CL2..c|
|00003a30| 6c 65 61 72 3a 20 6c 6f | 61 64 66 69 6c 65 20 20 |lear: lo|adfile |
|00003a40| 63 6c 6f 73 65 3a 20 66 | 66 63 62 20 64 72 6f 70 |close: f|fcb drop|
|00003a50| 0d 09 6e 6f 6d 6f 64 20 | 20 72 65 6c 65 61 73 65 |..nomod | release|
|00003a60| 3a 20 24 6c 67 31 20 20 | 72 65 6c 65 61 73 65 3a |: $lg1 |release:|
|00003a70| 20 24 6c 67 32 0d 09 5b | 27 5d 20 6e 75 6c 6c 20 | $lg2..[|'] null |
|00003a80| 20 2d 3e 20 6c 6f 67 76 | 65 63 20 20 66 61 6c 73 | -> logv|ec fals|
|00003a90| 65 20 2d 3e 20 65 6e 64 | 6c 6f 61 64 3f 0d 09 66 |e -> end|load?..f|
|00003aa0| 61 6c 73 65 20 2d 3e 20 | 73 61 76 69 6e 67 44 69 |alse -> |savingDi|
|00003ab0| 63 3f 0d 09 63 6c 31 20 | 20 3b 0d 0d 0d 3a 20 46 |c?..cl1 | ;...: F|
|00003ac0| 49 4c 49 4e 49 54 0d 09 | 5b 27 5d 20 66 69 6c 65 |ILINIT..|['] file|
|00003ad0| 20 20 64 75 70 20 20 5b | 27 5d 20 66 46 63 62 20 | dup [|'] fFcb |
|00003ae0| 20 34 2b 20 20 72 65 6c | 6f 63 21 0d 09 66 46 63 | 4+ rel|oc!..fFc|
|00003af0| 62 20 31 38 20 2b 20 40 | 09 09 09 09 09 5c 20 4e |b 18 + @|.....\ N|
|00003b00| 61 6d 65 20 70 6f 69 6e | 74 65 72 20 2d 20 64 6f |ame poin|ter - do|
|00003b10| 63 20 6e 61 6d 65 20 6d | 61 79 20 6e 6f 74 20 62 |c name m|ay not b|
|00003b20| 65 20 69 6e 20 66 46 63 | 62 0d 09 63 6f 75 6e 74 |e in fFc|b..count|
|00003b30| 20 20 33 32 20 6d 69 6e | 20 20 6d 79 44 6f 63 4e | 32 min| myDocN|
|00003b40| 61 6d 65 20 70 6c 61 63 | 65 0d 09 66 46 63 62 20 |ame plac|e..fFcb |
|00003b50| 20 6d 61 6b 65 5f 6f 62 | 6a 0d 09 63 6c 65 61 72 | make_ob|j..clear|
|00003b60| 3a 20 6c 6f 61 64 66 69 | 6c 65 20 20 3b 0d 0d 0d |: loadfi|le ;...|
|00003b70| 27 20 66 69 6c 69 6e 69 | 74 09 2d 3e 20 6f 62 6a |' filini|t.-> obj|
|00003b80| 69 6e 69 74 0d 27 20 63 | 6c 32 09 09 2d 3e 20 61 |init.' c|l2..-> a|
|00003b90| 62 6f 72 74 76 65 63 0d | 0d 0d 3a 20 2d 45 43 48 |bortvec.|..: -ECH|
|00003ba0| 4f 09 09 66 61 6c 73 65 | 20 2d 3e 20 65 63 68 6f |O..false| -> echo|
|00003bb0| 3f 20 20 3b 0d 3a 20 2b | 45 43 48 4f 09 09 74 72 |? ;.: +|ECHO..tr|
|00003bc0| 75 65 20 20 2d 3e 20 65 | 63 68 6f 3f 20 20 3b 0d |ue -> e|cho? ;.|
|00003bd0| 0d 63 72 0d 2e 28 20 73 | 61 76 69 6e 67 20 69 6e |.cr..( s|aving in|
|00003be0| 74 65 72 69 6d 2e 64 69 | 63 2e 20 20 4e 6f 77 20 |terim.di|c. Now |
|00003bf0| 74 79 70 65 29 20 20 63 | 72 0d 2e 28 20 2f 2f 20 |type) c|r..( // |
|00003c00| 73 79 73 2e 6c 64 29 20 | 20 63 72 0d 2e 28 20 74 |sys.ld) | cr..( t|
|00003c10| 6f 20 6c 6f 61 64 20 74 | 68 65 20 72 65 73 74 20 |o load t|he rest |
|00003c20| 6f 66 20 74 68 65 20 73 | 79 73 74 65 6d 2e 29 20 |of the s|ystem.) |
|00003c30| 20 63 72 0d 0d 73 61 76 | 65 20 69 6e 74 65 72 69 | cr..sav|e interi|
|00003c40| 6d 2e 64 69 63 0d 00 00 | 00 00 00 00 00 00 00 00 |m.dic...|........|
|00003c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003c80| 00 00 01 00 00 00 01 42 | 00 00 00 42 00 00 00 3b |.......B|...B...;|
|00003c90| 00 00 00 7a 5d 32 00 00 | 80 46 07 00 00 00 00 00 |...z]2..|.F......|
|00003ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cb0| 05 46 69 6c 65 73 02 00 | 00 00 50 61 72 74 53 49 |.Files..|..PartSI|
|00003cc0| 54 21 00 00 00 00 00 00 | 00 00 00 01 82 72 00 00 |T!......|.....r..|
|00003cd0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00003ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cf0| 00 00 b3 66 c2 7d 00 00 | 00 00 00 00 01 7d 00 00 |...f.}..|.....}..|
|00003d00| 00 7f 62 3c 00 00 80 46 | 07 00 00 00 00 00 00 00 |..b<...F|........|
|00003d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d60| 00 00 a8 f9 a7 47 00 00 | 21 6a 05 00 00 00 00 81 |.....G..|!j......|
|00003d70| 62 4d 00 00 80 46 07 00 | 00 00 00 00 00 00 00 00 |bM...F..|........|
|00003d80| 00 00 00 3e 00 00 00 00 | 00 00 26 11 00 00 00 00 |...>....|..&.....|
|00003d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 10 ae |........|........|
|00003db0| 00 00 10 ae 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003dc0| 00 00 00 00 01 00 00 00 | 01 42 00 00 00 42 00 00 |........|.B...B..|
|00003dd0| 00 3b 01 64 fd 08 24 5c | 00 00 00 1c 00 32 00 00 |.;.d..$\|.....2..|
|00003de0| 4d 49 46 4f 00 00 00 0a | 00 80 00 00 00 00 00 00 |MIFO....|........|
|00003df0| 01 64 ff a0 08 4d 69 73 | 63 49 6e 66 6f 00 00 00 |.d...Mis|cInfo...|
+--------+-------------------------+-------------------------+--------+--------+