home *** CD-ROM | disk | FTP | other *** search
Unknown | 1991-10-27 | 9.8 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 4a 10 2b f4 20 20 3e | 3c 42 61 73 69 63 56 24 |.J.+. >|<BasicV$|
|00000010| 4c 69 62 3e 2e 66 69 6c | 65 5f 69 6f 20 20 3a 20 |Lib>.fil|e_io : |
|00000020| 20 52 45 4d 20 20 76 30 | 2e 30 37 0d 4a 1a 1b f4 | REM v0|.07.J...|
|00000030| 20 20 4d 41 43 48 49 4e | 45 3a 20 20 41 72 63 68 | MACHIN|E: Arch|
|00000040| 69 6d 65 64 65 73 0d 4a | 24 24 f4 20 20 4c 41 4e |imedes.J|$$. LAN|
|00000050| 47 55 41 47 45 3a 20 42 | 42 43 20 42 41 53 49 43 |GUAGE: B|BC BASIC|
|00000060| 20 56 20 28 76 31 2e 30 | 34 29 0d 4a 2e 1b f4 20 | V (v1.0|4).J... |
|00000070| 20 41 55 54 48 4f 52 3a | 20 20 20 43 79 20 42 6f | AUTHOR:| Cy Bo|
|00000080| 6f 6b 65 72 2c 0d 4a 38 | 47 f4 20 20 20 20 20 20 |oker,.J8|G. |
|00000090| 20 20 20 20 20 20 38 36 | 20 43 68 75 72 63 68 20 | 86| Church |
|000000a0| 56 69 65 77 2c 20 4d 61 | 69 6e 20 52 6f 61 64 2c |View, Ma|in Road,|
|000000b0| 20 43 72 6f 63 6b 65 6e | 68 69 6c 6c 2c 20 53 77 | Crocken|hill, Sw|
|000000c0| 61 6e 6c 65 79 2c 20 4b | 65 6e 74 2e 0d 4a 42 18 |anley, K|ent..JB.|
|000000d0| f4 20 20 20 20 20 20 20 | 20 20 20 20 20 42 52 38 |. | BR8|
|000000e0| 20 38 4a 57 0d 4a 4c 0c | f4 20 20 4e 4f 54 45 3a | 8JW.JL.|. NOTE:|
|000000f0| 0d 4a 56 49 f4 20 20 20 | 46 6f 72 20 61 6c 6c 20 |.JVI. |For all |
|00000100| 72 6f 75 74 69 6e 65 73 | 20 74 68 61 74 20 63 61 |routines| that ca|
|00000110| 6c 6c 20 46 4e 5f 4f 53 | 5f 47 42 50 42 5f 52 65 |ll FN_OS|_GBPB_Re|
|00000120| 61 64 45 6e 74 72 79 2c | 20 74 68 65 79 20 77 69 |adEntry,| they wi|
|00000130| 6c 6c 20 6e 6f 74 20 62 | 65 0d 4a 60 47 f4 20 20 |ll not b|e.J`G. |
|00000140| 20 72 65 63 75 72 73 69 | 76 65 20 75 6e 6c 65 73 | recursi|ve unles|
|00000150| 73 20 72 65 74 75 72 6e | 20 76 61 6c 75 65 28 73 |s return| value(s|
|00000160| 29 20 61 72 65 20 73 74 | 6f 72 65 64 20 61 73 20 |) are st|ored as |
|00000170| 4c 4f 43 41 4c 20 76 61 | 72 69 61 62 6c 65 73 2e |LOCAL va|riables.|
|00000180| 0d 4a 6a 49 f4 20 20 20 | 54 68 69 73 20 69 73 20 |.JjI. |This is |
|00000190| 62 65 63 61 75 73 65 20 | 42 41 53 49 43 20 56 20 |because |BASIC V |
|000001a0| 61 70 70 65 61 72 73 20 | 6e 6f 74 20 74 6f 20 75 |appears |not to u|
|000001b0| 6e 73 74 61 63 6b 20 4c | 4f 43 41 4c 20 44 49 4d |nstack L|OCAL DIM|
|000001c0| 20 62 25 20 6e 25 27 73 | 2e 0d 4a 74 08 f4 20 20 | b% n%'s|..Jt.. |
|000001d0| 3a 0d 4a 7e 30 f4 20 20 | 20 44 69 74 74 6f 20 61 |:.J~0. | Ditto a|
|000001e0| 62 6f 76 65 20 77 69 74 | 68 20 46 4e 5f 66 69 6c |bove wit|h FN_fil|
|000001f0| 65 5f 74 79 70 65 5f 74 | 6f 5f 73 74 72 69 6e 67 |e_type_t|o_string|
|00000200| 2e 0d 4a 88 08 f4 20 20 | 3a 0d 4a 92 11 f4 20 20 |..J... |:.J... |
|00000210| 46 55 4e 43 54 49 4f 4e | 53 3a 0d 4a 9c 1a f4 20 |FUNCTION|S:.J... |
|00000220| 20 20 5f 4f 53 5f 47 42 | 50 42 5f 52 65 61 64 45 | _OS_GB|PB_ReadE|
|00000230| 6e 74 72 79 0d 4a a6 49 | f4 20 20 20 5f 66 69 6c |ntry.J.I|. _fil|
|00000240| 65 5f 65 78 69 73 74 73 | 20 20 20 20 20 20 20 20 |e_exists| |
|00000250| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 5b 54 | | [T|
|00000260| 6f 20 74 65 73 74 3a 20 | 62 61 64 20 6e 61 6d 65 |o test: |bad name|
|00000270| 2c 20 64 69 73 63 20 65 | 72 72 6f 72 5d 0d 4a b0 |, disc e|rror].J.|
|00000280| 49 f4 20 20 20 5f 66 69 | 6c 65 5f 73 69 7a 65 20 |I. _fi|le_size |
|00000290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000002a0| 20 20 20 20 20 20 20 5b | 54 6f 20 74 65 73 74 3a | [|To test:|
|000002b0| 20 62 61 64 20 6e 61 6d | 65 2c 20 64 69 73 63 20 | bad nam|e, disc |
|000002c0| 65 72 72 6f 72 5d 0d 4a | ba 1d f4 20 20 20 5f 66 |error].J|... _f|
|000002d0| 69 6c 65 5f 69 73 5f 73 | 75 62 64 69 72 65 63 74 |ile_is_s|ubdirect|
|000002e0| 6f 72 79 0d 4a c4 1f f4 | 20 20 20 5f 66 69 6c 65 |ory.J...| _file|
|000002f0| 5f 6f 62 6a 65 63 74 5f | 61 74 74 72 69 62 75 74 |_object_|attribut|
|00000300| 65 73 0d 4a ce 24 f4 20 | 20 20 5f 66 69 6c 65 5f |es.J.$. | _file_|
|00000310| 6f 62 6a 65 63 74 5f 65 | 78 65 63 75 74 65 5f 61 |object_e|xecute_a|
|00000320| 64 64 72 65 73 73 0d 4a | d8 1b f4 20 20 20 5f 66 |ddress.J|... _f|
|00000330| 69 6c 65 5f 6f 62 6a 65 | 63 74 5f 6c 65 6e 67 74 |ile_obje|ct_lengt|
|00000340| 68 0d 4a e2 21 f4 20 20 | 20 5f 66 69 6c 65 5f 6f |h.J.!. | _file_o|
|00000350| 62 6a 65 63 74 5f 6c 6f | 61 64 5f 61 64 64 72 65 |bject_lo|ad_addre|
|00000360| 73 73 0d 4a ec 19 f4 20 | 20 20 5f 66 69 6c 65 5f |ss.J... | _file_|
|00000370| 6f 62 6a 65 63 74 5f 6e | 61 6d 65 0d 4a f6 19 f4 |object_n|ame.J...|
|00000380| 20 20 20 5f 66 69 6c 65 | 5f 6f 62 6a 65 63 74 5f | _file|_object_|
|00000390| 74 79 70 65 0d 4b 00 12 | f4 20 20 20 5f 66 69 6c |type.K..|. _fil|
|000003a0| 65 5f 74 79 70 65 0d 4b | 0a 1c f4 20 20 20 5f 66 |e_type.K|... _f|
|000003b0| 69 6c 65 5f 74 79 70 65 | 5f 74 6f 5f 73 74 72 69 |ile_type|_to_stri|
|000003c0| 6e 67 0d 4b 14 12 f4 20 | 20 20 5f 66 69 6c 65 5f |ng.K... | _file_|
|000003d0| 74 69 6d 65 0d 4b 1e 08 | f4 20 20 3a 0d 4b 28 12 |time.K..|. :.K(.|
|000003e0| f4 20 20 50 52 4f 43 45 | 44 55 52 45 53 3a 0d 4b |. PROCE|DURES:.K|
|000003f0| 32 31 f4 20 20 20 5f 6c | 6f 61 64 5f 62 69 6e 61 |21. _l|oad_bina|
|00000400| 72 79 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ry | |
|00000410| 20 20 20 20 20 20 20 20 | 5b 57 6f 72 6b 73 5d 0d | |[Works].|
|00000420| 4b 3c 08 f4 20 20 3a 0d | 4b 46 11 f4 20 20 45 58 |K<.. :.|KF.. EX|
|00000430| 54 45 52 4e 41 4c 53 3a | 0d 4b 50 37 f4 20 20 20 |TERNALS:|.KP7. |
|00000440| 43 68 65 63 6b 56 61 72 | 73 20 20 20 20 20 42 41 |CheckVar|s BA|
|00000450| 53 49 43 20 6c 69 62 72 | 61 72 79 20 66 69 6c 65 |SIC libr|ary file|
|00000460| 2c 20 76 65 72 73 69 6f | 6e 20 30 2e 30 32 2e 0d |, versio|n 0.02..|
|00000470| 4b 5a 37 f4 20 20 20 73 | 74 72 69 6e 67 20 20 20 |KZ7. s|tring |
|00000480| 20 20 20 20 20 42 41 53 | 49 43 20 6c 69 62 72 61 | BAS|IC libra|
|00000490| 72 79 20 66 69 6c 65 2c | 20 76 65 72 73 69 6f 6e |ry file,| version|
|000004a0| 20 30 2e 30 36 2e 0d 4b | 64 08 f4 20 20 3a 0d 4b | 0.06..K|d.. :.K|
|000004b0| 6e 11 f4 20 20 49 4e 54 | 45 52 4e 41 4c 53 3a 0d |n.. INT|ERNALS:.|
|000004c0| 4b 78 1a f4 20 20 20 73 | 69 7a 65 6f 66 5f 66 69 |Kx.. s|izeof_fi|
|000004d0| 6c 65 5f 62 6c 6f 63 6b | 25 0d 4b 82 13 f4 20 20 |le_block|%.K... |
|000004e0| 20 66 69 6c 65 5f 62 6c | 6f 63 6b 25 0d 4b 8c 19 | file_bl|ock%.K..|
|000004f0| f4 20 20 20 66 69 6c 65 | 5f 74 79 70 65 5f 73 74 |. file|_type_st|
|00000500| 72 69 6e 67 25 0d 4b 96 | 08 f4 20 20 3a 0d 4b a0 |ring%.K.|.. :.K.|
|00000510| 0f f4 20 20 55 50 44 41 | 54 45 53 3a 0d 4b aa 1e |.. UPDA|TES:.K..|
|00000520| f4 20 20 20 76 30 2e 30 | 32 20 20 2e 20 20 5f 6c |. v0.0|2 . _l|
|00000530| 6f 61 64 5f 62 69 6e 61 | 72 79 0d 4b b4 27 f4 20 |oad_bina|ry.K.'. |
|00000540| 20 20 76 30 2e 30 33 20 | 20 2e 20 20 5f 66 69 6c | v0.03 | . _fil|
|00000550| 65 5f 69 73 5f 73 75 62 | 64 69 72 65 63 74 6f 72 |e_is_sub|director|
|00000560| 79 0d 4b be 1e f4 20 20 | 20 76 30 2e 30 34 20 20 |y.K... | v0.04 |
|00000570| 2e 20 20 46 4e 5f 66 69 | 6c 65 5f 74 79 70 65 0d |. FN_fi|le_type.|
|00000580| 4b c8 28 f4 20 20 20 20 | 20 20 20 20 20 20 20 20 |K.(. | |
|00000590| 20 46 4e 5f 66 69 6c 65 | 5f 74 79 70 65 5f 74 6f | FN_file|_type_to|
|000005a0| 5f 73 74 72 69 6e 67 0d | 4b d2 26 f4 20 20 20 20 |_string.|K.&. |
|000005b0| 20 20 20 20 20 20 20 20 | 20 46 4e 5f 66 69 6c 65 | | FN_file|
|000005c0| 5f 6c 61 73 74 5f 77 72 | 69 74 74 65 6e 0d 4b dc |_last_wr|itten.K.|
|000005d0| 26 f4 20 20 20 20 20 20 | 20 20 20 20 20 20 20 46 |&. | F|
|000005e0| 4e 5f 4f 53 5f 47 42 50 | 42 5f 52 65 61 64 45 6e |N_OS_GBP|B_ReadEn|
|000005f0| 74 72 79 0d 4b e6 24 f4 | 20 20 20 20 20 20 20 20 |try.K.$.| |
|00000600| 20 20 20 20 20 46 4e 5f | 66 69 6c 65 5f 6f 62 6a | FN_|file_obj|
|00000610| 65 63 74 5f 58 58 58 0d | 4b f0 24 f4 20 20 20 76 |ect_XXX.|K.$. v|
|00000620| 30 2e 30 35 20 20 2e 20 | 20 4e 65 77 20 65 72 72 |0.05 . | New err|
|00000630| 6f 72 20 68 61 6e 64 6c | 65 72 2e 0d 4b fa 27 f4 |or handl|er..K.'.|
|00000640| 20 20 20 76 30 2e 30 36 | 20 20 2e 20 20 5f 4f 53 | v0.06| . _OS|
|00000650| 5f 46 69 6c 65 5f 52 65 | 61 64 45 6e 74 72 79 28 |_File_Re|adEntry(|
|00000660| 29 2e 0d 4c 04 41 f4 20 | 32 37 2e 31 30 2e 31 39 |)..L.A. |27.10.19|
|00000670| 39 31 20 43 4a 42 20 5f | 66 69 6c 65 5f 73 69 7a |91 CJB _|file_siz|
|00000680| 65 20 72 65 70 6f 72 74 | 73 20 65 72 72 6f 72 20 |e report|s error |
|00000690| 69 66 20 6f 62 6a 65 63 | 74 20 6e 6f 74 20 66 6f |if objec|t not fo|
|000006a0| 75 6e 64 0d 4c 0e 05 3a | 0d 4c 18 21 dd 20 a4 5f |und.L..:|.L.!. ._|
|000006b0| 66 69 6c 65 5f 69 6f 5f | 76 65 72 73 69 6f 6e 20 |file_io_|version |
|000006c0| 20 3a 20 20 3d 20 30 30 | 37 0d 4c 22 05 3a 0d 4c | : = 00|7.L".:.L|
|000006d0| 2c 1f dd 20 a4 5f 68 61 | 72 64 5f 69 6e 69 74 69 |,.. ._ha|rd_initi|
|000006e0| 61 6c 69 73 65 5f 66 69 | 6c 65 5f 69 6f 0d 4c 36 |alise_fi|le_io.L6|
|000006f0| 07 ea 20 85 0d 4c 40 3d | ee 20 85 20 ea 20 f7 20 |.. ..L@=|. . . . |
|00000700| 85 20 20 3a 20 20 f2 5f | 65 28 20 22 25 2e 66 69 |. : ._|e( "%.fi|
|00000710| 6c 65 5f 69 6f 3a 20 68 | 61 72 64 5f 69 6e 69 74 |le_io: h|ard_init|
|00000720| 69 61 6c 69 73 65 5f 66 | 69 6c 65 5f 69 6f 22 20 |ialise_f|ile_io" |
|00000730| 29 0d 4c 4a 36 20 20 20 | f2 5f 6c 6f 61 64 5f 6c |).LJ6 |._load_l|
|00000740| 69 62 72 61 72 79 28 20 | 22 3c 42 61 73 69 63 56 |ibrary( |"<BasicV|
|00000750| 24 4c 69 62 3e 2e 43 68 | 65 63 6b 56 61 72 73 22 |$Lib>.Ch|eckVars"|
|00000760| 2c 20 30 30 32 20 29 0d | 4c 54 36 20 20 20 f2 5f |, 002 ).|LT6 ._|
|00000770| 6c 6f 61 64 5f 6c 69 62 | 72 61 72 79 28 20 22 3c |load_lib|rary( "<|
|00000780| 42 61 73 69 63 56 24 4c | 69 62 3e 2e 73 74 72 69 |BasicV$L|ib>.stri|
|00000790| 6e 67 22 2c 20 20 20 20 | 30 30 36 20 29 0d 4c 5e |ng", |006 ).L^|
|000007a0| 08 20 20 20 3a 0d 4c 68 | 34 20 20 20 f4 20 20 46 |. :.Lh|4 . F|
|000007b0| 6f 6c 6c 6f 77 69 6e 67 | 20 66 6f 72 20 46 4e 5f |ollowing| for FN_|
|000007c0| 4f 53 5f 7b 47 42 50 42 | 2f 46 69 6c 65 7d 5f 52 |OS_{GBPB|/File}_R|
|000007d0| 65 61 64 45 6e 74 72 79 | 2e 0d 4c 72 08 20 20 20 |eadEntry|..Lr. |
|000007e0| 3a 0d 4c 7c 45 20 20 20 | 73 69 7a 65 6f 66 5f 66 |:.L|E |sizeof_f|
|000007f0| 69 6c 65 5f 62 6c 6f 63 | 6b 25 20 3d 20 32 35 36 |ile_bloc|k% = 256|
|00000800| 20 2b 20 32 30 20 20 20 | 20 20 20 20 20 3a 20 20 | + 20 | : |
|00000810| f4 20 20 53 61 76 65 73 | 20 63 68 65 63 6b 73 20 |. Saves| checks |
|00000820| 6c 61 74 65 72 2e 0d 4c | 86 27 20 20 20 de 20 66 |later..L|.' . f|
|00000830| 69 6c 65 5f 62 6c 6f 63 | 6b 25 20 73 69 7a 65 6f |ile_bloc|k% sizeo|
|00000840| 66 5f 66 69 6c 65 5f 62 | 6c 6f 63 6b 25 0d 4c 90 |f_file_b|lock%.L.|
|00000850| 08 20 20 20 3a 0d 4c 9a | 2e 20 20 20 f4 20 20 46 |. :.L.|. . F|
|00000860| 6f 6c 6c 6f 77 69 6e 67 | 20 66 6f 72 20 46 4e 5f |ollowing| for FN_|
|00000870| 66 69 6c 65 5f 74 79 70 | 65 5f 74 6f 5f 73 74 72 |file_typ|e_to_str|
|00000880| 69 6e 67 0d 4c a4 08 20 | 20 20 3a 0d 4c ae 1c 20 |ing.L.. | :.L.. |
|00000890| 20 20 de 20 66 69 6c 65 | 5f 74 79 70 65 5f 73 74 | . file|_type_st|
|000008a0| 72 69 6e 67 25 20 39 0d | 4c b8 1f 20 20 20 66 69 |ring% 9.|L.. fi|
|000008b0| 6c 65 5f 74 79 70 65 5f | 73 74 72 69 6e 67 25 3f |le_type_|string%?|
|000008c0| 38 20 3d 20 31 33 0d 4c | c2 07 3d 20 30 0d 4c cc |8 = 13.L|..= 0.L.|
|000008d0| 05 3a 0d 4c d6 4b f4 20 | 2a 2a 2a 2a 2a 2a 2a 2a |.:.L.K. |********|
|000008e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 4c e0 |********|*****.L.|
|00000920| 2c f4 20 2a 20 51 75 65 | 72 79 20 69 66 20 61 20 |,. * Que|ry if a |
|00000930| 67 69 76 65 6e 20 66 69 | 6c 65 20 65 78 69 73 74 |given fi|le exist|
|00000940| 73 20 6f 72 20 6e 6f 74 | 2e 0d 4c ea 28 f4 20 2a |s or not|..L.(. *|
|00000950| 20 4f 55 54 3a 20 20 2e | 54 52 55 45 2e 20 69 66 | OUT: .|TRUE. if|
|00000960| 20 66 69 6c 65 20 64 6f | 65 73 20 65 78 69 73 74 | file do|es exist|
|00000970| 2c 0d 4c f4 20 f4 20 2a | 20 20 20 20 20 20 20 2e |,.L. . *| .|
|00000980| 46 41 4c 53 45 2e 20 6f | 74 68 65 72 77 69 73 65 |FALSE. o|therwise|
|00000990| 2e 0d 4c fe 21 dd 20 a4 | 5f 66 69 6c 65 5f 65 78 |..L.!. .|_file_ex|
|000009a0| 69 73 74 73 28 20 66 69 | 6c 65 5f 6e 61 6d 65 24 |ists( fi|le_name$|
|000009b0| 20 29 0d 4d 08 0d ea 20 | 65 78 69 73 74 73 25 0d | ).M... |exists%.|
|000009c0| 4d 12 2e 20 20 20 c8 99 | 20 22 4f 53 5f 46 69 6c |M.. ..| "OS_Fil|
|000009d0| 65 22 2c 20 26 30 35 2c | 20 66 69 6c 65 5f 6e 61 |e", &05,| file_na|
|000009e0| 6d 65 24 20 b8 20 65 78 | 69 73 74 73 25 0d 4d 1c |me$ . ex|ists%.M.|
|000009f0| 11 3d 20 28 65 78 69 73 | 74 73 25 3d 31 29 0d 4d |.= (exis|ts%=1).M|
|00000a00| 26 05 3a 0d 4d 30 4b f4 | 20 2a 2a 2a 2a 2a 2a 2a |&.:.M0K.| *******|
|00000a10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 4d |********|******.M|
|00000a50| 3a 1e f4 20 2a 20 47 65 | 74 20 6e 61 6d 65 64 20 |:.. * Ge|t named |
|00000a60| 66 69 6c 65 73 27 20 73 | 69 7a 65 2e 0d 4d 44 1a |files' s|ize..MD.|
|00000a70| f4 20 2a 20 4f 55 54 3a | 20 20 46 69 6c 65 73 27 |. * OUT:| Files'|
|00000a80| 20 73 69 7a 65 2e 0d 4d | 4e 1f dd 20 a4 5f 66 69 | size..M|N.. ._fi|
|00000a90| 6c 65 5f 73 69 7a 65 28 | 20 66 69 6c 65 5f 6e 61 |le_size(| file_na|
|00000aa0| 6d 65 24 20 29 0d 4d 58 | 12 ea 20 73 69 7a 65 25 |me$ ).MX|.. size%|
|00000ab0| 2c 20 74 79 70 65 25 0d | 4d 62 36 20 20 20 c8 99 |, type%.|Mb6 ..|
|00000ac0| 20 22 4f 53 5f 46 69 6c | 65 22 2c 20 26 30 35 2c | "OS_Fil|e", &05,|
|00000ad0| 20 66 69 6c 65 5f 6e 61 | 6d 65 24 20 b8 20 74 79 | file_na|me$ . ty|
|00000ae0| 70 65 25 2c 2c 2c 2c 20 | 73 69 7a 65 25 0d 4d 6c |pe%,,,, |size%.Ml|
|00000af0| 3b 20 20 20 e7 20 74 79 | 70 65 25 3d 30 20 8c 20 |; . ty|pe%=0 . |
|00000b00| 85 20 31 2c 20 22 46 69 | 6c 65 20 6e 6f 74 20 66 |. 1, "Fi|le not f|
|00000b10| 6f 75 6e 64 20 28 22 2b | 20 66 69 6c 65 5f 6e 61 |ound ("+| file_na|
|00000b20| 6d 65 24 2b 20 22 29 22 | 0d 4d 80 0b 3d 20 73 69 |me$+ ")"|.M..= si|
|00000b30| 7a 65 25 0d 4d 8a 05 3a | 0d 4d 94 4b f4 20 2a 2a |ze%.M..:|.M.K. **|
|00000b40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b80| 2a 2a 2a 0d 4d 9e 20 f4 | 20 2a 20 4c 6f 61 64 20 |***.M. .| * Load |
|00000b90| 61 20 66 69 6c 65 20 69 | 6e 74 6f 20 6d 65 6d 6f |a file i|nto memo|
|00000ba0| 72 79 2e 0d 4d a8 27 f4 | 20 2a 20 4f 55 54 3a 20 |ry..M.'.| * OUT: |
|00000bb0| 20 46 69 6c 65 20 6c 6f | 61 64 65 64 20 74 6f 20 | File lo|aded to |
|00000bc0| 77 68 65 72 65 5f 74 6f | 25 2e 0d 4d b2 2c dd 20 |where_to|%..M.,. |
|00000bd0| f2 5f 6c 6f 61 64 5f 62 | 69 6e 61 72 79 28 20 66 |._load_b|inary( f|
|00000be0| 69 6c 65 5f 6e 61 6d 65 | 24 2c 20 77 68 65 72 65 |ile_name|$, where|
|00000bf0| 5f 74 6f 25 20 29 0d 4d | bc 2f 20 20 20 c8 99 20 |_to% ).M|./ .. |
|00000c00| 22 4f 53 5f 46 69 6c 65 | 22 2c 20 26 46 46 2c 20 |"OS_File|", &FF, |
|00000c10| 66 69 6c 65 5f 6e 61 6d | 65 24 2c 20 77 68 65 72 |file_nam|e$, wher|
|00000c20| 65 5f 74 6f 25 0d 4d c6 | 05 e1 0d 4d d0 05 3a 0d |e_to%.M.|...M..:.|
|00000c30| 4d da 4b f4 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |M.K. ***|********|
|00000c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 4d e4 3d f4 20 |********|**.M.=. |
|00000c80| 2a 20 51 75 65 72 79 20 | 69 66 20 61 20 67 69 76 |* Query |if a giv|
|00000c90| 65 6e 20 66 69 6c 65 20 | 6e 61 6d 65 20 73 70 65 |en file |name spe|
|00000ca0| 63 69 66 69 65 73 20 61 | 20 73 75 62 2d 64 69 72 |cifies a| sub-dir|
|00000cb0| 65 63 74 6f 72 79 2e 0d | 4d ee 35 f4 20 2a 20 49 |ectory..|M.5. * I|
|00000cc0| 4e 3a 20 20 20 57 69 6c | 64 20 63 61 72 64 73 20 |N: Wil|d cards |
|00000cd0| 77 69 6c 6c 20 77 6f 72 | 6b 2c 20 62 75 74 20 6e |will wor|k, but n|
|00000ce0| 6f 74 20 6d 75 63 68 20 | 75 73 65 2e 0d 4d f8 2e |ot much |use..M..|
|00000cf0| f4 20 2a 20 4f 55 54 3a | 20 20 2e 54 52 55 45 2e |. * OUT:| .TRUE.|
|00000d00| 20 69 66 20 69 74 20 69 | 73 20 61 20 73 75 62 2d | if it i|s a sub-|
|00000d10| 64 69 72 65 63 74 6f 72 | 79 2c 0d 4e 02 20 f4 20 |director|y,.N. . |
|00000d20| 2a 20 20 20 20 20 20 20 | 2e 46 41 4c 53 45 2e 20 |* |.FALSE. |
|00000d30| 6f 74 68 65 72 77 69 73 | 65 2e 0d 4e 0c 2a dd 20 |otherwis|e..N.*. |
|00000d40| a4 5f 66 69 6c 65 5f 69 | 73 5f 73 75 62 64 69 72 |._file_i|s_subdir|
|00000d50| 65 63 74 6f 72 79 28 20 | 66 69 6c 65 5f 6e 61 6d |ectory( |file_nam|
|00000d60| 65 24 20 29 0d 4e 16 0b | ea 20 74 79 70 65 25 0d |e$ ).N..|. type%.|
|00000d70| 4e 20 2c 20 20 20 c8 99 | 20 22 4f 53 5f 46 69 6c |N , ..| "OS_Fil|
|00000d80| 65 22 2c 20 26 30 35 2c | 20 66 69 6c 65 5f 6e 61 |e", &05,| file_na|
|00000d90| 6d 65 24 20 b8 20 74 79 | 70 65 25 0d 4e 2a 0f 3d |me$ . ty|pe%.N*.=|
|00000da0| 20 28 74 79 70 65 25 3d | 32 29 0d 4e 34 05 3a 0d | (type%=|2).N4.:.|
|00000db0| 4e 3e 4b f4 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |N>K. ***|********|
|00000dc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000df0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 4e 48 48 f4 20 |********|**.NHH. |
|00000e00| 2a 20 47 69 76 65 6e 20 | 61 20 66 69 6c 65 73 27 |* Given |a files'|
|00000e10| 20 74 79 70 65 20 28 33 | 2d 64 69 67 69 74 20 68 | type (3|-digit h|
|00000e20| 65 78 20 6e 75 6d 62 65 | 72 29 2c 20 66 69 6e 64 |ex numbe|r), find|
|00000e30| 20 74 68 65 20 63 6f 72 | 72 65 73 70 6f 6e 64 69 | the cor|respondi|
|00000e40| 6e 67 0d 4e 52 1b f4 20 | 2a 20 38 20 63 68 61 72 |ng.NR.. |* 8 char|
|00000e50| 61 63 74 65 72 20 73 74 | 72 69 6e 67 2e 0d 4e 5c |acter st|ring..N\|
|00000e60| 21 f4 20 2a 20 49 4e 20 | 20 20 20 20 74 79 70 65 |!. * IN | type|
|00000e70| 20 3d 3d 20 5b 30 2c 20 | 30 78 46 46 46 5d 0d 4e | == [0, |0xFFF].N|
|00000e80| 66 27 f4 20 2a 20 4f 55 | 54 20 20 20 20 38 2d 63 |f'. * OU|T 8-c|
|00000e90| 68 61 72 61 63 74 65 72 | 20 42 41 53 49 43 20 73 |haracter| BASIC s|
|00000ea0| 74 72 69 6e 67 0d 4e 70 | 2a f4 20 2a 20 4e 42 20 |tring.Np|*. * NB |
|00000eb0| 20 20 20 20 4e 6f 6e 2d | 72 65 63 75 72 73 69 76 | Non-|recursiv|
|00000ec0| 65 20 6f 72 20 72 65 2d | 65 6e 74 72 61 6e 74 0d |e or re-|entrant.|
|00000ed0| 4e 7a 24 dd 20 a4 5f 66 | 69 6c 65 5f 74 79 70 65 |Nz$. ._f|ile_type|
|00000ee0| 5f 74 6f 5f 73 74 72 69 | 6e 67 28 20 74 79 70 65 |_to_stri|ng( type|
|00000ef0| 25 20 29 0d 4e 84 07 ea | 20 85 0d 4e 8e 2f ee 20 |% ).N...| ..N./. |
|00000f00| 85 20 ea 20 f7 20 85 20 | 20 3a 20 20 f2 5f 65 28 |. . . . | : ._e(|
|00000f10| 20 22 25 2e 66 69 6c 65 | 5f 69 6f 3a 20 66 69 6c | "%.file|_io: fil|
|00000f20| 65 5f 74 79 70 65 22 20 | 29 0d 4e 98 2b 20 20 20 |e_type" |).N.+ |
|00000f30| f2 5f 63 68 65 63 6b 5f | 69 6e 5f 72 61 6e 67 65 |._check_|in_range|
|00000f40| 28 20 22 74 79 70 65 25 | 22 2c 20 30 2c 20 26 46 |( "type%|", 0, &F|
|00000f50| 46 46 20 29 0d 4e a2 4f | 20 20 20 c8 99 20 22 4f |FF ).N.O| .. "O|
|00000f60| 53 5f 46 53 43 6f 6e 74 | 72 6f 6c 22 2c 31 38 2c |S_FSCont|rol",18,|
|00000f70| 2c 74 79 70 65 25 20 b8 | 20 2c 2c 20 21 66 69 6c |,type% .| ,, !fil|
|00000f80| 65 5f 74 79 70 65 5f 73 | 74 72 69 6e 67 25 2c 20 |e_type_s|tring%, |
|00000f90| 66 69 6c 65 5f 74 79 70 | 65 5f 73 74 72 69 6e 67 |file_typ|e_string|
|00000fa0| 25 21 34 0d 4e ac 18 3d | 20 24 66 69 6c 65 5f 74 |%!4.N..=| $file_t|
|00000fb0| 79 70 65 5f 73 74 72 69 | 6e 67 25 0d 4e b6 05 3a |ype_stri|ng%.N..:|
|00000fc0| 0d 4e c0 4b f4 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.N.K. **|********|
|00000fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 4e ca 4c f4 |********|***.N.L.|
|00001010| 20 2a 20 52 65 61 64 20 | 66 75 6c 6c 20 69 6e 66 | * Read |full inf|
|00001020| 6f 72 6d 61 74 69 6f 6e | 20 61 62 6f 75 74 20 61 |ormation| about a|
|00001030| 20 73 70 65 63 69 66 69 | 65 64 20 66 69 6c 65 20 | specifi|ed file |
|00001040| 69 6e 74 6f 20 61 20 62 | 6c 6f 63 6b 20 6f 66 20 |into a b|lock of |
|00001050| 6d 65 6d 6f 72 79 2e 0d | 4e d4 41 f4 20 2a 20 54 |memory..|N.A. * T|
|00001060| 68 69 73 20 63 61 6e 20 | 62 65 20 63 61 6c 6c 65 |his can |be calle|
|00001070| 64 20 72 65 70 65 61 74 | 65 64 6c 79 20 69 66 20 |d repeat|edly if |
|00001080| 74 68 65 20 6c 65 61 66 | 20 69 73 20 61 20 77 69 |the leaf| is a wi|
|00001090| 6c 64 20 63 61 72 64 2e | 0d 4e de 3e f4 20 2a 20 |ld card.|.N.>. * |
|000010a0| 54 68 69 73 20 76 65 72 | 73 69 6f 6e 20 77 69 6c |This ver|sion wil|
|000010b0| 6c 20 72 65 61 64 20 69 | 6e 20 6f 6e 6c 79 20 31 |l read i|n only 1|
|000010c0| 20 28 6f 6e 65 29 20 66 | 69 6c 65 20 61 74 20 61 | (one) f|ile at a|
|000010d0| 20 74 69 6d 65 2e 0d 4e | e8 47 f4 20 2a 20 41 41 | time..N|.G. * AA|
|000010e0| 41 41 41 41 41 72 72 72 | 72 72 72 72 72 72 72 72 |AAAAArrr|rrrrrrrr|
|000010f0| 72 72 72 67 67 67 67 67 | 67 67 67 67 67 67 67 67 |rrrggggg|gggggggg|
|00001100| 67 67 67 67 67 68 68 68 | 68 68 68 68 68 68 68 68 |ggggghhh|hhhhhhhh|
|00001110| 68 68 68 68 68 68 21 21 | 21 21 21 21 21 0d 4e f2 |hhhhhh!!|!!!!!.N.|
|00001120| 41 f4 20 2a 20 2a 2a 2a | 2a 20 57 48 59 20 2a 2a |A. * ***|* WHY **|
|00001130| 2a 2a 20 64 6f 65 73 20 | 69 74 20 2a 2a 20 4f 4e |** does |it ** ON|
|00001140| 4c 59 20 2a 2a 20 61 63 | 63 65 70 74 20 77 69 6c |LY ** ac|cept wil|
|00001150| 64 2d 63 61 72 64 73 3f | 3f 3f 3f 3f 3f 3f 0d 4e |d-cards?|??????.N|
|00001160| fc 4c f4 20 2a 20 53 6f | 20 69 66 20 61 20 66 69 |.L. * So| if a fi|
|00001170| 6c 65 20 22 24 2e 61 22 | 20 45 58 49 53 54 53 2c |le "$.a"| EXISTS,|
|00001180| 20 61 6e 64 20 79 6f 75 | 20 70 61 73 73 20 28 22 | and you| pass ("|
|00001190| 24 22 2c 20 22 61 22 2c | 20 30 29 20 2d 20 69 74 |$", "a",| 0) - it|
|000011a0| 20 73 61 79 73 20 74 68 | 61 74 0d 4f 06 3c f4 20 | says th|at.O.<. |
|000011b0| 2a 20 4e 4f 54 48 49 4e | 47 20 45 58 49 53 54 53 |* NOTHIN|G EXISTS|
|000011c0| 21 21 21 21 21 21 21 21 | 21 21 21 21 21 21 21 21 |!!!!!!!!|!!!!!!!!|
|000011d0| 21 21 21 21 21 21 21 21 | 21 21 21 21 21 21 21 21 |!!!!!!!!|!!!!!!!!|
|000011e0| 21 21 21 21 21 21 0d 4f | 10 46 f4 20 2a 20 52 69 |!!!!!!.O|.F. * Ri|
|000011f0| 67 68 74 2c 20 66 75 64 | 67 65 20 66 61 63 74 6f |ght, fud|ge facto|
|00001200| 72 79 20 74 69 6d 65 20 | 2d 20 68 61 76 65 20 74 |ry time |- have t|
|00001210| 6f 20 75 73 65 20 4f 53 | 5f 46 69 6c 65 2c 20 74 |o use OS|_File, t|
|00001220| 72 79 20 61 6e 64 20 64 | 6f 20 69 74 0d 4f 1a 28 |ry and d|o it.O.(|
|00001230| f4 20 2a 20 73 6f 20 63 | 61 6e 20 73 74 69 6c 6c |. * so c|an still|
|00001240| 20 75 73 65 20 74 68 65 | 73 65 20 72 6f 75 74 69 | use the|se routi|
|00001250| 6e 65 73 2e 0d 4f 24 07 | f4 20 2a 0d 4f 2e 39 f4 |nes..O$.|. *.O.9.|
|00001260| 20 2a 20 49 4e 20 20 20 | 20 64 69 72 24 20 20 20 | * IN | dir$ |
|00001270| 20 20 20 3d 3d 20 28 65 | 78 70 6c 69 63 69 74 29 | == (e|xplicit)|
|00001280| 20 64 69 72 65 63 74 6f | 72 79 20 74 6f 20 73 65 | directo|ry to se|
|00001290| 61 72 63 68 0d 4f 38 39 | f4 20 2a 20 20 20 20 20 |arch.O89|. * |
|000012a0| 20 20 6c 65 61 66 24 20 | 20 20 20 20 3d 3d 20 28 | leaf$ | == (|
|000012b0| 77 69 6c 64 29 20 66 69 | 6c 65 20 6e 6f 64 65 20 |wild) fi|le node |
|000012c0| 73 70 65 63 69 66 69 63 | 61 74 69 6f 6e 0d 4f 42 |specific|ation.OB|
|000012d0| 4a f4 20 2a 20 20 20 20 | 20 20 20 6e 65 78 74 25 |J. * | next%|
|000012e0| 20 20 20 20 20 3d 3d 20 | 30 20 66 6f 72 20 66 69 | == |0 for fi|
|000012f0| 72 73 74 20 74 69 6d 65 | 2c 20 6f 74 68 65 72 77 |rst time|, otherw|
|00001300| 69 73 65 20 61 73 20 52 | 45 54 55 52 4e 65 64 20 |ise as R|ETURNed |
|00001310| 62 79 20 74 68 69 73 0d | 4f 4c 44 f4 20 2a 20 4f |by this.|OLD. * O|
|00001320| 55 54 20 20 20 3c 2d 2d | 20 4e 75 6d 62 65 72 20 |UT <--| Number |
|00001330| 6f 66 20 66 69 6c 65 73 | 20 66 6f 75 6e 64 20 74 |of files| found t|
|00001340| 68 61 74 20 6d 61 74 63 | 68 20 64 69 72 24 2e 6c |hat matc|h dir$.l|
|00001350| 65 61 66 24 20 5b 30 2c | 20 31 5d 0d 4f 56 16 f4 |eaf$ [0,| 1].OV..|
|00001360| 20 2a 20 20 20 20 20 20 | 20 69 66 20 3e 20 30 20 | * | if > 0 |
|00001370| 7b 0d 4f 60 3a f4 20 2a | 20 20 20 20 20 20 20 20 |{.O`:. *| |
|00001380| 20 20 5b 66 69 6c 65 5f | 62 6c 6f 63 6b 25 5d 20 | [file_|block%] |
|00001390| 3c 2d 2d 20 46 69 6c 6c | 65 64 20 6f 75 74 20 61 |<-- Fill|ed out a|
|000013a0| 73 20 66 6f 6c 6c 6f 77 | 73 20 7b 0d 4f 6a 26 f4 |s follow|s {.Oj&.|
|000013b0| 20 2a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 62 | * | b|
|000013c0| 25 21 30 30 20 4c 6f 61 | 64 20 61 64 64 72 65 73 |%!00 Loa|d addres|
|000013d0| 73 0d 4f 74 29 f4 20 2a | 20 20 20 20 20 20 20 20 |s.Ot). *| |
|000013e0| 20 20 20 20 20 62 25 21 | 30 34 20 45 78 65 63 75 | b%!|04 Execu|
|000013f0| 74 65 20 61 64 64 72 65 | 73 73 0d 4f 7e 20 f4 20 |te addre|ss.O~ . |
|00001400| 2a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 25 |* | b%|
|00001410| 21 30 38 20 4c 65 6e 67 | 74 68 0d 4f 88 2b f4 20 |!08 Leng|th.O.+. |
|00001420| 2a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 25 |* | b%|
|00001430| 21 30 63 20 41 63 63 65 | 73 73 20 61 74 74 72 69 |!0c Acce|ss attri|
|00001440| 62 75 74 65 73 0d 4f 92 | 25 f4 20 2a 20 20 20 20 |butes.O.|%. * |
|00001450| 20 20 20 20 20 20 20 20 | 20 62 25 21 31 30 20 4f | | b%!10 O|
|00001460| 62 6a 65 63 74 20 74 79 | 70 65 0d 4f 9c 30 f4 20 |bject ty|pe.O.0. |
|00001470| 2a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 25 |* | b%|
|00001480| 21 31 34 20 4f 62 6a 65 | 63 74 20 6e 61 6d 65 20 |!14 Obje|ct name |
|00001490| 28 43 20 73 74 72 69 6e | 67 29 0d 4f a6 42 f4 20 |(C strin|g).O.B. |
|000014a0| 2a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 |* | if|
|000014b0| 20 28 6c 6f 61 64 20 61 | 64 64 72 65 73 73 20 26 | (load a|ddress &|
|000014c0| 20 30 78 46 46 46 30 30 | 30 30 30 29 20 3d 3d 20 | 0xFFF00|000) == |
|000014d0| 30 78 46 46 46 30 30 30 | 30 30 20 7b 0d 4f b0 35 |0xFFF000|00 {.O.5|
|000014e0| f4 20 2a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. * | |
|000014f0| 20 20 20 6c 6f 61 64 20 | 61 64 64 72 65 73 73 20 | load |address |
|00001500| 20 20 20 20 3d 3d 20 30 | 78 46 46 46 74 74 74 64 | == 0|xFFFtttd|
|00001510| 64 0d 4f ba 35 f4 20 2a | 20 20 20 20 20 20 20 20 |d.O.5. *| |
|00001520| 20 20 20 20 20 20 20 20 | 65 78 65 63 75 74 65 20 | |execute |
|00001530| 61 64 64 72 65 73 73 20 | 20 3d 3d 20 30 78 64 64 |address | == 0xdd|
|00001540| 64 64 64 64 64 64 0d 4f | c4 38 f4 20 2a 20 20 20 |dddddd.O|.8. * |
|00001550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 57 68 65 | | Whe|
|00001560| 72 65 20 74 74 74 20 20 | 20 20 20 20 20 20 3d 3d |re ttt | ==|
|00001570| 20 54 59 50 45 20 6f 66 | 20 66 69 6c 65 2c 0d 4f | TYPE of| file,.O|
|00001580| ce 46 f4 20 2a 20 20 20 | 20 20 20 20 20 20 20 20 |.F. * | |
|00001590| 20 20 20 20 20 57 68 65 | 72 65 20 64 64 64 64 64 | Whe|re ddddd|
|000015a0| 64 64 64 64 64 20 3d 3d | 20 54 69 6d 65 2c 20 69 |ddddd ==| Time, i|
|000015b0| 6e 20 63 65 6e 74 69 73 | 65 63 6f 6e 64 73 20 73 |n centis|econds s|
|000015c0| 69 6e 63 65 0d 4f d8 47 | f4 20 2a 20 20 20 20 20 |ince.O.G|. * |
|000015d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 30 | | 0|
|000015f0| 30 3a 30 30 3a 30 30 20 | 30 31 2e 30 31 2e 31 39 |0:00:00 |01.01.19|
|00001600| 30 30 20 6f 66 20 66 69 | 6c 65 2e 0d 4f e2 15 f4 |00 of fi|le..O...|
|00001610| 20 2a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | * | }|
|00001620| 0d 4f ec 12 f4 20 2a 20 | 20 20 20 20 20 20 20 20 |.O... * | |
|00001630| 20 7d 0d 4f f6 0f f4 20 | 2a 20 20 20 20 20 20 20 | }.O... |* |
|00001640| 7d 0d 50 00 31 dd 20 a4 | 5f 4f 53 5f 47 42 50 42 |}.P.1. .|_OS_GBPB|
|00001650| 5f 52 65 61 64 45 6e 74 | 72 79 28 20 64 69 72 24 |_ReadEnt|ry( dir$|
|00001660| 2c 20 6c 65 61 66 24 2c | 20 f8 20 6e 65 78 74 25 |, leaf$,| . next%|
|00001670| 20 29 0d 50 0a 13 ea 20 | 6e 75 6d 62 65 72 5f 66 | ).P... |number_f|
|00001680| 6f 75 6e 64 25 0d 50 14 | 07 ea 20 85 0d 50 1e 37 |ound%.P.|.. ..P.7|
|00001690| ee 20 85 20 ea 20 f7 20 | 85 20 20 3a 20 20 f2 5f |. . . . |. : ._|
|000016a0| 65 28 20 22 25 2e 66 69 | 6c 65 5f 69 6f 3a 20 4f |e( "%.fi|le_io: O|
|000016b0| 53 5f 47 42 50 42 5f 52 | 65 61 64 45 6e 74 72 79 |S_GBPB_R|eadEntry|
|000016c0| 22 20 29 0d 50 28 6b 20 | 20 20 c8 99 20 22 58 4f |" ).P(k | .. "XO|
|000016d0| 53 5f 47 42 50 42 22 2c | 20 31 30 2c 20 64 69 72 |S_GBPB",| 10, dir|
|000016e0| 24 2c 20 66 69 6c 65 5f | 62 6c 6f 63 6b 25 2c 20 |$, file_|block%, |
|000016f0| 31 2c 20 6e 65 78 74 25 | 2c 20 73 69 7a 65 6f 66 |1, next%|, sizeof|
|00001700| 5f 66 69 6c 65 5f 62 6c | 6f 63 6b 25 2c 20 6c 65 |_file_bl|ock%, le|
|00001710| 61 66 24 20 b8 20 2c 2c | 2c 20 6e 75 6d 62 65 72 |af$ . ,,|, number|
|00001720| 5f 66 6f 75 6e 64 25 2c | 20 6e 65 78 74 25 0d 50 |_found%,| next%.P|
|00001730| 32 13 3d 20 6e 75 6d 62 | 65 72 5f 66 6f 75 6e 64 |2.= numb|er_found|
|00001740| 25 0d 50 3c 05 3a 0d 50 | 46 4b f4 20 2a 2a 2a 2a |%.P<.:.P|FK. ****|
|00001750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001770| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001780| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001790| 2a 0d 50 50 30 f4 20 2a | 20 54 68 69 73 20 63 61 |*.PP0. *| This ca|
|000017a0| 6c 6c 20 69 73 20 75 73 | 65 64 20 77 69 74 68 20 |ll is us|ed with |
|000017b0| 2a 2a 4e 4f 2a 2a 20 77 | 69 6c 64 63 61 72 64 73 |**NO** w|ildcards|
|000017c0| 2e 0d 50 5a 39 f4 20 2a | 20 49 4e 20 20 20 20 64 |..PZ9. *| IN d|
|000017d0| 69 72 24 20 20 20 20 20 | 20 3d 3d 20 28 65 78 70 |ir$ | == (exp|
|000017e0| 6c 69 63 69 74 29 20 64 | 69 72 65 63 74 6f 72 79 |licit) d|irectory|
|000017f0| 20 74 6f 20 73 65 61 72 | 63 68 0d 50 64 3d f4 20 | to sear|ch.Pd=. |
|00001800| 2a 20 20 20 20 20 20 20 | 6c 65 61 66 24 20 20 20 |* |leaf$ |
|00001810| 20 20 3d 3d 20 28 65 78 | 70 6c 69 63 69 74 29 20 | == (ex|plicit) |
|00001820| 66 69 6c 65 20 6e 6f 64 | 65 20 73 70 65 63 69 66 |file nod|e specif|
|00001830| 69 63 61 74 69 6f 6e 0d | 50 6e 2c f4 20 2a 20 4f |ication.|Pn,. * O|
|00001840| 55 54 20 20 20 54 52 55 | 45 20 69 66 20 6f 62 6a |UT TRU|E if obj|
|00001850| 65 63 74 20 64 6f 65 73 | 20 4e 4f 54 20 65 78 69 |ect does| NOT exi|
|00001860| 73 74 2e 0d 50 78 29 f4 | 20 2a 20 20 20 20 20 20 |st..Px).| * |
|00001870| 20 46 41 4c 53 45 20 69 | 66 20 6f 62 6a 65 63 74 | FALSE i|f object|
|00001880| 20 64 6f 65 73 20 65 78 | 69 73 74 2e 0d 50 82 32 | does ex|ist..P.2|
|00001890| f4 20 2a 20 20 20 20 20 | 20 20 5b 66 69 6c 65 5f |. * | [file_|
|000018a0| 62 6c 6f 63 6b 25 5d 20 | 63 6f 6d 70 6c 65 74 65 |block%] |complete|
|000018b0| 6c 79 20 66 69 6c 6c 65 | 64 20 6f 75 74 2e 0d 50 |ly fille|d out..P|
|000018c0| 8c 28 dd 20 a4 5f 4f 53 | 5f 46 69 6c 65 5f 52 65 |.(. ._OS|_File_Re|
|000018d0| 61 64 45 6e 74 72 79 28 | 20 64 69 72 24 2c 20 6c |adEntry(| dir$, l|
|000018e0| 65 61 66 24 20 29 0d 50 | 96 2b ea 20 74 79 70 65 |eaf$ ).P|.+. type|
|000018f0| 25 2c 20 6c 6f 61 64 25 | 2c 20 65 78 65 63 25 2c |%, load%|, exec%,|
|00001900| 20 6c 65 6e 67 74 68 25 | 2c 20 61 63 63 65 73 73 | length%|, access|
|00001910| 25 0d 50 a0 07 ea 20 85 | 0d 50 aa 37 ee 20 85 20 |%.P... .|.P.7. . |
|00001920| ea 20 f7 20 85 20 20 3a | 20 20 f2 5f 65 28 20 22 |. . . :| ._e( "|
|00001930| 25 2e 66 69 6c 65 5f 69 | 6f 3a 20 4f 53 5f 46 69 |%.file_i|o: OS_Fi|
|00001940| 6c 65 5f 52 65 61 64 45 | 6e 74 72 79 22 20 29 0d |le_ReadE|ntry" ).|
|00001950| 50 b4 54 20 20 20 c8 99 | 20 22 58 4f 53 5f 46 69 |P.T ..| "XOS_Fi|
|00001960| 6c 65 22 2c 20 35 2c 20 | 64 69 72 24 20 2b 20 22 |le", 5, |dir$ + "|
|00001970| 2e 22 20 2b 20 6c 65 61 | 66 24 20 b8 20 74 79 70 |." + lea|f$ . typ|
|00001980| 65 25 2c 2c 20 6c 6f 61 | 64 25 2c 20 65 78 65 63 |e%,, loa|d%, exec|
|00001990| 25 2c 20 6c 65 6e 67 74 | 68 25 2c 20 61 63 63 65 |%, lengt|h%, acce|
|000019a0| 73 73 25 0d 50 be 1d 20 | 20 20 66 69 6c 65 5f 62 |ss%.P.. | file_b|
|000019b0| 6c 6f 63 6b 25 21 30 30 | 20 3d 20 6c 6f 61 64 25 |lock%!00| = load%|
|000019c0| 0d 50 c8 1d 20 20 20 66 | 69 6c 65 5f 62 6c 6f 63 |.P.. f|ile_bloc|
|000019d0| 6b 25 21 30 34 20 3d 20 | 65 78 65 63 25 0d 50 d2 |k%!04 = |exec%.P.|
|000019e0| 1f 20 20 20 66 69 6c 65 | 5f 62 6c 6f 63 6b 25 21 |. file|_block%!|
|000019f0| 30 38 20 3d 20 6c 65 6e | 67 74 68 25 0d 50 dc 1f |08 = len|gth%.P..|
|00001a00| 20 20 20 66 69 6c 65 5f | 62 6c 6f 63 6b 25 21 31 | file_|block%!1|
|00001a10| 32 20 3d 20 61 63 63 65 | 73 73 25 0d 50 e6 1d 20 |2 = acce|ss%.P.. |
|00001a20| 20 20 66 69 6c 65 5f 62 | 6c 6f 63 6b 25 21 31 36 | file_b|lock%!16|
|00001a30| 20 3d 20 74 79 70 65 25 | 0d 50 f0 43 20 20 20 f2 | = type%|.P.C .|
|00001a40| 5f 73 74 72 5f 62 61 73 | 69 63 5f 74 6f 5f 63 28 |_str_bas|ic_to_c(|
|00001a50| 20 28 64 69 72 24 20 2b | 20 22 2e 22 20 2b 20 6c | (dir$ +| "." + l|
|00001a60| 65 61 66 24 29 2c 20 28 | 66 69 6c 65 5f 62 6c 6f |eaf$), (|file_blo|
|00001a70| 63 6b 25 20 2b 20 32 30 | 29 20 29 0d 50 fa 0f 3d |ck% + 20|) ).P..=|
|00001a80| 20 28 74 79 70 65 25 3d | 30 29 0d 51 04 05 3a 0d | (type%=|0).Q..:.|
|00001a90| 51 0e 4b f4 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |Q.K. ***|********|
|00001aa0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ab0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ac0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ad0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 51 18 43 f4 20 |********|**.Q.C. |
|00001ae0| 2a 20 54 68 65 73 65 20 | 61 72 65 20 72 6f 75 74 |* These |are rout|
|00001af0| 69 6e 65 73 20 75 73 65 | 64 20 74 6f 20 61 63 63 |ines use|d to acc|
|00001b00| 65 73 73 20 74 68 65 20 | 64 61 74 61 20 73 65 74 |ess the |data set|
|00001b10| 20 75 70 20 62 79 20 65 | 69 74 68 65 72 0d 51 22 | up by e|ither.Q"|
|00001b20| 35 f4 20 2a 20 5f 4f 53 | 5f 47 42 50 42 5f 52 65 |5. * _OS|_GBPB_Re|
|00001b30| 61 64 45 6e 74 72 79 28 | 29 20 6f 72 20 5f 4f 53 |adEntry(|) or _OS|
|00001b40| 5f 46 69 6c 65 5f 52 65 | 61 64 45 6e 74 72 79 28 |_File_Re|adEntry(|
|00001b50| 29 2e 0d 51 2c 45 f4 20 | 2a 20 4e 6f 74 65 2c 20 |)..Q,E. |* Note, |
|00001b60| 74 68 65 79 20 75 73 65 | 20 61 20 73 74 61 74 69 |they use| a stati|
|00001b70| 63 20 67 6c 6f 62 61 6c | 2c 20 73 6f 20 63 61 6e |c global|, so can|
|00001b80| 20 6e 6f 74 20 62 65 20 | 75 73 65 64 20 69 6e 20 | not be |used in |
|00001b90| 61 20 74 72 75 6c 79 0d | 51 36 4a f4 20 2a 20 6d |a truly.|Q6J. * m|
|00001ba0| 75 6c 74 69 2d 74 61 73 | 6b 69 6e 67 20 65 6e 76 |ulti-tas|king env|
|00001bb0| 69 72 6f 6e 6d 65 6e 74 | 20 2d 20 62 75 74 20 61 |ironment| - but a|
|00001bc0| 73 20 74 68 65 20 41 72 | 63 68 69 6d 65 64 65 73 |s the Ar|chimedes|
|00001bd0| 20 69 73 6e 27 74 20 2d | 20 73 6f 20 77 68 61 74 | isn't -| so what|
|00001be0| 21 0d 51 40 07 f4 20 2a | 0d 51 4a 20 dd 20 a4 5f |!.Q@.. *|.QJ . ._|
|00001bf0| 66 69 6c 65 5f 6f 62 6a | 65 63 74 5f 6c 6f 61 64 |file_obj|ect_load|
|00001c00| 5f 61 64 64 72 65 73 73 | 0d 51 54 07 ea 20 85 0d |_address|.QT.. ..|
|00001c10| 51 5e 3e ee 20 85 20 ea | 20 f7 20 85 20 20 3a 20 |Q^>. . .| . . : |
|00001c20| 20 f2 5f 65 28 20 22 25 | 2e 66 69 6c 65 5f 69 6f | ._e( "%|.file_io|
|00001c30| 3a 20 66 69 6c 65 5f 6f | 62 6a 65 63 74 5f 6c 6f |: file_o|bject_lo|
|00001c40| 61 64 5f 61 64 64 72 65 | 73 73 22 20 29 0d 51 68 |ad_addre|ss" ).Qh|
|00001c50| 12 3d 20 21 66 69 6c 65 | 5f 62 6c 6f 63 6b 25 0d |.= !file|_block%.|
|00001c60| 51 72 05 3a 0d 51 7c 23 | dd 20 a4 5f 66 69 6c 65 |Qr.:.Q|#|. ._file|
|00001c70| 5f 6f 62 6a 65 63 74 5f | 65 78 65 63 75 74 65 5f |_object_|execute_|
|00001c80| 61 64 64 72 65 73 73 0d | 51 86 07 ea 20 85 0d 51 |address.|Q... ..Q|
|00001c90| 90 49 ee 20 85 20 ea 20 | f7 20 85 20 20 3a 20 20 |.I. . . |. . : |
|00001ca0| f2 5f 65 28 20 22 25 2e | 66 69 6c 65 5f 69 6f 3a |._e( "%.|file_io:|
|00001cb0| 20 66 69 6c 65 5f 6f 62 | 6a 65 63 74 5f 65 78 65 | file_ob|ject_exe|
|00001cc0| 63 75 74 65 5f 61 64 64 | 72 65 73 73 3a 20 22 3b |cute_add|ress: ";|
|00001cd0| 20 f6 24 20 3a 20 e0 0d | 51 9a 13 3d 20 66 69 6c | .$ : ..|Q..= fil|
|00001ce0| 65 5f 62 6c 6f 63 6b 25 | 21 34 0d 51 a4 05 3a 0d |e_block%|!4.Q..:.|
|00001cf0| 51 ae 1a dd 20 a4 5f 66 | 69 6c 65 5f 6f 62 6a 65 |Q... ._f|ile_obje|
|00001d00| 63 74 5f 6c 65 6e 67 74 | 68 0d 51 b8 07 ea 20 85 |ct_lengt|h.Q... .|
|00001d10| 0d 51 c2 38 ee 20 85 20 | ea 20 f7 20 85 20 20 3a |.Q.8. . |. . . :|
|00001d20| 20 20 f2 5f 65 28 20 22 | 25 2e 66 69 6c 65 5f 69 | ._e( "|%.file_i|
|00001d30| 6f 3a 20 66 69 6c 65 5f | 6f 62 6a 65 63 74 5f 6c |o: file_|object_l|
|00001d40| 65 6e 67 74 68 22 20 29 | 0d 51 cc 13 3d 20 66 69 |ength" )|.Q..= fi|
|00001d50| 6c 65 5f 62 6c 6f 63 6b | 25 21 38 0d 51 d6 05 3a |le_block|%!8.Q..:|
|00001d60| 0d 51 e0 1e dd 20 a4 5f | 66 69 6c 65 5f 6f 62 6a |.Q... ._|file_obj|
|00001d70| 65 63 74 5f 61 74 74 72 | 69 62 75 74 65 73 0d 51 |ect_attr|ibutes.Q|
|00001d80| ea 07 ea 20 85 0d 51 f4 | 3c ee 20 85 20 ea 20 f7 |... ..Q.|<. . . .|
|00001d90| 20 85 20 20 3a 20 20 f2 | 5f 65 28 20 22 25 2e 66 | . : .|_e( "%.f|
|00001da0| 69 6c 65 5f 69 6f 3a 20 | 66 69 6c 65 5f 6f 62 6a |ile_io: |file_obj|
|00001db0| 65 63 74 5f 61 74 74 72 | 69 62 75 74 65 73 22 20 |ect_attr|ibutes" |
|00001dc0| 29 0d 51 fe 14 3d 20 66 | 69 6c 65 5f 62 6c 6f 63 |).Q..= f|ile_bloc|
|00001dd0| 6b 25 21 31 32 0d 52 08 | 05 3a 0d 52 12 18 dd 20 |k%!12.R.|.:.R... |
|00001de0| a4 5f 66 69 6c 65 5f 6f | 62 6a 65 63 74 5f 74 79 |._file_o|bject_ty|
|00001df0| 70 65 0d 52 1c 07 ea 20 | 85 0d 52 26 36 ee 20 85 |pe.R... |..R&6. .|
|00001e00| 20 ea 20 f7 20 85 20 20 | 3a 20 20 f2 5f 65 28 20 | . . . |: ._e( |
|00001e10| 22 25 2e 66 69 6c 65 5f | 69 6f 3a 20 66 69 6c 65 |"%.file_|io: file|
|00001e20| 5f 6f 62 6a 65 63 74 5f | 74 79 70 65 22 20 29 0d |_object_|type" ).|
|00001e30| 52 30 14 3d 20 66 69 6c | 65 5f 62 6c 6f 63 6b 25 |R0.= fil|e_block%|
|00001e40| 21 31 36 0d 52 3a 05 3a | 0d 52 44 18 dd 20 a4 5f |!16.R:.:|.RD.. ._|
|00001e50| 66 69 6c 65 5f 6f 62 6a | 65 63 74 5f 6e 61 6d 65 |file_obj|ect_name|
|00001e60| 0d 52 4e 07 ea 20 85 0d | 52 58 36 ee 20 85 20 ea |.RN.. ..|RX6. . .|
|00001e70| 20 f7 20 85 20 20 3a 20 | 20 f2 5f 65 28 20 22 25 | . . : | ._e( "%|
|00001e80| 2e 66 69 6c 65 5f 69 6f | 3a 20 66 69 6c 65 5f 6f |.file_io|: file_o|
|00001e90| 62 6a 65 63 74 5f 6e 61 | 6d 65 22 20 29 0d 52 62 |bject_na|me" ).Rb|
|00001ea0| 28 3d 20 a4 5f 73 74 72 | 5f 63 5f 74 6f 5f 62 61 |(= ._str|_c_to_ba|
|00001eb0| 73 69 63 28 20 66 69 6c | 65 5f 62 6c 6f 63 6b 25 |sic( fil|e_block%|
|00001ec0| 2b 32 30 20 29 0d 52 6c | 05 3a 0d 52 76 20 dd 20 |+20 ).Rl|.:.Rv . |
|00001ed0| a4 5f 66 69 6c 65 5f 6f | 62 6a 65 63 74 5f 69 73 |._file_o|bject_is|
|00001ee0| 5f 64 69 72 65 63 74 6f | 72 79 0d 52 80 07 ea 20 |_directo|ry.R... |
|00001ef0| 85 0d 52 8a 3e ee 20 85 | 20 ea 20 f7 20 85 20 20 |..R.>. .| . . . |
|00001f00| 3a 20 20 f2 5f 65 28 20 | 22 25 2e 66 69 6c 65 5f |: ._e( |"%.file_|
|00001f10| 69 6f 3a 20 66 69 6c 65 | 5f 6f 62 6a 65 63 74 5f |io: file|_object_|
|00001f20| 69 73 5f 64 69 72 65 63 | 74 6f 72 79 22 20 29 0d |is_direc|tory" ).|
|00001f30| 52 94 1a 3d 20 28 28 66 | 69 6c 65 5f 62 6c 6f 63 |R..= ((f|ile_bloc|
|00001f40| 6b 25 21 31 36 29 3d 32 | 29 0d 52 9e 05 3a 0d 52 |k%!16)=2|).R..:.R|
|00001f50| a8 4b f4 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.K. ****|********|
|00001f60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 52 b2 3a f4 20 2a |********|*.R.:. *|
|00001fa0| 20 47 65 74 20 74 68 65 | 20 74 79 70 65 20 6f 66 | Get the| type of|
|00001fb0| 20 61 20 66 69 6c 65 20 | 2d 20 61 20 74 68 72 65 | a file |- a thre|
|00001fc0| 65 2d 64 69 67 69 74 20 | 68 65 78 20 6e 75 6d 62 |e-digit |hex numb|
|00001fd0| 65 72 2e 0d 52 bc 34 f4 | 20 2a 20 4f 55 54 20 20 |er..R.4.| * OUT |
|00001fe0| 20 2d 31 20 69 66 20 6f | 62 6a 65 63 74 20 64 6f | -1 if o|bject do|
|00001ff0| 65 73 20 6e 6f 74 20 48 | 41 56 45 20 61 20 66 69 |es not H|AVE a fi|
|00002000| 6c 65 20 74 79 70 65 0d | 52 c6 27 f4 20 2a 20 20 |le type.|R.'. * |
|00002010| 20 20 20 20 20 65 6c 73 | 65 20 66 69 6c 65 20 74 | els|e file t|
|00002020| 79 70 65 20 5b 30 2c 20 | 26 46 46 46 5d 2e 0d 52 |ype [0, |&FFF]..R|
|00002030| d0 1d dd 20 a4 5f 66 69 | 6c 65 5f 6f 62 6a 65 63 |... ._fi|le_objec|
|00002040| 74 5f 66 69 6c 65 5f 74 | 79 70 65 0d 52 da 0d ea |t_file_t|ype.R...|
|00002050| 20 72 65 73 75 6c 74 25 | 0d 52 e4 07 ea 20 85 0d | result%|.R... ..|
|00002060| 52 ee 3b ee 20 85 20 ea | 20 f7 20 85 20 20 3a 20 |R.;. . .| . . : |
|00002070| 20 f2 5f 65 28 20 22 25 | 2e 66 69 6c 65 5f 69 6f | ._e( "%|.file_io|
|00002080| 3a 20 66 69 6c 65 5f 6f | 62 6a 65 63 74 5f 66 69 |: file_o|bject_fi|
|00002090| 6c 65 5f 74 79 70 65 22 | 20 29 0d 52 f8 2b 20 20 |le_type"| ).R.+ |
|000020a0| 20 72 65 73 75 6c 74 25 | 20 3d 20 a4 5f 66 69 6c | result%| = ._fil|
|000020b0| 65 5f 6f 62 6a 65 63 74 | 5f 6c 6f 61 64 5f 61 64 |e_object|_load_ad|
|000020c0| 64 72 65 73 73 0d 53 02 | 28 20 20 20 e7 20 28 72 |dress.S.|( . (r|
|000020d0| 65 73 75 6c 74 25 20 80 | 20 26 46 46 46 30 30 30 |esult% .| &FFF000|
|000020e0| 30 30 29 3d 26 46 46 46 | 30 30 30 30 30 0d 53 0c |00)=&FFF|00000.S.|
|000020f0| 3d 20 20 20 20 20 20 72 | 65 73 75 6c 74 25 20 3d |= r|esult% =|
|00002100| 20 28 72 65 73 75 6c 74 | 25 20 80 20 26 30 30 30 | (result|% . &000|
|00002110| 46 46 46 30 30 29 20 3e | 3e 20 38 20 20 3a 20 20 |FFF00) >|> 8 : |
|00002120| f4 20 20 52 65 73 75 6c | 74 2e 0d 53 16 08 20 20 |. Resul|t..S.. |
|00002130| 20 cc 0d 53 20 44 20 20 | 20 20 20 20 72 65 73 75 | ..S D | resu|
|00002140| 6c 74 25 20 3d 20 2d 31 | 20 20 3a 20 20 f4 20 20 |lt% = -1| : . |
|00002150| 46 6c 61 67 20 6f 62 6a | 65 63 74 20 64 6f 65 73 |Flag obj|ect does|
|00002160| 20 6e 6f 74 20 48 41 56 | 45 20 61 20 66 69 6c 65 | not HAV|E a file|
|00002170| 20 74 79 70 65 2e 0d 53 | 2a 08 20 20 20 cd 0d 53 | type..S|*. ..S|
|00002180| 34 0d 3d 20 72 65 73 75 | 6c 74 25 0d 53 3e 05 3a |4.= resu|lt%.S>.:|
|00002190| 0d 53 48 4b f4 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.SHK. **|********|
|000021a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 53 52 46 f4 |********|***.SRF.|
|000021e0| 20 2a 20 47 65 74 20 74 | 68 65 20 74 69 6d 65 20 | * Get t|he time |
|000021f0| 74 68 61 74 20 61 20 66 | 69 6c 65 20 77 61 73 20 |that a f|ile was |
|00002200| 6c 61 73 74 20 77 72 69 | 74 74 65 6e 20 74 6f 20 |last wri|tten to |
|00002210| 2d 20 69 6e 20 63 65 6e | 74 69 73 65 63 6f 6e 64 |- in cen|tisecond|
|00002220| 73 0d 53 5c 4a f4 20 2a | 20 66 72 6f 6d 20 30 30 |s.S\J. *| from 00|
|00002230| 3a 30 30 3a 30 30 20 30 | 31 2e 30 31 2e 31 39 30 |:00:00 0|1.01.190|
|00002240| 30 20 2d 20 74 68 69 73 | 20 69 73 20 61 20 34 30 |0 - this| is a 40|
|00002250| 2d 62 69 74 20 6e 75 6d | 62 65 72 21 20 20 45 76 |-bit num|ber! Ev|
|00002260| 65 6e 20 73 6f 2c 20 77 | 69 6c 6c 0d 53 66 28 f4 |en so, w|ill.Sf(.|
|00002270| 20 2a 20 28 6f 6e 6c 79 | 29 20 63 6f 70 65 20 75 | * (only|) cope u|
|00002280| 70 20 74 6f 20 74 68 65 | 20 79 65 61 72 20 32 32 |p to the| year 22|
|00002290| 34 38 2e 0d 53 70 31 f4 | 20 2a 20 4f 55 54 20 20 |48..Sp1.| * OUT |
|000022a0| 20 54 52 55 45 20 69 66 | 20 6f 62 6a 65 63 74 20 | TRUE if| object |
|000022b0| 64 6f 65 73 20 6e 6f 74 | 20 48 41 56 45 20 61 20 |does not| HAVE a |
|000022c0| 74 69 6d 65 0d 53 7a 22 | f4 20 2a 20 20 20 20 20 |time.Sz"|. * |
|000022d0| 20 20 46 41 4c 53 45 20 | 6f 74 68 65 72 77 69 73 | FALSE |otherwis|
|000022e0| 65 2c 20 61 6e 64 0d 53 | 84 38 f4 20 2a 20 20 20 |e, and.S|.8. * |
|000022f0| 20 20 20 20 20 20 20 20 | 74 69 6d 65 5f 6c 6f 25 | |time_lo%|
|00002300| 20 3c 2d 2d 20 6c 6f 77 | 20 6f 72 64 65 72 20 33 | <-- low| order 3|
|00002310| 32 2d 62 69 74 73 20 6f | 66 20 74 69 6d 65 0d 53 |2-bits o|f time.S|
|00002320| 8e 38 f4 20 2a 20 20 20 | 20 20 20 20 20 20 20 20 |.8. * | |
|00002330| 74 69 6d 65 5f 68 69 25 | 20 3c 2d 2d 20 68 69 67 |time_hi%| <-- hig|
|00002340| 68 20 6f 72 64 65 72 20 | 38 2d 62 69 74 73 20 6f |h order |8-bits o|
|00002350| 66 20 74 69 6d 65 0d 53 | 98 37 dd 20 a4 5f 66 69 |f time.S|.7. ._fi|
|00002360| 6c 65 5f 6f 62 6a 65 63 | 74 5f 66 69 6c 65 5f 74 |le_objec|t_file_t|
|00002370| 69 6d 65 28 20 f8 20 74 | 69 6d 65 5f 6c 6f 25 2c |ime( . t|ime_lo%,|
|00002380| 20 f8 20 74 69 6d 65 5f | 68 69 25 20 29 0d 53 a2 | . time_|hi% ).S.|
|00002390| 0d ea 20 72 65 73 75 6c | 74 25 0d 53 ac 07 ea 20 |.. resul|t%.S... |
|000023a0| 85 0d 53 b6 3b ee 20 85 | 20 ea 20 f7 20 85 20 20 |..S.;. .| . . . |
|000023b0| 3a 20 20 f2 5f 65 28 20 | 22 25 2e 66 69 6c 65 5f |: ._e( |"%.file_|
|000023c0| 69 6f 3a 20 66 69 6c 65 | 5f 6f 62 6a 65 63 74 5f |io: file|_object_|
|000023d0| 66 69 6c 65 5f 74 69 6d | 65 22 20 29 0d 53 c0 2b |file_tim|e" ).S.+|
|000023e0| 20 20 20 72 65 73 75 6c | 74 25 20 3d 20 a4 5f 66 | resul|t% = ._f|
|000023f0| 69 6c 65 5f 6f 62 6a 65 | 63 74 5f 6c 6f 61 64 5f |ile_obje|ct_load_|
|00002400| 61 64 64 72 65 73 73 0d | 53 ca 28 20 20 20 e7 20 |address.|S.( . |
|00002410| 28 72 65 73 75 6c 74 25 | 20 80 20 26 46 46 46 30 |(result%| . &FFF0|
|00002420| 30 30 30 30 29 3d 26 46 | 46 46 30 30 30 30 30 0d |0000)=&F|FF00000.|
|00002430| 53 d4 28 20 20 20 20 20 | 20 74 69 6d 65 5f 68 69 |S.( | time_hi|
|00002440| 25 20 3d 20 72 65 73 75 | 6c 74 25 20 80 20 26 30 |% = resu|lt% . &0|
|00002450| 30 30 30 30 30 46 46 0d | 53 de 32 20 20 20 20 20 |00000FF.|S.2 |
|00002460| 20 74 69 6d 65 5f 6c 6f | 25 20 3d 20 a4 5f 66 69 | time_lo|% = ._fi|
|00002470| 6c 65 5f 6f 62 6a 65 63 | 74 5f 65 78 65 63 75 74 |le_objec|t_execut|
|00002480| 65 5f 61 64 64 72 65 73 | 73 0d 53 e8 26 20 20 20 |e_addres|s.S.& |
|00002490| 20 20 20 72 65 73 75 6c | 74 25 20 20 3d 20 a3 20 | resul|t% = . |
|000024a0| 20 3a 20 20 f4 20 20 46 | 6c 61 67 20 4f 4b 2e 0d | : . F|lag OK..|
|000024b0| 53 f2 08 20 20 20 cc 0d | 53 fc 40 20 20 20 20 20 |S.. ..|S.@ |
|000024c0| 20 72 65 73 75 6c 74 25 | 20 3d 20 b9 20 20 20 20 | result%| = . |
|000024d0| 3a 20 20 f4 20 20 46 6c | 61 67 20 6f 62 6a 65 63 |: . Fl|ag objec|
|000024e0| 74 20 64 6f 65 73 20 6e | 6f 74 20 48 41 56 45 20 |t does n|ot HAVE |
|000024f0| 61 20 74 69 6d 65 2e 0d | 54 06 08 20 20 20 cd 0d |a time..|T.. ..|
|00002500| 54 10 0d 3d 20 72 65 73 | 75 6c 74 25 0d 54 1a 05 |T..= res|ult%.T..|
|00002510| 3a 0d 54 24 4b f4 20 2a | 2a 2a 2a 2a 2a 2a 2a 2a |:.T$K. *|********|
|00002520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 54 2e 3f |********|****.T.?|
|00002560| f4 20 2a 20 54 68 69 73 | 20 70 65 72 66 6f 72 6d |. * This| perform|
|00002570| 73 20 61 20 6e 6f 74 69 | 6f 6e 61 6c 20 73 75 62 |s a noti|onal sub|
|00002580| 74 72 61 63 74 69 6f 6e | 20 6f 66 20 74 77 6f 20 |traction| of two |
|00002590| 66 69 6c 65 20 74 69 6d | 65 73 2e 0d 54 38 17 f4 |file tim|es..T8..|
|000025a0| 20 2a 20 4f 55 54 20 20 | 20 28 61 29 20 2d 20 28 | * OUT | (a) - (|
|000025b0| 62 29 0d 54 42 4a f4 20 | 2a 20 4e 42 20 20 20 20 |b).TBJ. |* NB |
|000025c0| 42 65 63 75 61 73 65 20 | 6c 6f 77 2d 6f 72 64 65 |Becuase |low-orde|
|000025d0| 72 20 33 32 2d 62 69 74 | 73 20 61 72 65 20 75 6e |r 32-bit|s are un|
|000025e0| 73 69 67 6e 65 64 2c 20 | 6e 65 65 64 20 74 6f 20 |signed, |need to |
|000025f0| 74 61 6b 65 20 73 70 65 | 63 69 61 6c 0d 54 4c 13 |take spe|cial.TL.|
|00002600| f4 20 2a 20 20 20 20 20 | 20 20 63 61 72 65 2e 0d |. * | care..|
|00002610| 54 56 34 dd 20 a4 5f 66 | 69 6c 65 5f 74 69 6d 65 |TV4. ._f|ile_time|
|00002620| 5f 63 6d 70 28 20 6c 6f | 5f 61 25 2c 20 68 69 5f |_cmp( lo|_a%, hi_|
|00002630| 61 25 2c 20 20 6c 6f 5f | 62 25 2c 20 68 69 5f 62 |a%, lo_|b%, hi_b|
|00002640| 25 20 29 0d 54 60 0d ea | 20 72 65 73 75 6c 74 25 |% ).T`..| result%|
|00002650| 0d 54 6a 07 ea 20 85 0d | 54 74 33 ee 20 85 20 ea |.Tj.. ..|Tt3. . .|
|00002660| 20 f7 20 85 20 20 3a 20 | 20 f2 5f 65 28 20 22 25 | . . : | ._e( "%|
|00002670| 2e 66 69 6c 65 5f 69 6f | 3a 20 66 69 6c 65 5f 74 |.file_io|: file_t|
|00002680| 69 6d 65 5f 63 6d 70 22 | 20 29 0d 54 7e 21 20 20 |ime_cmp"| ).T~! |
|00002690| 20 72 65 73 75 6c 74 25 | 20 3d 20 b4 28 68 69 5f | result%| = .(hi_|
|000026a0| 61 25 20 2d 20 68 69 5f | 62 25 29 0d 54 88 14 20 |a% - hi_|b%).T.. |
|000026b0| 20 20 e7 20 72 65 73 75 | 6c 74 25 3d 30 20 8c 0d | . resu|lt%=0 ..|
|000026c0| 54 92 34 20 20 20 20 20 | 20 72 65 73 75 6c 74 25 |T.4 | result%|
|000026d0| 20 3d 20 b4 28 28 6c 6f | 5f 61 25 20 3e 3e 3e 20 | = .((lo|_a% >>> |
|000026e0| 31 29 20 2d 20 28 6c 6f | 5f 62 25 20 3e 3e 3e 20 |1) - (lo|_b% >>> |
|000026f0| 31 29 29 0d 54 9c 17 20 | 20 20 20 20 20 e7 20 72 |1)).T.. | . r|
|00002700| 65 73 75 6c 74 25 3d 30 | 20 8c 0d 54 a6 34 20 20 |esult%=0| ..T.4 |
|00002710| 20 20 20 20 20 20 20 20 | 72 65 73 75 6c 74 25 20 | |result% |
|00002720| 3d 20 b4 28 28 6c 6f 5f | 61 25 20 80 20 31 29 20 |= .((lo_|a% . 1) |
|00002730| 2d 20 28 6c 6f 5f 62 25 | 20 80 20 31 29 29 0d 54 |- (lo_b%| . 1)).T|
|00002740| b0 0b 20 20 20 20 20 20 | cd 0d 54 ba 08 20 20 20 |.. |..T.. |
|00002750| cd 0d 54 c4 0d 3d 20 72 | 65 73 75 6c 74 25 0d 54 |..T..= r|esult%.T|
|00002760| ce 05 3a 0d ff | |..:.. | |
+--------+-------------------------+-------------------------+--------+--------+