home *** CD-ROM | disk | FTP | other *** search
/ Mac Power 1997 January / macpower199701.bin / AMUG / Programming_10 / Videotoolbox 96-08-22-c.sit / VideoToolbox / VideoToolboxSources / FlushCacheRange.c < prev    next >
MacBinary  |  1995-01-05  |  8.6 KB  |  [TEXT/CWIE]

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: FlushCacheRange.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Thu Jan 5 03:59:33 1995, modified Thu Jan 5 03:59:33 1995, creator 'CWIE', type ASCII, 8165 bytes "FlushCacheRange.c" , at 0x2065 452 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 11 46 6c 75 73 68 43 | 61 63 68 65 52 61 6e 67 |..FlushC|acheRang|
|00000010| 65 2e 63 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |e.c.....|........|
|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 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 1f e5 00 | 00 01 c4 ab 31 65 75 ab |........|....1eu.|
|00000060| 31 65 75 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |1eu.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 44 87 00 00 |........|....D...|
|00000080| 2f 2a 0d 46 6c 75 73 68 | 43 61 63 68 65 52 61 6e |/*.Flush|CacheRan|
|00000090| 67 65 2e 63 0d 41 20 6d | 61 63 68 69 6e 65 2d 20 |ge.c.A m|achine- |
|000000a0| 61 6e 64 20 73 79 73 74 | 65 6d 2d 69 6e 64 65 70 |and syst|em-indep|
|000000b0| 65 6e 64 65 6e 74 20 63 | 61 63 68 65 20 66 6c 75 |endent c|ache flu|
|000000c0| 73 68 20 72 6f 75 74 69 | 6e 65 2e 0d 0d 42 65 67 |sh routi|ne...Beg|
|000000d0| 69 6e 6e 69 6e 67 20 77 | 69 74 68 20 74 68 65 20 |inning w|ith the |
|000000e0| 4d 61 63 69 6e 74 6f 73 | 68 20 49 49 2c 20 64 65 |Macintos|h II, de|
|000000f0| 76 65 6c 6f 70 65 72 73 | 20 77 65 72 65 20 66 61 |velopers| were fa|
|00000100| 63 65 64 20 77 69 74 68 | 20 73 69 74 75 61 74 69 |ced with| situati|
|00000110| 6f 6e 73 20 77 68 65 72 | 65 0d 69 6e 73 74 72 75 |ons wher|e.instru|
|00000120| 63 74 69 6f 6e 20 61 6e | 64 2f 6f 72 20 64 61 74 |ction an|d/or dat|
|00000130| 61 20 63 61 63 68 65 73 | 20 6e 65 65 64 65 64 20 |a caches| needed |
|00000140| 74 6f 20 62 65 20 66 6c | 75 73 68 65 64 20 66 6f |to be fl|ushed fo|
|00000150| 72 20 63 6f 64 65 20 74 | 6f 20 65 78 65 63 75 74 |r code t|o execut|
|00000160| 65 0d 63 6f 72 72 65 63 | 74 6c 79 2e 20 20 55 6e |e.correc|tly. Un|
|00000170| 66 6f 72 74 75 6e 61 74 | 65 6c 79 2c 20 64 65 73 |fortunat|ely, des|
|00000180| 70 69 74 65 20 72 65 63 | 65 6e 74 20 69 6d 70 72 |pite rec|ent impr|
|00000190| 6f 76 65 6d 65 6e 74 73 | 20 28 69 2e 65 2e 20 5f |ovements| (i.e. _|
|000001a0| 48 57 50 72 69 76 2c 20 | 73 65 65 20 54 65 63 68 |HWPriv, |see Tech|
|000001b0| 0d 4e 6f 74 65 20 23 32 | 36 31 29 2c 20 63 61 63 |.Note #2|61), cac|
|000001c0| 68 65 20 66 6c 75 73 68 | 69 6e 67 20 72 65 6d 61 |he flush|ing rema|
|000001d0| 69 6e 73 20 68 69 67 68 | 6c 79 20 43 50 55 2d 20 |ins high|ly CPU- |
|000001e0| 61 6e 64 20 73 79 73 74 | 65 6d 2d 73 70 65 63 69 |and syst|em-speci|
|000001f0| 66 69 63 20 61 6e 64 20 | 64 65 76 65 6c 6f 70 65 |fic and |develope|
|00000200| 72 73 0d 68 61 76 65 20 | 68 61 64 20 64 69 66 66 |rs.have |had diff|
|00000210| 69 63 75 6c 74 79 20 64 | 6f 69 6e 67 20 69 74 20 |iculty d|oing it |
|00000220| 69 6e 20 61 20 77 61 79 | 20 74 68 61 74 20 65 6e |in a way| that en|
|00000230| 73 75 72 65 73 20 62 6f | 74 68 20 66 6f 72 77 61 |sures bo|th forwa|
|00000240| 72 64 20 61 6e 64 20 62 | 61 63 6b 77 61 72 64 0d |rd and b|ackward.|
|00000250| 63 6f 6d 70 61 74 69 62 | 69 6c 69 74 79 2e 20 20 |compatib|ility. |
|00000260| 20 46 6c 75 73 68 43 61 | 63 68 65 52 61 6e 67 65 | FlushCa|cheRange|
|00000270| 2e 63 20 63 6f 6e 74 61 | 69 6e 73 20 61 20 73 69 |.c conta|ins a si|
|00000280| 6e 67 6c 65 20 66 75 6e | 63 74 69 6f 6e 20 63 61 |ngle fun|ction ca|
|00000290| 6c 6c 20 74 68 61 74 20 | 77 69 6c 6c 20 77 6f 72 |ll that |will wor|
|000002a0| 6b 20 61 63 72 6f 73 73 | 0d 61 6c 6c 20 70 6c 61 |k across|.all pla|
|000002b0| 74 66 6f 72 6d 73 2c 20 | 79 65 74 20 73 74 69 6c |tforms, |yet stil|
|000002c0| 6c 20 70 72 6f 76 69 64 | 65 73 20 61 63 63 65 73 |l provid|es acces|
|000002d0| 73 20 74 6f 20 73 75 63 | 68 20 61 64 76 61 6e 63 |s to suc|h advanc|
|000002e0| 65 64 20 4d 43 36 38 30 | 34 30 20 66 65 61 74 75 |ed MC680|40 featu|
|000002f0| 72 65 73 20 61 73 0d 73 | 65 6c 65 63 74 69 76 65 |res as.s|elective|
|00000300| 20 63 61 63 68 65 20 72 | 61 6e 67 65 20 66 6c 75 | cache r|ange flu|
|00000310| 73 68 69 6e 67 2e 0d 0d | 44 61 76 65 20 52 61 64 |shing...|Dave Rad|
|00000320| 63 6c 69 66 66 65 20 41 | 70 70 6c 65 20 44 54 53 |cliffe A|pple DTS|
|00000330| 20 4a 61 6e 75 61 72 79 | 2c 20 31 39 39 32 0d 0d | January|, 1992..|
|00000340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 48 49 53 |********|****.HIS|
|00000390| 54 4f 52 59 3a 0d 37 2f | 39 32 20 64 67 70 20 54 |TORY:.7/|92 dgp T|
|000003a0| 68 69 73 20 72 6f 75 74 | 69 6e 65 20 77 61 73 20 |his rout|ine was |
|000003b0| 64 69 73 74 72 69 62 75 | 74 65 64 20 62 79 20 41 |distribu|ted by A|
|000003c0| 70 70 6c 65 20 6f 6e 20 | 74 68 65 69 72 20 44 65 |pple on |their De|
|000003d0| 76 65 6c 6f 70 65 72 20 | 44 69 73 6b 20 66 6f 72 |veloper |Disk for|
|000003e0| 20 4d 61 79 2c 20 31 39 | 39 32 2e 0d 49 20 63 68 | May, 19|92..I ch|
|000003f0| 61 6e 67 65 64 20 74 68 | 65 20 6e 61 6d 65 20 6f |anged th|e name o|
|00000400| 66 20 74 68 65 20 66 69 | 6c 65 20 66 72 6f 6d 20 |f the fi|le from |
|00000410| 43 61 63 68 65 2e 63 20 | 74 6f 20 46 6c 75 73 68 |Cache.c |to Flush|
|00000420| 43 61 63 68 65 52 61 6e | 67 65 2e 63 2c 20 74 6f |CacheRan|ge.c, to|
|00000430| 20 6d 61 74 63 68 20 74 | 68 65 0d 6e 61 6d 65 20 | match t|he.name |
|00000440| 6f 66 20 74 68 65 20 72 | 6f 75 74 69 6e 65 20 69 |of the r|outine i|
|00000450| 74 73 65 6c 66 2c 20 6d | 6f 76 65 64 20 74 68 65 |tself, m|oved the|
|00000460| 20 70 72 6f 74 6f 74 79 | 70 65 20 66 72 6f 6d 20 | prototy|pe from |
|00000470| 43 61 63 68 65 2e 68 20 | 74 6f 20 56 69 64 65 6f |Cache.h |to Video|
|00000480| 54 6f 6f 6c 62 6f 78 2e | 68 2c 0d 61 6e 64 20 70 |Toolbox.|h,.and p|
|00000490| 61 73 74 65 64 20 74 68 | 65 20 63 6f 6e 74 65 6e |asted th|e conten|
|000004a0| 74 73 20 6f 66 20 74 68 | 65 20 22 41 62 6f 75 74 |ts of th|e "About|
|000004b0| 2e 2e 2e 22 20 66 69 6c | 65 20 61 62 6f 76 65 2e |..." fil|e above.|
|000004c0| 20 4f 74 68 65 72 77 69 | 73 65 20 74 68 65 20 66 | Otherwi|se the f|
|000004d0| 69 6c 65 20 69 73 20 75 | 6e 63 68 61 6e 67 65 64 |ile is u|nchanged|
|000004e0| 2e 0d 0d 35 2f 32 38 2f | 39 34 20 64 67 70 20 43 |...5/28/|94 dgp C|
|000004f0| 68 61 6e 67 65 64 20 74 | 68 65 20 74 79 70 65 20 |hanged t|he type |
|00000500| 6f 66 20 75 6e 69 6d 70 | 54 72 61 70 41 64 64 72 |of unimp|TrapAddr|
|00000510| 65 73 73 20 66 72 6f 6d | 20 6c 6f 6e 67 20 74 6f |ess from| long to|
|00000520| 0d 22 55 6e 69 76 65 72 | 73 61 6c 50 72 6f 63 50 |."Univer|salProcP|
|00000530| 74 72 22 20 69 6e 20 6f | 72 64 65 72 20 74 6f 20 |tr" in o|rder to |
|00000540| 6d 61 6b 65 20 74 68 69 | 73 20 66 69 6c 65 20 63 |make thi|s file c|
|00000550| 6f 6d 70 61 74 69 62 6c | 65 20 77 69 74 68 20 41 |ompatibl|e with A|
|00000560| 70 70 6c 65 27 73 20 55 | 6e 69 76 65 72 73 61 6c |pple's U|niversal|
|00000570| 20 48 65 61 64 65 72 73 | 2e 0d 0d 31 2f 35 2f 39 | Headers|...1/5/9|
|00000580| 35 20 64 67 70 20 4d 61 | 64 65 20 63 6f 6d 70 61 |5 dgp Ma|de compa|
|00000590| 74 69 62 6c 65 20 77 69 | 74 68 20 55 6e 69 76 65 |tible wi|th Unive|
|000005a0| 72 73 61 6c 20 48 65 61 | 64 65 72 73 20 76 65 72 |rsal Hea|ders ver|
|000005b0| 73 69 6f 6e 20 32 2e 0d | 4e 4f 54 45 3a 20 66 6f |sion 2..|NOTE: fo|
|000005c0| 72 6d 65 72 6c 79 20 46 | 6c 75 73 68 43 6f 64 65 |rmerly F|lushCode|
|000005d0| 43 61 63 68 65 52 61 6e | 67 65 28 29 20 72 65 74 |CacheRan|ge() ret|
|000005e0| 75 72 6e 65 64 20 61 6e | 20 4f 53 45 72 72 20 76 |urned an| OSErr v|
|000005f0| 61 6c 75 65 2c 20 61 6e | 64 20 46 6c 75 73 68 49 |alue, an|d FlushI|
|00000600| 6e 73 74 72 75 63 74 69 | 6f 6e 43 61 63 68 65 0d |nstructi|onCache.|
|00000610| 77 61 73 20 63 61 6c 6c | 65 64 20 69 66 20 46 6c |was call|ed if Fl|
|00000620| 75 73 68 43 6f 64 65 43 | 61 63 68 65 52 61 6e 67 |ushCodeC|acheRang|
|00000630| 65 20 66 61 69 6c 65 64 | 2e 20 48 6f 77 65 76 65 |e failed|. Howeve|
|00000640| 72 2c 20 41 70 70 6c 65 | 27 73 20 76 65 72 73 69 |r, Apple|'s versi|
|00000650| 6f 6e 20 32 20 55 6e 69 | 76 65 72 73 61 6c 20 48 |on 2 Uni|versal H|
|00000660| 65 61 64 65 72 73 0d 64 | 65 63 6c 61 72 65 20 46 |eaders.d|eclare F|
|00000670| 6c 75 73 68 43 6f 64 65 | 43 61 63 68 65 52 61 6e |lushCode|CacheRan|
|00000680| 67 65 20 77 69 74 68 20 | 6e 6f 20 72 65 74 75 72 |ge with |no retur|
|00000690| 6e 20 76 61 6c 75 65 2c | 20 73 6f 20 77 65 20 63 |n value,| so we c|
|000006a0| 61 6e 27 74 20 63 68 65 | 63 6b 20 74 6f 20 73 65 |an't che|ck to se|
|000006b0| 65 20 69 66 20 69 74 0d | 66 61 69 6c 65 64 2e 20 |e if it.|failed. |
|000006c0| 49 20 68 61 76 65 6e 27 | 74 20 6c 6f 6f 6b 65 64 |I haven'|t looked|
|000006d0| 20 69 6e 74 6f 20 41 70 | 70 6c 65 27 73 20 64 6f | into Ap|ple's do|
|000006e0| 63 75 6d 65 6e 74 61 74 | 69 6f 6e 20 74 6f 20 73 |cumentat|ion to s|
|000006f0| 65 65 20 69 66 20 74 68 | 65 72 65 27 73 20 61 6e |ee if th|ere's an|
|00000700| 6f 74 68 65 72 20 77 61 | 79 0d 74 6f 20 63 68 65 |other wa|y.to che|
|00000710| 63 6b 20 66 6f 72 20 66 | 61 69 6c 75 72 65 2e 20 |ck for f|ailure. |
|00000720| 0d 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..******|********|
|00000730| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000740| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 20 |********|******. |
|00000770| 2a 0d 20 2a 09 43 61 63 | 68 65 20 63 6f 6e 74 72 |*. *.Cac|he contr|
|00000780| 6f 6c 20 69 73 20 61 20 | 68 69 67 68 6c 79 20 43 |ol is a |highly C|
|00000790| 50 55 20 73 70 65 63 69 | 66 69 63 20 66 75 6e 63 |PU speci|fic func|
|000007a0| 74 69 6f 6e 2e 20 20 41 | 6c 74 68 6f 75 67 68 20 |tion. A|lthough |
|000007b0| 73 6f 6d 65 20 73 79 73 | 74 65 6d 20 69 6e 64 65 |some sys|tem inde|
|000007c0| 70 65 6e 64 65 6e 63 65 | 0d 20 2a 09 69 73 20 61 |pendence|. *.is a|
|000007d0| 63 68 69 65 76 65 64 20 | 76 69 61 20 75 73 65 20 |chieved |via use |
|000007e0| 6f 66 20 74 68 65 20 5f | 48 57 50 72 69 76 20 74 |of the _|HWPriv t|
|000007f0| 72 61 70 2c 20 74 68 69 | 73 20 73 6f 6c 75 74 69 |rap, thi|s soluti|
|00000800| 6f 6e 20 6d 61 79 20 6e | 6f 74 20 62 65 20 67 65 |on may n|ot be ge|
|00000810| 6e 65 72 61 6c 20 66 6f | 72 20 61 6c 6c 0d 20 2a |neral fo|r all. *|
|00000820| 09 68 61 72 64 77 61 72 | 65 2f 73 79 73 74 65 6d |.hardwar|e/system|
|00000830| 20 73 6f 66 74 77 61 72 | 65 20 63 6f 6d 62 69 6e | softwar|e combin|
|00000840| 61 74 69 6f 6e 73 2e 20 | 20 46 6c 75 73 68 43 61 |ations. | FlushCa|
|00000850| 63 68 65 52 61 6e 67 65 | 20 73 68 6f 75 6c 64 20 |cheRange| should |
|00000860| 73 6f 6c 76 65 20 74 68 | 61 74 20 66 6f 72 0d 20 |solve th|at for. |
|00000870| 2a 09 64 65 76 65 6c 6f | 70 65 72 73 20 62 79 20 |*.develo|pers by |
|00000880| 77 6f 72 6b 69 6e 67 20 | 6f 6e 20 61 6c 6c 20 73 |working |on all s|
|00000890| 79 73 74 65 6d 73 2e 0d | 20 2a 09 0d 20 2a 09 57 |ystems..| *.. *.W|
|000008a0| 72 69 74 74 65 6e 20 62 | 79 3a 09 44 61 76 65 20 |ritten b|y:.Dave |
|000008b0| 52 61 64 63 6c 69 66 66 | 65 0d 20 2a 0d 20 2a 09 |Radcliff|e. *. *.|
|000008c0| 43 6f 70 79 72 69 67 68 | 74 3a 09 a9 20 31 39 39 |Copyrigh|t:.. 199|
|000008d0| 31 20 62 79 20 41 70 70 | 6c 65 20 43 6f 6d 70 75 |1 by App|le Compu|
|000008e0| 74 65 72 2c 20 49 6e 63 | 2e 2c 20 61 6c 6c 20 72 |ter, Inc|., all r|
|000008f0| 69 67 68 74 73 20 72 65 | 73 65 72 76 65 64 2e 0d |ights re|served..|
|00000900| 20 2a 0d 20 2a 09 43 68 | 61 6e 67 65 20 48 69 73 | *. *.Ch|ange His|
|00000910| 74 6f 72 79 3a 0d 20 2a | 0d 20 2a 09 09 31 2f 32 |tory:. *|. *..1/2|
|00000920| 30 2f 39 32 09 09 44 52 | 09 09 41 64 64 65 64 20 |0/92..DR|..Added |
|00000930| 53 79 73 74 65 6d 36 30 | 33 4f 72 4c 61 74 65 72 |System60|3OrLater|
|00000940| 20 63 6f 6e 64 69 74 69 | 6f 6e 61 6c 20 63 6f 64 | conditi|onal cod|
|00000950| 65 0d 20 2a 09 09 31 2f | 31 30 2f 39 32 09 09 44 |e. *..1/|10/92..D|
|00000960| 52 09 09 41 64 64 65 64 | 20 46 6c 75 73 68 43 61 |R..Added| FlushCa|
|00000970| 63 68 65 57 69 74 68 43 | 50 75 73 68 41 28 29 0d |cheWithC|PushA().|
|00000980| 20 2a 09 09 31 32 2f 31 | 38 2f 39 31 09 44 52 09 | *..12/1|8/91.DR.|
|00000990| 09 4e 65 77 20 74 6f 64 | 61 79 0d 20 2a 0d 20 2a |.New tod|ay. *. *|
|000009a0| 2f 0d 23 69 66 20 5f 5f | 70 6f 77 65 72 63 0d 09 |/.#if __|powerc..|
|000009b0| 23 65 72 72 6f 72 20 22 | 54 68 69 73 20 66 69 6c |#error "|This fil|
|000009c0| 65 20 63 61 6e 6e 6f 74 | 20 79 65 74 20 62 65 20 |e cannot| yet be |
|000009d0| 63 6f 6d 70 69 6c 65 64 | 20 61 73 20 50 6f 77 65 |compiled| as Powe|
|000009e0| 72 50 43 20 6e 61 74 69 | 76 65 20 63 6f 64 65 2e |rPC nati|ve code.|
|000009f0| 22 0d 23 65 6c 73 65 0d | 0d 23 69 6e 63 6c 75 64 |".#else.|.#includ|
|00000a00| 65 20 22 56 69 64 65 6f | 54 6f 6f 6c 62 6f 78 2e |e "Video|Toolbox.|
|00000a10| 68 22 09 2f 2a 20 66 6f | 72 20 70 72 6f 74 6f 74 |h"./* fo|r protot|
|00000a20| 79 70 65 20 6f 66 20 46 | 6c 75 73 68 43 61 63 68 |ype of F|lushCach|
|00000a30| 65 52 61 6e 67 65 20 2a | 2f 0d 0d 23 69 66 6e 64 |eRange *|/..#ifnd|
|00000a40| 65 66 20 5f 5f 54 59 50 | 45 53 5f 5f 0d 23 69 6e |ef __TYP|ES__.#in|
|00000a50| 63 6c 75 64 65 20 3c 54 | 79 70 65 73 2e 68 3e 0d |clude <T|ypes.h>.|
|00000a60| 23 65 6e 64 69 66 0d 0d | 23 69 66 6e 64 65 66 20 |#endif..|#ifndef |
|00000a70| 5f 5f 54 52 41 50 53 5f | 5f 0d 23 69 6e 63 6c 75 |__TRAPS_|_.#inclu|
|00000a80| 64 65 20 3c 54 72 61 70 | 73 2e 68 3e 0d 23 65 6e |de <Trap|s.h>.#en|
|00000a90| 64 69 66 0d 0d 23 69 66 | 6e 64 65 66 20 5f 5f 4f |dif..#if|ndef __O|
|00000aa0| 53 55 54 49 4c 53 5f 5f | 0d 23 69 6e 63 6c 75 64 |SUTILS__|.#includ|
|00000ab0| 65 20 3c 4f 53 55 74 69 | 6c 73 2e 68 3e 0d 23 65 |e <OSUti|ls.h>.#e|
|00000ac0| 6e 64 69 66 0d 0d 23 69 | 66 6e 64 65 66 20 5f 5f |ndif..#i|fndef __|
|00000ad0| 47 45 53 54 41 4c 54 45 | 51 55 5f 5f 0d 23 69 6e |GESTALTE|QU__.#in|
|00000ae0| 63 6c 75 64 65 20 3c 47 | 65 73 74 61 6c 74 45 71 |clude <G|estaltEq|
|00000af0| 75 2e 68 3e 0d 23 65 6e | 64 69 66 0d 0d 23 69 66 |u.h>.#en|dif..#if|
|00000b00| 6e 64 65 66 20 5f 5f 45 | 52 52 4f 52 53 5f 5f 0d |ndef __E|RRORS__.|
|00000b10| 23 69 6e 63 6c 75 64 65 | 20 3c 45 72 72 6f 72 73 |#include| <Errors|
|00000b20| 2e 68 3e 0d 23 65 6e 64 | 69 66 0d 0d 2f 2a 0d 20 |.h>.#end|if../*. |
|00000b30| 2a 20 49 66 20 79 6f 75 | 20 63 61 6e 20 67 75 61 |* If you| can gua|
|00000b40| 72 61 6e 74 65 65 20 79 | 6f 75 20 61 72 65 20 72 |rantee y|ou are r|
|00000b50| 75 6e 6e 69 6e 67 20 6f | 6e 20 53 79 73 74 65 6d |unning o|n System|
|00000b60| 20 36 2e 30 2e 33 20 6f | 72 20 6c 61 74 65 72 2c | 6.0.3 o|r later,|
|00000b70| 20 74 68 65 6e 20 73 6f | 6d 65 20 6f 66 20 74 68 | then so|me of th|
|00000b80| 65 0d 20 2a 20 61 6c 74 | 65 72 6e 61 74 69 76 65 |e. * alt|ernative|
|00000b90| 20 63 61 63 68 65 20 66 | 6c 75 73 68 69 6e 67 20 | cache f|lushing |
|00000ba0| 63 6f 64 65 20 69 6d 70 | 6c 65 6d 65 6e 74 65 64 |code imp|lemented|
|00000bb0| 20 62 65 6c 6f 77 20 69 | 73 20 75 6e 6e 65 63 65 | below i|s unnece|
|00000bc0| 73 73 61 72 79 20 61 73 | 20 79 6f 75 20 61 72 65 |ssary as| you are|
|00000bd0| 0d 20 2a 20 61 73 73 75 | 72 65 64 20 6f 66 20 68 |. * assu|red of h|
|00000be0| 61 76 69 6e 67 20 74 68 | 65 20 5f 48 57 50 72 69 |aving th|e _HWPri|
|00000bf0| 76 20 74 72 61 70 2e 20 | 20 53 6f 2c 20 69 66 20 |v trap. | So, if |
|00000c00| 79 6f 75 20 61 72 65 20 | 72 75 6e 6e 69 6e 67 20 |you are |running |
|00000c10| 6f 6e 20 53 79 73 74 65 | 6d 20 36 2e 30 2e 33 20 |on Syste|m 6.0.3 |
|00000c20| 6f 72 0d 20 2a 20 6c 61 | 74 65 72 2c 20 75 6e 63 |or. * la|ter, unc|
|00000c30| 6f 6d 6d 65 6e 74 69 6e | 67 20 74 68 65 20 66 6f |ommentin|g the fo|
|00000c40| 6c 6c 6f 77 69 6e 67 20 | 6c 69 6e 65 20 63 61 6e |llowing |line can|
|00000c50| 20 72 65 64 75 63 65 20 | 74 68 69 73 20 63 6f 64 | reduce |this cod|
|00000c60| 65 20 62 79 20 6d 6f 72 | 65 20 74 68 61 6e 20 68 |e by mor|e than h|
|00000c70| 61 6c 66 2e 0d 20 2a 2f | 0d 2f 2a 20 23 64 65 66 |alf.. */|./* #def|
|00000c80| 69 6e 65 20 53 79 73 74 | 65 6d 36 30 33 4f 72 4c |ine Syst|em603OrL|
|00000c90| 61 74 65 72 20 2a 2f 0d | 0d 2f 2a 20 54 68 65 20 |ater */.|./* The |
|00000ca0| 6e 65 78 74 20 74 77 6f | 20 64 65 63 6c 61 72 61 |next two| declara|
|00000cb0| 74 69 6f 6e 73 20 61 72 | 65 20 64 65 66 69 6e 65 |tions ar|e define|
|00000cc0| 64 20 69 6e 20 54 65 63 | 68 20 4e 6f 74 65 20 23 |d in Tec|h Note #|
|00000cd0| 32 36 31 20 2a 2f 0d 23 | 69 66 20 21 64 65 66 69 |261 */.#|if !defi|
|00000ce0| 6e 65 64 28 5f 43 61 63 | 68 65 46 6c 75 73 68 29 |ned(_Cac|heFlush)|
|00000cf0| 0d 09 23 64 65 66 69 6e | 65 20 5f 43 61 63 68 65 |..#defin|e _Cache|
|00000d00| 46 6c 75 73 68 20 30 78 | 41 30 42 44 0d 23 65 6e |Flush 0x|A0BD.#en|
|00000d10| 64 69 66 0d 0d 23 69 66 | 20 55 4e 49 56 45 52 53 |dif..#if| UNIVERS|
|00000d20| 41 4c 5f 48 45 41 44 45 | 52 53 3c 32 0d 2f 2f 20 |AL_HEADE|RS<2.// |
|00000d30| 63 68 61 6e 67 65 64 20 | 62 79 20 64 67 70 20 74 |changed |by dgp t|
|00000d40| 6f 20 63 6f 6e 66 6f 72 | 6d 20 74 6f 20 55 6e 69 |o confor|m to Uni|
|00000d50| 76 65 72 73 61 6c 20 48 | 65 61 64 65 72 73 20 76 |versal H|eaders v|
|00000d60| 65 72 73 69 6f 6e 20 32 | 2e 0d 09 23 70 72 61 67 |ersion 2|...#prag|
|00000d70| 6d 61 20 70 61 72 61 6d | 65 74 65 72 20 46 6c 75 |ma param|eter Flu|
|00000d80| 73 68 43 6f 64 65 43 61 | 63 68 65 52 61 6e 67 65 |shCodeCa|cheRange|
|00000d90| 28 5f 5f 41 30 2c 5f 5f | 41 31 29 0d 09 70 61 73 |(__A0,__|A1)..pas|
|00000da0| 63 61 6c 20 76 6f 69 64 | 20 46 6c 75 73 68 43 6f |cal void| FlushCo|
|00000db0| 64 65 43 61 63 68 65 52 | 61 6e 67 65 20 28 76 6f |deCacheR|ange (vo|
|00000dc0| 69 64 20 2a 61 64 64 72 | 65 73 73 2c 20 75 6e 73 |id *addr|ess, uns|
|00000dd0| 69 67 6e 65 64 20 6c 6f | 6e 67 20 63 6f 75 6e 74 |igned lo|ng count|
|00000de0| 29 20 3d 0d 09 20 20 20 | 20 7b 30 78 37 30 30 39 |) =.. | {0x7009|
|00000df0| 2c 20 30 78 41 30 39 38 | 7d 3b 0d 09 76 6f 69 64 |, 0xA098|};..void|
|00000e00| 20 46 6c 75 73 68 43 6f | 64 65 43 61 63 68 65 20 | FlushCo|deCache |
|00000e10| 28 76 6f 69 64 29 20 3d | 20 5f 43 61 63 68 65 46 |(void) =| _CacheF|
|00000e20| 6c 75 73 68 3b 0d 23 65 | 6e 64 69 66 0d 0d 2f 2a |lush;.#e|ndif../*|
|00000e30| 20 0d 20 2a 20 46 6c 75 | 73 68 43 61 63 68 65 56 | . * Flu|shCacheV|
|00000e40| 69 61 43 41 43 52 20 69 | 73 20 61 6e 20 69 6e 6c |iaCACR i|s an inl|
|00000e50| 69 6e 65 20 61 73 73 65 | 6d 62 6c 79 20 72 6f 75 |ine asse|mbly rou|
|00000e60| 74 69 6e 65 20 74 68 61 | 74 20 66 6c 75 73 68 65 |tine tha|t flushe|
|00000e70| 73 20 62 6f 74 68 20 74 | 68 65 20 0d 20 2a 20 69 |s both t|he . * i|
|00000e80| 6e 73 74 72 75 63 74 69 | 6f 6e 20 61 6e 64 20 64 |nstructi|on and d|
|00000e90| 61 74 61 20 63 61 63 68 | 65 73 20 62 79 20 77 72 |ata cach|es by wr|
|00000ea0| 69 74 69 6e 67 20 64 69 | 72 65 63 74 6c 79 20 74 |iting di|rectly t|
|00000eb0| 6f 20 74 68 65 20 43 41 | 43 52 2e 20 20 55 73 65 |o the CA|CR. Use|
|00000ec0| 64 20 6f 6e 6c 79 0d 20 | 2a 20 61 73 20 61 20 6c |d only. |* as a l|
|00000ed0| 61 73 74 20 72 65 73 6f | 72 74 20 62 79 20 46 6c |ast reso|rt by Fl|
|00000ee0| 75 73 68 43 61 63 68 65 | 52 61 6e 67 65 0d 20 2a |ushCache|Range. *|
|00000ef0| 2f 0d 76 6f 69 64 20 46 | 6c 75 73 68 43 61 63 68 |/.void F|lushCach|
|00000f00| 65 56 69 61 43 41 43 52 | 20 28 20 76 6f 69 64 20 |eViaCACR| ( void |
|00000f10| 29 20 3d 0d 09 7b 20 30 | 78 34 45 37 41 2c 20 30 |) =..{ 0|x4E7A, 0|
|00000f20| 78 30 30 30 32 2c 09 09 | 2f 2a 20 4d 4f 56 45 43 |x0002,..|/* MOVEC|
|00000f30| 09 43 41 43 52 2c 44 30 | 20 2a 2f 0d 09 20 20 30 |.CACR,D0| */.. 0|
|00000f40| 78 30 38 43 30 2c 20 30 | 78 30 30 30 33 2c 09 09 |x08C0, 0|x0003,..|
|00000f50| 2f 2a 20 42 53 45 54 09 | 09 23 33 2c 44 30 20 20 |/* BSET.|.#3,D0 |
|00000f60| 20 2a 2f 0d 09 20 20 30 | 78 34 45 37 42 2c 20 30 | */.. 0|x4E7B, 0|
|00000f70| 78 30 30 30 32 20 7d 3b | 09 09 2f 2a 20 4d 4f 56 |x0002 };|../* MOV|
|00000f80| 45 43 09 44 30 2c 43 41 | 43 52 20 2a 2f 0d 0d 2f |EC.D0,CA|CR */../|
|00000f90| 2a 0d 20 2a 20 46 6c 75 | 73 68 43 61 63 68 65 57 |*. * Flu|shCacheW|
|00000fa0| 69 74 68 43 50 75 73 68 | 41 20 69 73 20 61 6e 6f |ithCPush|A is ano|
|00000fb0| 74 68 65 72 20 69 6e 6c | 69 6e 65 20 61 73 73 65 |ther inl|ine asse|
|00000fc0| 6d 62 6c 79 20 72 6f 75 | 74 69 6e 65 20 74 68 61 |mbly rou|tine tha|
|00000fd0| 74 20 66 6c 75 73 68 65 | 73 20 63 61 63 68 65 73 |t flushe|s caches|
|00000fe0| 0d 20 2a 20 6f 6e 20 74 | 68 65 20 4d 43 36 38 30 |. * on t|he MC680|
|00000ff0| 34 30 20 75 73 69 6e 67 | 20 74 68 65 20 43 50 75 |40 using| the CPu|
|00001000| 73 68 41 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 2e |shA inst|ruction.|
|00001010| 20 20 55 73 65 64 20 6f | 6e 6c 79 20 61 73 20 61 | Used o|nly as a|
|00001020| 20 6c 61 73 74 20 72 65 | 73 6f 72 74 0d 20 2a 20 | last re|sort. * |
|00001030| 62 79 20 46 6c 75 73 68 | 43 61 63 68 65 52 61 6e |by Flush|CacheRan|
|00001040| 67 65 0d 20 2a 2f 0d 76 | 6f 69 64 20 46 6c 75 73 |ge. */.v|oid Flus|
|00001050| 68 43 61 63 68 65 57 69 | 74 68 43 50 75 73 68 41 |hCacheWi|thCPushA|
|00001060| 20 28 20 76 6f 69 64 20 | 29 20 3d 0d 09 7b 20 30 | ( void |) =..{ 0|
|00001070| 78 34 45 37 31 2c 09 09 | 09 09 2f 2a 20 4e 4f 50 |x4E71,..|../* NOP|
|00001080| 2c 20 74 6f 20 63 6c 65 | 61 72 20 70 65 6e 64 69 |, to cle|ar pendi|
|00001090| 6e 67 20 77 72 69 74 65 | 73 20 2a 2f 0d 09 20 20 |ng write|s */.. |
|000010a0| 30 78 46 34 46 38 20 7d | 3b 09 09 09 09 2f 2a 20 |0xF4F8 }|;..../* |
|000010b0| 43 50 55 53 48 41 09 42 | 43 20 2a 2f 0d 09 20 20 |CPUSHA.B|C */.. |
|000010c0| 0d 2f 2a 0d 20 2a 20 46 | 6c 75 73 68 43 61 63 68 |./*. * F|lushCach|
|000010d0| 65 52 61 6e 67 65 20 66 | 6c 75 73 68 65 73 20 62 |eRange f|lushes b|
|000010e0| 6f 74 68 20 74 68 65 20 | 64 61 74 61 20 61 6e 64 |oth the |data and|
|000010f0| 20 69 6e 73 74 72 75 63 | 74 69 6f 6e 20 63 61 63 | instruc|tion cac|
|00001100| 68 65 73 20 66 6f 72 20 | 74 68 65 20 62 6c 6f 63 |hes for |the bloc|
|00001110| 6b 20 6f 66 20 0d 20 2a | 20 6d 65 6d 6f 72 79 20 |k of . *| memory |
|00001120| 73 74 61 72 74 69 6e 67 | 20 61 74 20 6c 6f 63 61 |starting| at loca|
|00001130| 74 69 6f 6e 20 61 64 64 | 72 65 73 73 20 77 69 74 |tion add|ress wit|
|00001140| 68 20 73 69 7a 65 20 63 | 6f 75 6e 74 2e 20 20 46 |h size c|ount. F|
|00001150| 6c 75 73 68 69 6e 67 20 | 74 68 65 20 63 61 63 68 |lushing |the cach|
|00001160| 65 20 66 6f 72 20 0d 20 | 2a 20 61 20 72 61 6e 67 |e for . |* a rang|
|00001170| 65 20 6f 66 20 6d 65 6d | 6f 72 79 20 69 73 20 6f |e of mem|ory is o|
|00001180| 6e 6c 79 20 73 75 70 70 | 6f 72 74 65 64 20 6f 6e |nly supp|orted on|
|00001190| 20 74 68 65 20 36 38 30 | 34 30 2c 20 73 6f 20 69 | the 680|40, so i|
|000011a0| 66 20 74 68 69 73 20 66 | 75 6e 63 74 69 6f 6e 61 |f this f|unctiona|
|000011b0| 6c 69 74 79 20 69 73 0d | 20 2a 20 75 6e 61 76 61 |lity is.| * unava|
|000011c0| 69 6c 61 62 6c 65 2c 20 | 74 68 65 20 65 6e 74 69 |ilable, |the enti|
|000011d0| 72 65 20 63 61 63 68 65 | 20 69 73 20 66 6c 75 73 |re cache| is flus|
|000011e0| 68 65 64 20 28 69 66 20 | 61 70 70 72 6f 70 72 69 |hed (if |appropri|
|000011f0| 61 74 65 29 2e 0d 20 2a | 0d 20 2a 20 49 66 20 65 |ate).. *|. * If e|
|00001200| 69 74 68 65 72 20 61 64 | 64 72 65 73 73 20 69 73 |ither ad|dress is|
|00001210| 20 4e 49 4c 20 6f 72 20 | 63 6f 75 6e 74 20 69 73 | NIL or |count is|
|00001220| 20 7a 65 72 6f 2c 20 74 | 68 65 20 65 6e 74 69 72 | zero, t|he entir|
|00001230| 65 20 63 61 63 68 65 20 | 69 73 20 66 6c 75 73 68 |e cache |is flush|
|00001240| 65 64 20 61 6e 79 77 61 | 79 2e 0d 20 2a 20 53 65 |ed anywa|y.. * Se|
|00001250| 6c 65 63 74 69 76 65 20 | 66 6c 75 73 68 69 6e 67 |lective |flushing|
|00001260| 20 6f 66 20 74 68 65 20 | 63 61 63 68 65 20 69 73 | of the |cache is|
|00001270| 20 61 20 74 69 6d 65 20 | 63 6f 6e 73 75 6d 69 6e | a time |consumin|
|00001280| 67 20 70 72 6f 63 65 73 | 73 20 61 6e 64 20 79 6f |g proces|s and yo|
|00001290| 75 20 6d 61 79 20 77 69 | 73 68 20 74 6f 0d 20 2a |u may wi|sh to. *|
|000012a0| 20 61 76 6f 69 64 20 69 | 74 20 77 68 65 6e 20 74 | avoid i|t when t|
|000012b0| 68 65 72 65 20 69 73 20 | 6e 6f 20 62 65 6e 65 66 |here is |no benef|
|000012c0| 69 74 20 74 6f 20 64 6f | 69 6e 67 20 73 6f 2e 20 |it to do|ing so. |
|000012d0| 20 46 6f 72 20 65 78 61 | 6d 70 6c 65 2c 20 69 66 | For exa|mple, if|
|000012e0| 20 79 6f 75 27 76 65 20 | 72 65 63 65 6e 74 6c 79 | you've |recently|
|000012f0| 0d 20 2a 20 6d 61 6e 69 | 70 75 6c 61 74 65 64 20 |. * mani|pulated |
|00001300| 61 20 62 6c 6f 63 6b 20 | 6c 61 72 67 65 72 20 74 |a block |larger t|
|00001310| 68 61 6e 20 34 4b 20 28 | 74 68 65 20 73 69 7a 65 |han 4K (|the size|
|00001320| 20 6f 66 20 74 68 65 20 | 36 38 30 34 30 20 63 61 | of the |68040 ca|
|00001330| 63 68 65 73 29 2c 20 73 | 65 6c 65 63 74 69 76 65 |ches), s|elective|
|00001340| 0d 20 2a 20 66 6c 75 73 | 68 69 6e 67 20 77 69 6c |. * flus|hing wil|
|00001350| 6c 20 70 72 6f 62 61 62 | 6c 79 20 65 6e 64 20 75 |l probab|ly end u|
|00001360| 70 20 66 6c 75 73 68 69 | 6e 67 20 74 68 65 20 65 |p flushi|ng the e|
|00001370| 6e 74 69 72 65 20 63 61 | 63 68 65 20 61 6e 79 77 |ntire ca|che anyw|
|00001380| 61 79 2c 20 73 6f 20 77 | 68 79 20 62 6f 74 68 65 |ay, so w|hy bothe|
|00001390| 72 3f 0d 20 2a 0d 20 2a | 20 54 68 65 20 70 72 65 |r?. *. *| The pre|
|000013a0| 66 65 72 72 65 64 20 6d | 65 74 68 6f 64 20 66 6f |ferred m|ethod fo|
|000013b0| 72 20 66 6c 75 73 68 69 | 6e 67 20 74 68 65 20 63 |r flushi|ng the c|
|000013c0| 61 63 68 65 20 69 73 20 | 74 6f 20 75 73 65 20 74 |ache is |to use t|
|000013d0| 68 65 20 5f 48 57 50 72 | 69 76 20 74 72 61 70 20 |he _HWPr|iv trap |
|000013e0| 64 6f 63 75 6d 65 6e 74 | 65 64 0d 20 2a 20 69 6e |document|ed. * in|
|000013f0| 20 54 65 63 68 20 4e 6f | 74 65 20 23 32 36 31 2e | Tech No|te #261.|
|00001400| 20 20 53 6f 6d 65 20 6f | 6c 64 65 72 20 73 79 73 | Some o|lder sys|
|00001410| 74 65 6d 73 20 6d 61 79 | 20 6e 6f 74 20 68 61 76 |tems may| not hav|
|00001420| 65 20 74 68 69 73 20 74 | 72 61 70 20 69 6d 70 6c |e this t|rap impl|
|00001430| 65 6d 65 6e 74 65 64 2c | 20 73 6f 0d 20 2a 20 61 |emented,| so. * a|
|00001440| 6c 74 65 72 6e 61 74 65 | 20 6d 65 74 68 6f 64 73 |lternate| methods|
|00001450| 20 6d 75 73 74 20 62 65 | 20 75 73 65 64 2e 20 20 | must be| used. |
|00001460| 54 68 65 20 66 69 72 73 | 74 20 74 68 69 6e 67 20 |The firs|t thing |
|00001470| 74 6f 20 74 72 79 20 69 | 73 20 74 68 65 20 5f 43 |to try i|s the _C|
|00001480| 61 63 68 65 46 6c 75 73 | 68 20 74 72 61 70 2e 0d |acheFlus|h trap..|
|00001490| 20 2a 20 54 68 69 73 20 | 77 61 73 20 69 6d 70 6c | * This |was impl|
|000014a0| 65 6d 65 6e 74 65 64 20 | 62 65 67 69 6e 6e 69 6e |emented |beginnin|
|000014b0| 67 20 77 69 74 68 20 74 | 68 65 20 4d 61 63 20 49 |g with t|he Mac I|
|000014c0| 49 20 28 61 6e 64 20 69 | 73 20 61 6c 73 6f 20 64 |I (and i|s also d|
|000014d0| 6f 63 75 6d 65 6e 74 65 | 64 20 69 6e 20 54 65 63 |ocumente|d in Tec|
|000014e0| 68 0d 20 2a 20 4e 6f 74 | 65 20 23 32 36 31 29 2e |h. * Not|e #261).|
|000014f0| 0d 20 2a 0d 20 2a 20 4d | 43 36 38 30 30 30 20 62 |. *. * M|C68000 b|
|00001500| 61 73 65 64 20 73 79 73 | 74 65 6d 73 20 68 61 76 |ased sys|tems hav|
|00001510| 65 20 6e 6f 20 63 61 63 | 68 65 2c 20 62 75 74 20 |e no cac|he, but |
|00001520| 69 66 20 61 6e 20 61 63 | 63 65 6c 65 72 61 74 6f |if an ac|celerato|
|00001530| 72 20 62 6f 61 72 64 20 | 68 61 73 20 62 65 65 6e |r board |has been|
|00001540| 20 61 64 64 65 64 2e 0d | 20 2a 20 74 68 65 79 20 | added..| * they |
|00001550| 6d 61 79 20 68 61 76 65 | 20 61 20 43 50 55 20 77 |may have| a CPU w|
|00001560| 68 69 63 68 20 64 6f 65 | 73 20 68 61 76 65 20 61 |hich doe|s have a|
|00001570| 20 63 61 63 68 65 2e 20 | 20 41 63 63 65 6c 65 72 | cache. | Acceler|
|00001580| 61 74 6f 72 20 62 6f 61 | 72 64 20 76 65 6e 64 6f |ator boa|rd vendo|
|00001590| 72 73 20 73 68 6f 75 6c | 64 0d 20 2a 20 69 6d 70 |rs shoul|d. * imp|
|000015a0| 6c 65 6d 65 6e 74 20 5f | 48 57 50 72 69 76 20 6f |lement _|HWPriv o|
|000015b0| 72 20 5f 43 61 63 68 65 | 46 6c 75 73 68 20 66 6f |r _Cache|Flush fo|
|000015c0| 72 20 73 75 63 68 20 73 | 79 73 74 65 6d 73 2c 20 |r such s|ystems, |
|000015d0| 62 75 74 20 69 66 20 74 | 68 65 79 20 68 61 76 65 |but if t|hey have|
|000015e0| 6e 27 74 20 74 68 65 6e | 0d 20 2a 20 6f 75 72 20 |n't then|. * our |
|000015f0| 6c 61 73 74 20 72 65 73 | 6f 72 74 20 69 73 20 74 |last res|ort is t|
|00001600| 6f 20 63 6f 6e 74 72 6f | 6c 20 74 68 65 20 63 61 |o contro|l the ca|
|00001610| 63 68 65 73 20 64 69 72 | 65 63 74 6c 79 20 28 75 |ches dir|ectly (u|
|00001620| 73 69 6e 67 20 70 72 69 | 76 69 6c 65 67 65 64 0d |sing pri|vileged.|
|00001630| 20 2a 20 69 6e 73 74 72 | 75 63 74 69 6f 6e 73 20 | * instr|uctions |
|00001640| 28 47 41 4b 21 21 29 29 | 2e 0d 20 2a 0d 20 2a 20 |(GAK!!))|.. *. * |
|00001650| 46 49 4e 41 4c 4c 59 2c | 20 74 68 65 20 66 75 6c |FINALLY,| the ful|
|00001660| 6c 20 69 6d 70 6c 65 6d | 65 6e 74 61 74 69 6f 6e |l implem|entation|
|00001670| 20 6f 66 20 46 6c 75 73 | 68 43 61 63 68 65 52 61 | of Flus|hCacheRa|
|00001680| 6e 67 65 20 69 73 20 70 | 72 6f 62 61 62 6c 79 20 |nge is p|robably |
|00001690| 6f 76 65 72 6b 69 6c 6c | 20 61 6e 64 20 6d 61 79 |overkill| and may|
|000016a0| 20 62 65 20 0d 20 2a 20 | 6c 65 73 73 20 74 68 61 | be . * |less tha|
|000016b0| 6e 20 6f 70 74 69 6d 61 | 6c 20 66 6f 72 20 73 6f |n optima|l for so|
|000016c0| 6d 65 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 73 2e |me appli|cations.|
|000016d0| 20 20 46 6f 72 20 65 78 | 61 6d 70 6c 65 2c 20 74 | For ex|ample, t|
|000016e0| 65 73 74 69 6e 67 20 66 | 6f 72 20 5f 48 57 50 72 |esting f|or _HWPr|
|000016f0| 69 76 20 0d 20 2a 20 73 | 68 6f 75 6c 64 20 62 65 |iv . * s|hould be|
|00001700| 20 75 6e 6e 65 63 65 73 | 73 61 72 79 20 6f 6e 20 | unneces|sary on |
|00001710| 73 79 73 74 65 6d 73 20 | 6c 61 74 65 72 20 74 68 |systems |later th|
|00001720| 61 6e 20 36 2e 30 2e 32 | 2c 20 73 6f 20 49 27 76 |an 6.0.2|, so I'v|
|00001730| 65 20 61 64 64 65 64 20 | 63 6f 6e 64 69 74 69 6f |e added |conditio|
|00001740| 6e 61 6c 20 63 6f 64 65 | 0d 20 2a 20 74 6f 20 61 |nal code|. * to a|
|00001750| 6c 6c 6f 77 20 79 6f 75 | 20 74 6f 20 62 79 70 61 |llow you| to bypa|
|00001760| 73 73 20 74 68 61 74 20 | 69 66 20 61 70 70 72 6f |ss that |if appro|
|00001770| 70 72 69 61 74 65 20 28 | 73 65 65 20 63 6f 6d 6d |priate (|see comm|
|00001780| 65 6e 74 20 61 62 6f 76 | 65 20 6f 6e 20 53 79 73 |ent abov|e on Sys|
|00001790| 74 65 6d 36 30 33 4f 72 | 4c 61 74 65 72 29 2e 0d |tem603Or|Later)..|
|000017a0| 20 2a 20 54 68 65 20 66 | 75 6c 6c 20 69 6d 70 6c | * The f|ull impl|
|000017b0| 65 6d 65 6e 74 61 74 69 | 6f 6e 20 74 72 69 65 73 |ementati|on tries|
|000017c0| 20 74 6f 20 63 6f 76 65 | 72 20 61 20 6c 6f 74 20 | to cove|r a lot |
|000017d0| 6f 66 20 6f 62 73 63 75 | 72 65 20 63 61 73 65 73 |of obscu|re cases|
|000017e0| 2c 20 62 75 74 20 69 74 | 20 61 6c 73 6f 20 64 6f |, but it| also do|
|000017f0| 65 73 20 0d 20 2a 20 73 | 6f 6d 65 20 74 68 69 6e |es . * s|ome thin|
|00001800| 67 73 20 69 6e 65 66 66 | 69 63 69 65 6e 74 6c 79 |gs ineff|iciently|
|00001810| 2e 20 20 46 6f 72 20 65 | 78 61 6d 70 6c 65 2c 20 |. For e|xample, |
|00001820| 68 61 76 69 6e 67 20 64 | 65 74 65 72 6d 69 6e 65 |having d|etermine|
|00001830| 64 20 74 68 61 74 20 5f | 48 57 50 72 69 76 20 69 |d that _|HWPriv i|
|00001840| 73 20 0d 20 2a 20 69 6d | 70 6c 65 6d 65 6e 74 65 |s . * im|plemente|
|00001850| 64 2c 20 69 74 20 77 6f | 75 6c 64 20 62 65 20 6d |d, it wo|uld be m|
|00001860| 6f 72 65 20 65 66 66 69 | 63 69 65 6e 74 20 74 6f |ore effi|cient to|
|00001870| 20 6a 75 73 74 20 6b 65 | 65 70 20 74 68 61 74 20 | just ke|ep that |
|00001880| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 61 72 6f 75 |informat|ion arou|
|00001890| 6e 64 2c 20 0d 20 2a 20 | 62 75 74 20 49 20 77 61 |nd, . * |but I wa|
|000018a0| 6e 74 65 64 20 74 6f 20 | 61 76 6f 69 64 20 74 68 |nted to |avoid th|
|000018b0| 65 20 63 6f 6d 70 6c 69 | 63 61 74 69 6f 6e 73 20 |e compli|cations |
|000018c0| 6f 66 20 67 6c 6f 62 61 | 6c 20 6f 72 20 73 74 61 |of globa|l or sta|
|000018d0| 74 69 63 20 76 61 72 69 | 61 62 6c 65 73 2e 20 20 |tic vari|ables. |
|000018e0| 42 75 74 20 0d 20 2a 20 | 69 74 20 69 73 20 61 6c |But . * |it is al|
|000018f0| 73 6f 20 74 72 75 65 20 | 74 68 61 74 20 69 66 20 |so true |that if |
|00001900| 79 6f 75 20 66 69 6e 64 | 20 69 74 20 6e 65 63 65 |you find| it nece|
|00001910| 73 73 61 72 79 20 74 6f | 20 63 61 6c 6c 20 74 68 |ssary to| call th|
|00001920| 69 73 20 63 6f 64 65 20 | 6d 6f 72 65 20 74 68 61 |is code |more tha|
|00001930| 6e 20 61 0d 20 2a 20 66 | 65 77 20 74 69 6d 65 73 |n a. * f|ew times|
|00001940| 20 62 65 74 77 65 65 6e | 20 74 68 65 20 74 69 6d | between| the tim|
|00001950| 65 20 79 6f 75 72 20 61 | 70 70 6c 69 63 61 74 69 |e your a|pplicati|
|00001960| 6f 6e 20 73 74 61 72 74 | 73 20 61 6e 64 20 74 68 |on start|s and th|
|00001970| 65 20 74 69 6d 65 20 69 | 74 20 71 75 69 74 73 2c |e time i|t quits,|
|00001980| 20 0d 20 2a 20 59 4f 55 | 20 41 52 45 20 44 4f 49 | . * YOU| ARE DOI|
|00001990| 4e 47 20 53 4f 4d 45 54 | 48 49 4e 47 20 57 52 4f |NG SOMET|HING WRO|
|000019a0| 4e 47 21 21 20 20 20 47 | 6f 20 62 61 63 6b 20 61 |NG!! G|o back a|
|000019b0| 6e 64 20 72 65 74 68 69 | 6e 6b 20 79 6f 75 72 20 |nd rethi|nk your |
|000019c0| 63 6f 64 65 2e 0d 20 2a | 2f 0d 76 6f 69 64 20 46 |code.. *|/.void F|
|000019d0| 6c 75 73 68 43 61 63 68 | 65 52 61 6e 67 65 20 28 |lushCach|eRange (|
|000019e0| 76 6f 69 64 20 2a 61 64 | 64 72 65 73 73 2c 20 75 |void *ad|dress, u|
|000019f0| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 63 6f 75 |nsigned |long cou|
|00001a00| 6e 74 29 0d 7b 0d 23 69 | 66 6e 64 65 66 20 53 79 |nt).{.#i|fndef Sy|
|00001a10| 73 74 65 6d 36 30 33 4f | 72 4c 61 74 65 72 0d 09 |stem603O|rLater..|
|00001a20| 6c 6f 6e 67 09 67 65 73 | 74 61 6c 74 52 65 73 70 |long.ges|taltResp|
|00001a30| 6f 6e 73 65 3b 09 09 09 | 2f 2a 20 46 6f 72 20 43 |onse;...|/* For C|
|00001a40| 50 55 20 74 79 70 65 20 | 2a 2f 0d 09 23 69 66 20 |PU type |*/..#if |
|00001a50| 64 65 66 69 6e 65 64 28 | 55 53 45 53 52 4f 55 54 |defined(|USESROUT|
|00001a60| 49 4e 45 44 45 53 43 52 | 49 50 54 4f 52 53 29 0d |INEDESCR|IPTORS).|
|00001a70| 09 09 55 6e 69 76 65 72 | 73 61 6c 50 72 6f 63 50 |..Univer|salProcP|
|00001a80| 74 72 20 75 6e 69 6d 70 | 54 72 61 70 41 64 64 72 |tr unimp|TrapAddr|
|00001a90| 65 73 73 3b 09 2f 2a 20 | 41 64 64 72 65 73 73 20 |ess;./* |Address |
|00001aa0| 6f 66 20 55 6e 69 6d 70 | 6c 65 6d 65 6e 74 65 64 |of Unimp|lemented|
|00001ab0| 20 54 72 61 70 20 2a 2f | 0d 09 23 65 6c 73 65 0d | Trap */|..#else.|
|00001ac0| 09 09 6c 6f 6e 67 20 75 | 6e 69 6d 70 54 72 61 70 |..long u|nimpTrap|
|00001ad0| 41 64 64 72 65 73 73 3b | 09 09 09 2f 2a 20 41 64 |Address;|.../* Ad|
|00001ae0| 64 72 65 73 73 20 6f 66 | 20 55 6e 69 6d 70 6c 65 |dress of| Unimple|
|00001af0| 6d 65 6e 74 65 64 20 54 | 72 61 70 20 2a 2f 0d 09 |mented T|rap */..|
|00001b00| 23 65 6e 64 69 66 09 0d | 0d 09 2f 2a 20 46 69 72 |#endif..|../* Fir|
|00001b10| 73 74 20 63 68 65 63 6b | 20 74 6f 20 73 65 65 20 |st check| to see |
|00001b20| 69 66 20 5f 48 57 50 72 | 69 76 20 69 73 20 69 6d |if _HWPr|iv is im|
|00001b30| 70 6c 65 6d 65 6e 74 65 | 64 20 2a 2f 0d 09 69 66 |plemente|d */..if|
|00001b40| 20 28 28 75 6e 69 6d 70 | 54 72 61 70 41 64 64 72 | ((unimp|TrapAddr|
|00001b50| 65 73 73 20 3d 20 4e 47 | 65 74 54 72 61 70 41 64 |ess = NG|etTrapAd|
|00001b60| 64 72 65 73 73 28 5f 55 | 6e 69 6d 70 6c 65 6d 65 |dress(_U|nimpleme|
|00001b70| 6e 74 65 64 2c 20 54 6f | 6f 6c 54 72 61 70 29 29 |nted, To|olTrap))|
|00001b80| 20 21 3d 20 0d 09 09 4e | 47 65 74 54 72 61 70 41 | != ...N|GetTrapA|
|00001b90| 64 64 72 65 73 73 28 5f | 48 57 50 72 69 76 2c 20 |ddress(_|HWPriv, |
|00001ba0| 4f 53 54 72 61 70 29 29 | 20 7b 0d 23 65 6e 64 69 |OSTrap))| {.#endi|
|00001bb0| 66 0d 09 09 2f 2a 20 0d | 09 09 20 2a 20 54 72 79 |f.../* .|.. * Try|
|00001bc0| 20 74 6f 20 66 6c 75 73 | 68 20 74 68 65 20 73 70 | to flus|h the sp|
|00001bd0| 65 63 69 66 69 65 64 20 | 72 61 6e 67 65 2e 20 20 |ecified |range. |
|00001be0| 49 66 20 69 74 20 66 61 | 69 6c 73 20 6f 72 20 69 |If it fa|ils or i|
|00001bf0| 66 20 74 68 65 72 65 20 | 69 73 20 6e 6f 20 72 61 |f there |is no ra|
|00001c00| 6e 67 65 2c 0d 09 09 20 | 2a 20 74 68 65 6e 20 66 |nge,... |* then f|
|00001c10| 6c 75 73 68 20 74 68 65 | 20 65 6e 74 69 72 65 20 |lush the| entire |
|00001c20| 63 61 63 68 65 20 0d 09 | 09 20 2a 2f 0d 09 09 69 |cache ..|. */...i|
|00001c30| 66 20 28 61 64 64 72 65 | 73 73 3d 3d 4e 55 4c 4c |f (addre|ss==NULL|
|00001c40| 20 7c 7c 20 63 6f 75 6e | 74 3d 3d 30 29 46 6c 75 | || coun|t==0)Flu|
|00001c50| 73 68 49 6e 73 74 72 75 | 63 74 69 6f 6e 43 61 63 |shInstru|ctionCac|
|00001c60| 68 65 28 29 3b 2f 2a 20 | 46 6c 75 73 68 20 65 6e |he();/* |Flush en|
|00001c70| 74 69 72 65 20 63 61 63 | 68 65 20 2a 2f 0d 09 09 |tire cac|he */...|
|00001c80| 65 6c 73 65 20 46 6c 75 | 73 68 43 6f 64 65 43 61 |else Flu|shCodeCa|
|00001c90| 63 68 65 52 61 6e 67 65 | 28 61 64 64 72 65 73 73 |cheRange|(address|
|00001ca0| 2c 63 6f 75 6e 74 29 3b | 0d 09 09 2f 2a 0d 09 09 |,count);|.../*...|
|00001cb0| 4e 4f 54 45 3a 20 66 6f | 72 6d 65 72 6c 79 20 46 |NOTE: fo|rmerly F|
|00001cc0| 6c 75 73 68 43 6f 64 65 | 43 61 63 68 65 52 61 6e |lushCode|CacheRan|
|00001cd0| 67 65 28 29 20 72 65 74 | 75 72 6e 65 64 20 61 6e |ge() ret|urned an|
|00001ce0| 20 4f 53 45 72 72 20 76 | 61 6c 75 65 2c 20 61 6e | OSErr v|alue, an|
|00001cf0| 64 20 46 6c 75 73 68 49 | 6e 73 74 72 75 63 74 69 |d FlushI|nstructi|
|00001d00| 6f 6e 43 61 63 68 65 0d | 09 09 77 61 73 20 63 61 |onCache.|..was ca|
|00001d10| 6c 6c 65 64 20 69 66 20 | 46 6c 75 73 68 43 6f 64 |lled if |FlushCod|
|00001d20| 65 43 61 63 68 65 52 61 | 6e 67 65 20 66 61 69 6c |eCacheRa|nge fail|
|00001d30| 65 64 2e 20 48 6f 77 65 | 76 65 72 2c 20 74 68 65 |ed. Howe|ver, the|
|00001d40| 20 76 65 72 73 69 6f 6e | 20 32 20 55 6e 69 76 65 | version| 2 Unive|
|00001d50| 72 73 61 6c 20 48 65 61 | 64 65 72 73 0d 09 09 64 |rsal Hea|ders...d|
|00001d60| 65 63 6c 61 72 65 20 46 | 6c 75 73 68 43 6f 64 65 |eclare F|lushCode|
|00001d70| 43 61 63 68 65 52 61 6e | 67 65 20 77 69 74 68 20 |CacheRan|ge with |
|00001d80| 6e 6f 20 72 65 74 75 72 | 6e 20 76 61 6c 75 65 2c |no retur|n value,|
|00001d90| 20 73 6f 20 77 65 20 63 | 61 6e 27 74 20 63 68 65 | so we c|an't che|
|00001da0| 63 6b 20 74 6f 20 73 65 | 65 20 69 66 20 69 74 0d |ck to se|e if it.|
|00001db0| 09 09 66 61 69 6c 65 64 | 2e 20 49 20 68 61 76 65 |..failed|. I have|
|00001dc0| 6e 27 74 20 6c 6f 6f 6b | 65 64 20 69 6e 74 6f 20 |n't look|ed into |
|00001dd0| 41 70 70 6c 65 27 73 20 | 64 6f 63 75 6d 65 6e 74 |Apple's |document|
|00001de0| 61 74 69 6f 6e 20 74 6f | 20 73 65 65 20 69 66 20 |ation to| see if |
|00001df0| 74 68 65 72 65 27 73 20 | 61 6e 6f 74 68 65 72 20 |there's |another |
|00001e00| 77 61 79 0d 09 09 74 6f | 20 63 68 65 63 6b 20 66 |way...to| check f|
|00001e10| 6f 72 20 66 61 69 6c 75 | 72 65 2e 20 64 67 70 20 |or failu|re. dgp |
|00001e20| 31 2f 35 2f 39 35 0d 09 | 09 2a 2f 0d 23 69 66 6e |1/5/95..|.*/.#ifn|
|00001e30| 64 65 66 20 53 79 73 74 | 65 6d 36 30 33 4f 72 4c |def Syst|em603OrL|
|00001e40| 61 74 65 72 0d 09 7d 20 | 65 6c 73 65 20 7b 09 09 |ater..} |else {..|
|00001e50| 09 09 2f 2a 20 4e 6f 20 | 5f 48 57 50 72 69 76 20 |../* No |_HWPriv |
|00001e60| 74 72 61 70 20 2a 2f 0d | 09 09 2f 2a 20 54 72 79 |trap */.|../* Try|
|00001e70| 20 66 6f 72 20 5f 43 61 | 63 68 65 46 6c 75 73 68 | for _Ca|cheFlush|
|00001e80| 20 74 72 61 70 20 2a 2f | 0d 09 09 69 66 20 28 75 | trap */|...if (u|
|00001e90| 6e 69 6d 70 54 72 61 70 | 41 64 64 72 65 73 73 20 |nimpTrap|Address |
|00001ea0| 21 3d 20 4e 47 65 74 54 | 72 61 70 41 64 64 72 65 |!= NGetT|rapAddre|
|00001eb0| 73 73 28 5f 43 61 63 68 | 65 46 6c 75 73 68 2c 20 |ss(_Cach|eFlush, |
|00001ec0| 4f 53 54 72 61 70 29 29 | 0d 09 09 09 46 6c 75 73 |OSTrap))|....Flus|
|00001ed0| 68 43 6f 64 65 43 61 63 | 68 65 20 28 29 3b 0d 09 |hCodeCac|he ();..|
|00001ee0| 09 65 6c 73 65 09 09 2f | 2a 20 4e 6f 74 68 69 6e |.else../|* Nothin|
|00001ef0| 67 20 65 6c 73 65 20 77 | 6f 72 6b 73 2c 20 73 6f |g else w|orks, so|
|00001f00| 20 64 6f 20 6d 61 63 68 | 69 6e 65 20 73 70 65 63 | do mach|ine spec|
|00001f10| 69 66 69 63 20 63 61 63 | 68 65 20 63 6f 6e 74 72 |ific cac|he contr|
|00001f20| 6f 6c 20 2a 2f 0d 09 09 | 09 2f 2a 20 4f 6e 6c 79 |ol */...|./* Only|
|00001f30| 20 62 6f 74 68 65 72 20 | 77 69 74 68 20 63 61 63 | bother |with cac|
|00001f40| 68 65 20 63 6f 6e 74 72 | 6f 6c 20 6f 6e 20 36 38 |he contr|ol on 68|
|00001f50| 30 32 30 20 61 6e 64 20 | 61 62 6f 76 65 20 2a 2f |020 and |above */|
|00001f60| 0d 09 09 09 69 66 20 28 | 21 47 65 73 74 61 6c 74 |....if (|!Gestalt|
|00001f70| 20 28 67 65 73 74 61 6c | 74 50 72 6f 63 65 73 73 | (gestal|tProcess|
|00001f80| 6f 72 54 79 70 65 2c 20 | 26 67 65 73 74 61 6c 74 |orType, |&gestalt|
|00001f90| 52 65 73 70 6f 6e 73 65 | 29 20 26 26 20 0d 09 09 |Response|) && ...|
|00001fa0| 09 09 28 67 65 73 74 61 | 6c 74 52 65 73 70 6f 6e |..(gesta|ltRespon|
|00001fb0| 73 65 20 3e 3d 20 67 65 | 73 74 61 6c 74 36 38 30 |se >= ge|stalt680|
|00001fc0| 32 30 29 29 0d 09 09 09 | 09 09 69 66 20 28 67 65 |20))....|..if (ge|
|00001fd0| 73 74 61 6c 74 52 65 73 | 70 6f 6e 73 65 20 3c 3d |staltRes|ponse <=|
|00001fe0| 20 67 65 73 74 61 6c 74 | 36 38 30 33 30 29 0d 09 | gestalt|68030)..|
|00001ff0| 09 09 09 09 09 46 6c 75 | 73 68 43 61 63 68 65 56 |.....Flu|shCacheV|
|00002000| 69 61 43 41 43 52 20 28 | 29 3b 0d 09 09 09 09 09 |iaCACR (|);......|
|00002010| 65 6c 73 65 0d 09 09 09 | 09 09 09 46 6c 75 73 68 |else....|...Flush|
|00002020| 43 61 63 68 65 57 69 74 | 68 43 50 75 73 68 41 20 |CacheWit|hCPushA |
|00002030| 28 29 3b 0d 09 7d 0d 23 | 65 6e 64 69 66 0d 09 72 |();..}.#|endif..r|
|00002040| 65 74 75 72 6e 3b 0d 7d | 09 2f 2a 20 46 6c 75 73 |eturn;.}|./* Flus|
|00002050| 68 43 61 63 68 65 52 61 | 6e 67 65 20 2a 2f 0d 23 |hCacheRa|nge */.#|
|00002060| 65 6e 64 69 66 00 00 00 | 00 00 00 00 00 00 00 00 |endif...|........|
|00002070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002080| 00 00 01 00 00 00 01 72 | 00 00 00 72 00 00 00 52 |.......r|...r...R|
|00002090| 00 00 14 2d 07 46 31 44 | 49 4d 2e 43 02 00 00 00 |...-.F1D|IM.C....|
|000020a0| 54 45 58 54 4b 41 48 4c | 01 00 01 54 00 00 00 00 |TEXTKAHL|...T....|
|000020b0| 11 46 6c 75 73 68 43 61 | 63 68 65 52 61 6e 67 65 |.FlushCa|cheRange|
|000020c0| 2e 63 02 00 00 00 54 45 | 58 54 43 57 49 45 01 00 |.c....TE|XTCWIE..|
|000020d0| 00 00 54 45 58 54 43 57 | 49 45 01 00 00 50 01 80 |..TEXTCW|IE...P..|
|000020e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020f0| 00 00 a6 87 5c 23 00 00 | 1f e5 00 00 01 c4 00 00 |....\#..|........|
|00002100| 00 00 0e 00 00 00 14 2d | 08 46 41 43 54 4c 4e 2e |.......-|.FACTLN.|
|00002110| 43 00 02 00 00 00 54 45 | 58 54 4b 41 48 4c 01 00 |C.....TE|XTKAHL..|
|00002120| 01 54 00 60 00 00 00 00 | 14 95 00 00 00 00 01 16 |.T.`....|........|
|00002130| 00 00 26 00 00 00 00 00 | 00 00 00 00 00 00 a7 3e |..&.....|.......>|
|00002140| e0 ad a7 3e e0 ad 00 00 | 00 00 00 00 00 00 00 00 |...>....|........|
|00002150| 00 00 00 00 00 00 00 00 | 00 00 00 00 4e de 00 01 |........|....N...|
|00002160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002170| 00 00 00 00 00 00 00 00 | 0e 00 00 00 14 2d 08 46 |........|.....-.F|
|00002180| 00 00 00 1a 00 01 00 00 | 19 8f 00 00 19 9e 0f 46 |........|.......F|
|00002190| 6c 75 73 68 43 61 63 68 | 65 52 61 6e 67 65 00 00 |lushCach|eRange..|
|000021a0| 00 48 00 09 4d 6f 6e 61 | 63 6f 00 00 00 00 00 00 |.H..Mona|co......|
|000021b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021c0| 00 00 00 00 00 03 00 04 | 00 3d 00 04 01 9c 02 7c |........|.=.....||
|000021d0| 00 3d 00 04 01 9c 02 7c | ad 8f 49 5b 00 00 09 35 |.=.....||..I[...5|
|000021e0| 00 00 09 36 00 00 07 ef | 00 00 00 00 00 04 00 01 |...6....|........|
|000021f0| 00 01 00 00 01 00 00 00 | 01 72 00 00 00 72 00 00 |........|.r...r..|
|00002200| 00 52 02 3c dc 58 26 90 | 00 00 00 1c 00 52 00 01 |.R.<.X&.|.....R..|
|00002210| 4d 50 53 52 00 01 00 12 | 4d 57 42 42 00 00 00 2a |MPSR....|MWBB...*|
|00002220| 03 ef ff ff 00 00 00 00 | 00 00 00 00 03 ed ff ff |........|........|
|00002230| 00 00 00 1e 00 00 00 00 | 03 f0 ff ff 00 00 00 6a |........|.......j|
|00002240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+