home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 August / Macworld (1997-08).dmg / Shareware World / Info / For Developers / InstallerMaker™ 4.0 Installer / Customizing InstallerMaker / Sample Code / Headers / A4Globals.h next >
MacBinary  |  1995-05-18  |  8.3 KB  |  [TEXT/MMCC]

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: A4Globals.h

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Thu May 18 14:10:26 1995, modified Thu May 18 14:10:26 1995, creator 'MMCC', type ASCII, 7764 bytes "A4Globals.h" , at 0x1ed4 410 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[MMCC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 41 34 47 6c 6f 62 | 61 6c 73 2e 68 00 00 00 |..A4Glob|als.h...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 1e 54 00 | 00 01 9a ab e1 3e 12 ab |......T.|.....>..|
|00000060| e1 3e 12 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.>......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 70 de 00 00 |........|....p...|
|00000080| 2f 2f 20 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |// =====|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000d0| 0d 2f 2f 20 43 4f 4d 50 | 49 4c 45 52 2d 49 4e 44 |.// COMP|ILER-IND|
|000000e0| 45 50 45 4e 44 45 4e 54 | 20 47 4c 4f 42 41 4c 20 |EPENDENT| GLOBAL |
|000000f0| 53 54 4f 52 41 47 45 0d | 2f 2f 20 a9 31 39 39 34 |STORAGE.|// .1994|
|00000100| 2d 39 35 20 41 6c 65 73 | 73 61 6e 64 72 6f 20 4c |-95 Ales|sandro L|
|00000110| 65 76 69 20 4d 6f 6e 74 | 61 6c 63 69 6e 69 20 3c |evi Mont|alcini <|
|00000120| 4c 4d 6f 6e 74 61 6c 63 | 69 6e 69 40 70 6d 6e 2e |LMontalc|ini@pmn.|
|00000130| 69 74 3e 0d 2f 2f 20 54 | 68 65 20 6c 61 74 65 73 |it>.// T|he lates|
|00000140| 74 20 76 65 72 73 69 6f | 6e 20 69 73 20 61 76 61 |t versio|n is ava|
|00000150| 69 6c 61 62 6c 65 20 6f | 6e 20 66 74 70 3a 2f 2f |ilable o|n ftp://|
|00000160| 66 74 70 2e 61 6c 70 63 | 6f 6d 2e 69 74 2f 73 6f |ftp.alpc|om.it/so|
|00000170| 66 74 77 61 72 65 2f 6d | 61 63 2f 4c 4d 6f 6e 74 |ftware/m|ac/LMont|
|00000180| 61 6c 63 69 6e 69 0d 2f | 2f 20 54 68 69 73 20 74 |alcini./|/ This t|
|00000190| 65 78 74 20 6c 6f 6f 6b | 73 20 62 65 73 74 20 69 |ext look|s best i|
|000001a0| 6e 20 6d 6f 6e 61 63 6f | 20 39 20 66 6f 6e 74 2c |n monaco| 9 font,|
|000001b0| 20 34 20 73 70 61 63 65 | 73 20 70 65 72 20 74 61 | 4 space|s per ta|
|000001c0| 62 2c 20 6e 6f 20 77 72 | 61 70 70 69 6e 67 0d 0d |b, no wr|apping..|
|000001d0| 2f 2f 20 57 41 52 4e 49 | 4e 47 3a 20 54 48 49 53 |// WARNI|NG: THIS|
|000001e0| 20 48 45 41 44 45 52 20 | 53 48 4f 55 4c 44 20 4f | HEADER |SHOULD O|
|000001f0| 4e 4c 59 20 42 45 20 49 | 4e 43 4c 55 44 45 44 20 |NLY BE I|NCLUDED |
|00000200| 4f 4e 43 45 20 54 48 52 | 4f 55 47 48 4f 55 54 20 |ONCE THR|OUGHOUT |
|00000210| 54 48 45 20 50 52 4f 4a | 45 43 54 0d 0d 2f 2f 20 |THE PROJ|ECT..// |
|00000220| 55 6e 61 6c 74 65 72 65 | 64 20 63 6f 70 69 65 73 |Unaltere|d copies|
|00000230| 20 6f 66 20 74 68 69 73 | 20 66 69 6c 65 20 6d 61 | of this| file ma|
|00000240| 79 20 62 65 20 66 72 65 | 65 6c 79 20 64 69 73 74 |y be fre|ely dist|
|00000250| 72 69 62 75 74 65 64 3b | 20 79 6f 75 20 6d 61 79 |ributed;| you may|
|00000260| 20 75 73 65 20 74 68 69 | 73 0d 2f 2f 20 63 6f 64 | use thi|s.// cod|
|00000270| 65 20 69 6e 20 79 6f 75 | 72 20 70 72 6f 6a 65 63 |e in you|r projec|
|00000280| 74 73 20 77 69 74 68 6f | 75 74 20 61 73 6b 69 6e |ts witho|ut askin|
|00000290| 67 20 6d 79 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 |g my per|mission |
|000002a0| 61 6e 64 20 6d 6f 64 69 | 66 79 20 69 74 20 66 6f |and modi|fy it fo|
|000002b0| 72 20 79 6f 75 72 0d 2f | 2f 20 70 65 72 73 6f 6e |r your./|/ person|
|000002c0| 61 6c 20 75 73 65 2c 20 | 62 75 74 20 79 6f 75 20 |al use, |but you |
|000002d0| 73 68 6f 75 6c 64 20 6e | 6f 74 20 64 69 73 74 72 |should n|ot distr|
|000002e0| 69 62 75 74 65 20 61 6e | 79 20 6d 6f 64 69 66 69 |ibute an|y modifi|
|000002f0| 65 64 20 76 65 72 73 69 | 6f 6e 73 2e 20 53 65 6e |ed versi|ons. Sen|
|00000300| 64 0d 2f 2f 20 6d 65 20 | 79 6f 75 72 20 61 64 64 |d.// me |your add|
|00000310| 69 74 69 6f 6e 73 20 69 | 66 20 79 6f 75 20 77 61 |itions i|f you wa|
|00000320| 6e 74 20 74 68 65 6d 20 | 74 6f 20 62 65 20 69 6e |nt them |to be in|
|00000330| 63 6c 75 64 65 64 20 69 | 6e 20 74 68 65 20 6e 65 |cluded i|n the ne|
|00000340| 78 74 20 76 65 72 73 69 | 6f 6e 2e 0d 0d 2f 2f 20 |xt versi|on...// |
|00000350| 49 66 20 79 6f 75 20 75 | 73 65 20 74 68 69 73 20 |If you u|se this |
|00000360| 68 65 61 64 65 72 20 69 | 6e 20 79 6f 75 72 20 70 |header i|n your p|
|00000370| 72 6f 6a 65 63 74 73 2c | 20 49 27 64 20 62 65 20 |rojects,| I'd be |
|00000380| 68 61 70 70 79 20 74 6f | 20 67 65 74 20 73 6f 6d |happy to| get som|
|00000390| 65 20 63 72 65 64 69 74 | 73 0d 2f 2f 20 6f 72 20 |e credit|s.// or |
|000003a0| 74 6f 20 72 65 63 65 69 | 76 65 20 61 20 63 6f 70 |to recei|ve a cop|
|000003b0| 79 20 6f 66 20 74 68 65 | 20 70 72 6f 67 72 61 6d |y of the| program|
|000003c0| 2e 20 48 6f 77 65 76 65 | 72 2c 20 74 68 69 73 20 |. Howeve|r, this |
|000003d0| 69 73 20 61 62 73 6f 6c | 75 74 65 6c 79 20 6e 6f |is absol|utely no|
|000003e0| 74 0d 2f 2f 20 72 65 71 | 75 69 72 65 64 20 69 66 |t.// req|uired if|
|000003f0| 20 79 6f 75 20 63 61 6e | 27 74 20 64 6f 20 69 74 | you can|'t do it|
|00000400| 20 66 6f 72 20 61 6e 79 | 20 72 65 61 73 6f 6e 2e | for any| reason.|
|00000410| 0d 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00000420| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000440| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000450| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000460| 3d 3d 0d 2f 2f 20 4f 72 | 69 67 69 6e 61 6c 20 63 |==.// Or|iginal c|
|00000470| 6f 64 65 20 61 6e 64 20 | 63 6f 6d 6d 65 6e 74 73 |ode and |comments|
|00000480| 20 61 72 65 20 63 6f 70 | 79 72 69 67 68 74 20 a9 | are cop|yright .|
|00000490| 41 6c 65 73 73 61 6e 64 | 72 6f 20 4c 65 76 69 20 |Alessand|ro Levi |
|000004a0| 4d 6f 6e 74 61 6c 63 69 | 6e 69 20 28 41 4c 4d 29 |Montalci|ni (ALM)|
|000004b0| 0d 2f 2f 20 41 4c 4d 20 | 31 31 2f 32 33 2f 39 34 |.// ALM |11/23/94|
|000004c0| 3a 20 72 65 6c 65 61 73 | 65 64 20 61 73 20 70 61 |: releas|ed as pa|
|000004d0| 72 74 20 6f 66 20 74 68 | 65 20 4b 65 79 51 75 65 |rt of th|e KeyQue|
|000004e0| 6e 63 65 72 20 64 65 76 | 65 6c 6f 70 65 72 27 73 |ncer dev|eloper's|
|000004f0| 20 74 6f 6f 6c 6b 69 74 | 0d 2f 2f 20 41 4c 4d 20 | toolkit|.// ALM |
|00000500| 30 34 2f 30 31 2f 39 35 | 3a 20 63 68 61 6e 67 65 |04/01/95|: change|
|00000510| 64 20 64 65 66 69 6e 65 | 64 28 70 6f 77 65 72 63 |d define|d(powerc|
|00000520| 29 20 74 6f 20 47 45 4e | 45 52 41 54 49 4e 47 50 |) to GEN|ERATINGP|
|00000530| 4f 57 45 52 50 43 0d 2f | 2f 20 41 4c 4d 20 30 35 |OWERPC./|/ ALM 05|
|00000540| 2f 31 38 2f 39 35 3a 20 | 6d 65 72 67 65 64 20 41 |/18/95: |merged A|
|00000550| 4c 4d 20 61 6e 64 20 52 | 4d 54 20 6d 61 63 72 6f |LM and R|MT macro|
|00000560| 73 2c 20 61 64 64 65 64 | 20 63 6f 6d 6d 65 6e 74 |s, added| comment|
|00000570| 73 20 61 6e 64 20 73 61 | 6d 70 6c 65 20 63 6f 64 |s and sa|mple cod|
|00000580| 65 0d 0d 2f 2f 20 41 64 | 64 69 74 69 6f 6e 73 20 |e..// Ad|ditions |
|00000590| 74 6f 20 41 34 47 6c 6f | 62 61 6c 73 2e 68 20 62 |to A4Glo|bals.h b|
|000005a0| 79 20 52 6f 62 65 72 74 | 20 4d 2e 20 54 68 6f 72 |y Robert| M. Thor|
|000005b0| 6e 65 20 6f 66 20 41 6c | 61 64 64 69 6e 20 53 79 |ne of Al|addin Sy|
|000005c0| 73 74 65 6d 73 2c 20 49 | 6e 63 2e 20 28 52 4d 54 |stems, I|nc. (RMT|
|000005d0| 29 0d 2f 2f 20 52 4d 54 | 20 41 64 64 20 63 6f 64 |).// RMT| Add cod|
|000005e0| 65 20 74 6f 20 6d 61 6b | 65 20 74 68 69 73 20 63 |e to mak|e this c|
|000005f0| 6f 6e 64 69 74 69 6f 6e | 61 6c 20 69 66 20 41 34 |ondition|al if A4|
|00000600| 20 62 61 73 65 64 2e 0d | 2f 2f 20 52 4d 54 20 34 | based..|// RMT 4|
|00000610| 2f 32 30 2f 39 35 3a 20 | 66 69 78 65 64 20 6d 61 |/20/95: |fixed ma|
|00000620| 63 72 6f 20 66 6f 72 20 | 4d 57 65 72 6b 73 20 28 |cro for |MWerks (|
|00000630| 77 61 73 20 72 65 64 65 | 66 69 6e 69 6e 67 20 47 |was rede|fining G|
|00000640| 4c 4f 42 41 4c 53 5f 41 | 4c 57 41 59 53 5f 41 56 |LOBALS_A|LWAYS_AV|
|00000650| 41 49 4c 41 42 4c 45 29 | 0d 2f 2f 3d 3d 3d 3d 3d |AILABLE)|.//=====|
|00000660| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000670| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000680| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000690| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0d 23 69 66 6e 64 |========|=..#ifnd|
|000006b0| 65 66 20 5f 48 5f 61 34 | 67 6c 6f 62 61 6c 73 0d |ef _H_a4|globals.|
|000006c0| 23 64 65 66 69 6e 65 20 | 5f 48 5f 61 34 67 6c 6f |#define |_H_a4glo|
|000006d0| 62 61 6c 73 0d 0d 2f 2f | 3d 3d 3d 3d 3d 3d 3d 3d |bals..//|========|
|000006e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000700| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000710| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000720| 3d 3d 3d 3d 3d 3d 0d 2f | 2f 20 43 68 65 63 6b 20 |======./|/ Check |
|00000730| 69 66 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 70 |if the c|urrent p|
|00000740| 72 6f 6a 65 63 74 20 6e | 65 65 64 73 20 74 6f 20 |roject n|eeds to |
|00000750| 73 65 74 20 75 70 20 74 | 68 65 20 65 6e 76 69 72 |set up t|he envir|
|00000760| 6f 6e 6d 65 6e 74 20 62 | 65 66 6f 72 65 20 61 63 |onment b|efore ac|
|00000770| 63 65 73 73 69 6e 67 0d | 2f 2f 20 69 74 73 20 67 |cessing.|// its g|
|00000780| 6c 6f 62 61 6c 20 76 61 | 72 69 61 62 6c 65 73 2e |lobal va|riables.|
|00000790| 20 47 6c 6f 62 61 6c 73 | 20 61 72 65 20 61 6c 77 | Globals| are alw|
|000007a0| 61 79 73 20 61 76 61 69 | 6c 61 62 6c 65 20 69 6e |ays avai|lable in|
|000007b0| 20 50 6f 77 65 72 50 43 | 20 63 6f 64 65 20 66 72 | PowerPC| code fr|
|000007c0| 61 67 6d 65 6e 74 73 0d | 2f 2f 20 61 6e 64 20 69 |agments.|// and i|
|000007d0| 6e 20 36 38 4b 20 61 70 | 70 6c 69 63 61 74 69 6f |n 68K ap|plicatio|
|000007e0| 6e 73 2c 20 77 68 65 72 | 65 61 73 20 36 38 4b 20 |ns, wher|eas 68K |
|000007f0| 41 34 2d 62 61 73 65 64 | 20 70 72 6f 6a 65 63 74 |A4-based| project|
|00000800| 73 20 68 61 76 65 20 74 | 6f 20 73 65 74 20 75 70 |s have t|o set up|
|00000810| 20 74 68 65 20 41 34 0d | 2f 2f 20 72 65 67 69 73 | the A4.|// regis|
|00000820| 74 65 72 20 62 65 66 6f | 72 65 20 75 73 69 6e 67 |ter befo|re using|
|00000830| 20 74 68 65 20 67 6c 6f | 62 61 6c 73 20 61 6e 64 | the glo|bals and|
|00000840| 20 72 65 73 74 6f 72 65 | 20 69 74 20 77 68 65 6e | restore| it when|
|00000850| 20 74 68 65 79 20 61 72 | 65 20 64 6f 6e 65 2e 0d | they ar|e done..|
|00000860| 2f 2f 20 4e 6f 74 65 3a | 20 74 68 69 73 20 6d 65 |// Note:| this me|
|00000870| 74 68 6f 64 20 63 61 6e | 27 74 20 62 65 20 75 73 |thod can|'t be us|
|00000880| 65 64 20 74 6f 20 67 61 | 69 6e 20 61 63 63 65 73 |ed to ga|in acces|
|00000890| 73 20 74 6f 20 36 38 4b | 20 41 35 2d 62 61 73 65 |s to 68K| A5-base|
|000008a0| 64 20 61 70 70 6c 69 63 | 61 74 69 6f 6e 0d 2f 2f |d applic|ation.//|
|000008b0| 20 67 6c 6f 62 61 6c 73 | 20 66 72 6f 6d 20 63 61 | globals| from ca|
|000008c0| 6c 6c 62 61 63 6b 20 72 | 6f 75 74 69 6e 65 73 20 |llback r|outines |
|000008d0| 73 75 63 68 20 61 73 20 | 56 42 4c 20 6f 72 20 54 |such as |VBL or T|
|000008e0| 69 6d 65 20 4d 61 6e 61 | 67 65 72 20 74 61 73 6b |ime Mana|ger task|
|000008f0| 73 2e 0d 2f 2f 20 28 74 | 68 69 73 20 73 65 63 74 |s..// (t|his sect|
|00000900| 69 6f 6e 20 77 61 73 20 | 6f 72 69 67 69 6e 61 6c |ion was |original|
|00000910| 6c 79 20 63 6f 6e 63 65 | 69 76 65 64 20 62 79 20 |ly conce|ived by |
|00000920| 52 4d 54 29 0d 0d 23 69 | 66 20 47 45 4e 45 52 41 |RMT)..#i|f GENERA|
|00000930| 54 49 4e 47 50 4f 57 45 | 52 50 43 09 2f 2f 20 61 |TINGPOWE|RPC.// a|
|00000940| 6e 79 20 50 6f 77 65 72 | 50 43 20 63 6f 6d 70 69 |ny Power|PC compi|
|00000950| 6c 65 72 0d 0d 09 23 64 | 65 66 69 6e 65 20 47 4c |ler...#d|efine GL|
|00000960| 4f 42 41 4c 53 5f 41 4c | 57 41 59 53 5f 41 56 41 |OBALS_AL|WAYS_AVA|
|00000970| 49 4c 41 42 4c 45 20 31 | 0d 0d 23 65 6c 69 66 20 |ILABLE 1|..#elif |
|00000980| 64 65 66 69 6e 65 64 28 | 54 48 49 4e 4b 5f 43 29 |defined(|THINK_C)|
|00000990| 09 2f 2f 20 54 68 69 6e | 6b 20 43 20 36 38 4b 0d |.// Thin|k C 68K.|
|000009a0| 0d 09 23 69 66 20 5f 5f | 6f 70 74 69 6f 6e 28 61 |..#if __|option(a|
|000009b0| 34 5f 67 6c 6f 62 61 6c | 73 29 0d 09 09 23 64 65 |4_global|s)...#de|
|000009c0| 66 69 6e 65 20 47 4c 4f | 42 41 4c 53 5f 41 4c 57 |fine GLO|BALS_ALW|
|000009d0| 41 59 53 5f 41 56 41 49 | 4c 41 42 4c 45 20 30 0d |AYS_AVAI|LABLE 0.|
|000009e0| 09 23 65 6c 73 65 0d 09 | 09 23 64 65 66 69 6e 65 |.#else..|.#define|
|000009f0| 20 47 4c 4f 42 41 4c 53 | 5f 41 4c 57 41 59 53 5f | GLOBALS|_ALWAYS_|
|00000a00| 41 56 41 49 4c 41 42 4c | 45 20 31 0d 09 23 65 6e |AVAILABL|E 1..#en|
|00000a10| 64 69 66 0d 0d 23 65 6c | 69 66 20 64 65 66 69 6e |dif..#el|if defin|
|00000a20| 65 64 28 5f 5f 4d 57 45 | 52 4b 53 5f 5f 29 09 2f |ed(__MWE|RKS__)./|
|00000a30| 2f 20 43 6f 64 65 57 61 | 72 72 69 6f 72 20 36 38 |/ CodeWa|rrior 68|
|00000a40| 4b 0d 0d 09 23 69 66 20 | 5f 5f 41 35 5f 5f 0d 09 |K...#if |__A5__..|
|00000a50| 09 23 64 65 66 69 6e 65 | 20 47 4c 4f 42 41 4c 53 |.#define| GLOBALS|
|00000a60| 5f 41 4c 57 41 59 53 5f | 41 56 41 49 4c 41 42 4c |_ALWAYS_|AVAILABL|
|00000a70| 45 20 31 0d 09 23 65 6c | 73 65 0d 09 09 23 64 65 |E 1..#el|se...#de|
|00000a80| 66 69 6e 65 20 47 4c 4f | 42 41 4c 53 5f 41 4c 57 |fine GLO|BALS_ALW|
|00000a90| 41 59 53 5f 41 56 41 49 | 4c 41 42 4c 45 20 30 0d |AYS_AVAI|LABLE 0.|
|00000aa0| 09 23 65 6e 64 69 66 0d | 0d 23 65 6c 73 65 09 2f |.#endif.|.#else./|
|00000ab0| 2f 20 75 6e 6b 6e 6f 77 | 6e 20 63 6f 6d 70 69 6c |/ unknow|n compil|
|00000ac0| 65 72 2c 20 73 74 6f 70 | 20 68 65 72 65 0d 0d 09 |er, stop| here...|
|00000ad0| 23 65 72 72 6f 72 20 75 | 6e 73 75 70 70 6f 72 74 |#error u|nsupport|
|00000ae0| 65 64 20 63 6f 6d 70 69 | 6c 65 72 0d 0d 23 65 6e |ed compi|ler..#en|
|00000af0| 64 69 66 09 2f 2f 20 65 | 6e 64 20 6f 66 20 70 72 |dif.// e|nd of pr|
|00000b00| 6f 6a 65 63 74 20 74 79 | 70 65 20 63 68 65 63 6b |oject ty|pe check|
|00000b10| 0d 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00000b20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b60| 3d 3d 0d 2f 2f 20 54 68 | 65 20 66 6f 6c 6c 6f 77 |==.// Th|e follow|
|00000b70| 69 6e 67 20 6d 61 63 72 | 6f 73 20 63 61 6e 20 62 |ing macr|os can b|
|00000b80| 65 20 75 73 65 64 20 62 | 79 20 61 6e 79 20 70 72 |e used b|y any pr|
|00000b90| 6f 6a 65 63 74 20 74 6f | 20 73 65 74 20 75 70 20 |oject to| set up |
|00000ba0| 61 6e 64 20 72 65 73 74 | 6f 72 65 20 74 68 65 0d |and rest|ore the.|
|00000bb0| 2f 2f 20 67 6c 6f 62 61 | 6c 73 20 65 6e 76 69 72 |// globa|ls envir|
|00000bc0| 6f 6e 6d 65 6e 74 2e 20 | 42 6f 74 68 20 74 68 65 |onment. |Both the|
|00000bd0| 20 54 68 69 6e 6b 20 43 | 20 61 6e 64 20 43 6f 64 | Think C| and Cod|
|00000be0| 65 57 61 72 72 69 6f 72 | 20 68 65 61 64 65 72 73 |eWarrior| headers|
|00000bf0| 20 69 6e 63 6c 75 64 65 | 20 73 74 61 74 69 63 0d | include| static.|
|00000c00| 2f 2f 20 63 6f 64 65 2c | 20 73 6f 20 74 68 69 73 |// code,| so this|
|00000c10| 20 68 65 61 64 65 72 20 | 73 68 6f 75 6c 64 20 6f | header |should o|
|00000c20| 6e 6c 79 20 62 65 20 69 | 6e 63 6c 75 64 65 64 20 |nly be i|ncluded |
|00000c30| 6f 6e 63 65 20 74 68 72 | 6f 75 67 68 6f 75 74 20 |once thr|oughout |
|00000c40| 74 68 65 20 70 72 6f 6a | 65 63 74 2e 0d 2f 2f 0d |the proj|ect..//.|
|00000c50| 2f 2f 20 54 68 65 20 23 | 69 6e 63 6c 75 64 65 20 |// The #|include |
|00000c60| 22 41 34 47 6c 6f 62 61 | 6c 73 2e 68 22 20 73 74 |"A4Globa|ls.h" st|
|00000c70| 61 74 65 6d 65 6e 74 20 | 73 68 6f 75 6c 64 20 62 |atement |should b|
|00000c80| 65 20 61 74 20 74 68 65 | 20 62 65 67 69 6e 6e 69 |e at the| beginni|
|00000c90| 6e 67 20 6f 66 20 74 68 | 65 20 73 6f 75 72 63 65 |ng of th|e source|
|00000ca0| 0d 2f 2f 20 66 69 6c 65 | 20 63 6f 6e 74 61 69 6e |.// file| contain|
|00000cb0| 69 6e 67 20 74 68 65 20 | 6d 61 69 6e 20 72 6f 75 |ing the |main rou|
|00000cc0| 74 69 6e 65 3b 20 79 6f | 75 20 73 68 6f 75 6c 64 |tine; yo|u should|
|00000cd0| 20 64 65 63 6c 61 72 65 | 20 61 20 22 77 6f 72 6c | declare| a "worl|
|00000ce0| 64 22 20 6c 6f 63 61 6c | 20 76 61 72 69 61 62 6c |d" local| variabl|
|00000cf0| 65 0d 2f 2f 20 6f 66 20 | 74 79 70 65 20 22 6c 6f |e.// of |type "lo|
|00000d00| 6e 67 22 20 61 6e 64 20 | 63 61 6c 6c 20 4d 41 49 |ng" and |call MAI|
|00000d10| 4e 5f 53 45 54 55 50 5f | 47 4c 4f 42 41 4c 53 28 |N_SETUP_|GLOBALS(|
|00000d20| 77 6f 72 6c 64 29 20 61 | 74 20 74 68 65 20 62 65 |world) a|t the be|
|00000d30| 67 69 6e 6e 69 6e 67 20 | 6f 66 20 74 68 65 0d 2f |ginning |of the./|
|00000d40| 2f 20 6d 61 69 6e 20 72 | 6f 75 74 69 6e 65 20 61 |/ main r|outine a|
|00000d50| 6e 64 20 4d 41 49 4e 5f | 52 45 53 54 4f 52 45 5f |nd MAIN_|RESTORE_|
|00000d60| 47 4c 4f 42 41 4c 53 28 | 77 6f 72 6c 64 29 20 61 |GLOBALS(|world) a|
|00000d70| 74 20 74 68 65 20 65 6e | 64 2e 20 52 65 6d 65 6d |t the en|d. Remem|
|00000d80| 62 65 72 20 6e 6f 74 20 | 74 6f 20 75 73 65 0d 2f |ber not |to use./|
|00000d90| 2f 20 61 6e 79 20 22 72 | 65 74 75 72 6e 22 20 73 |/ any "r|eturn" s|
|00000da0| 74 61 74 65 6d 65 6e 74 | 20 62 65 74 77 65 65 6e |tatement| between|
|00000db0| 20 74 68 65 20 74 77 6f | 20 6d 61 63 72 6f 73 2c | the two| macros,|
|00000dc0| 20 6f 72 20 79 6f 75 27 | 6c 6c 20 72 65 74 75 72 | or you'|ll retur|
|00000dd0| 6e 20 74 6f 20 74 68 65 | 20 63 61 6c 6c 65 72 0d |n to the| caller.|
|00000de0| 2f 2f 20 77 69 74 68 6f | 75 74 20 72 65 73 74 6f |// witho|ut resto|
|00000df0| 72 69 6e 67 20 74 68 65 | 20 41 34 20 72 65 67 69 |ring the| A4 regi|
|00000e00| 73 74 65 72 20 28 77 68 | 69 63 68 20 63 61 6e 20 |ster (wh|ich can |
|00000e10| 62 65 20 72 65 61 6c 6c | 79 20 62 61 64 29 2e 20 |be reall|y bad). |
|00000e20| 41 6c 73 6f 2c 20 64 6f | 6e 27 74 20 74 72 79 0d |Also, do|n't try.|
|00000e30| 2f 2f 20 74 6f 20 75 73 | 65 20 67 6c 6f 62 61 6c |// to us|e global|
|00000e40| 20 76 61 72 69 61 62 6c | 65 73 20 61 66 74 65 72 | variabl|es after|
|00000e50| 20 74 68 65 20 4d 41 49 | 4e 5f 52 45 53 54 4f 52 | the MAI|N_RESTOR|
|00000e60| 45 5f 47 4c 4f 42 41 4c | 53 20 6d 61 63 72 6f 3b |E_GLOBAL|S macro;|
|00000e70| 20 69 66 20 79 6f 75 20 | 6e 65 65 64 20 61 0d 2f | if you |need a./|
|00000e80| 2f 20 67 6c 6f 62 61 6c | 20 66 6f 72 20 79 6f 75 |/ global| for you|
|00000e90| 72 20 66 75 6e 63 74 69 | 6f 6e 20 72 65 73 75 6c |r functi|on resul|
|00000ea0| 74 2c 20 63 6f 70 79 20 | 69 74 20 74 6f 20 61 20 |t, copy |it to a |
|00000eb0| 6c 6f 63 61 6c 20 76 61 | 72 69 61 62 6c 65 2e 20 |local va|riable. |
|00000ec0| 59 6f 75 20 63 61 6e 20 | 75 73 65 20 74 68 65 0d |You can |use the.|
|00000ed0| 2f 2f 20 54 45 4d 50 5f | 53 45 54 55 50 5f 47 4c |// TEMP_|SETUP_GL|
|00000ee0| 4f 42 41 4c 53 20 61 6e | 64 20 54 45 4d 50 5f 52 |OBALS an|d TEMP_R|
|00000ef0| 45 53 54 4f 52 45 5f 47 | 4c 4f 42 41 4c 53 20 6d |ESTORE_G|LOBALS m|
|00000f00| 61 63 72 6f 73 20 69 6e | 20 72 6f 75 74 69 6e 65 |acros in| routine|
|00000f10| 73 20 74 68 61 74 20 61 | 72 65 0d 2f 2f 20 63 61 |s that a|re.// ca|
|00000f20| 6c 6c 65 64 20 77 69 74 | 68 6f 75 74 20 67 6f 69 |lled wit|hout goi|
|00000f30| 6e 67 20 74 68 72 6f 75 | 67 68 20 74 68 65 20 6d |ng throu|gh the m|
|00000f40| 61 69 6e 20 65 6e 74 72 | 79 20 70 6f 69 6e 74 2c |ain entr|y point,|
|00000f50| 20 61 73 20 6c 6f 6e 67 | 20 61 73 20 74 68 65 79 | as long| as they|
|00000f60| 20 61 72 65 20 69 6e 0d | 2f 2f 20 74 68 65 20 73 | are in.|// the s|
|00000f70| 61 6d 65 20 66 69 6c 65 | 20 61 73 20 74 68 65 20 |ame file| as the |
|00000f80| 6d 61 69 6e 20 72 6f 75 | 74 69 6e 65 2e 20 53 65 |main rou|tine. Se|
|00000f90| 65 20 62 65 6c 6f 77 20 | 66 6f 72 20 6d 6f 72 65 |e below |for more|
|00000fa0| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 6f 6e 20 | informa|tion on |
|00000fb0| 68 6f 77 20 74 6f 0d 2f | 2f 20 61 63 63 65 73 73 |how to./|/ access|
|00000fc0| 20 67 6c 6f 62 61 6c 20 | 76 61 72 69 61 62 6c 65 | global |variable|
|00000fd0| 73 20 66 72 6f 6d 20 63 | 6f 64 65 20 74 68 61 74 |s from c|ode that|
|00000fe0| 20 6c 69 76 65 73 20 69 | 6e 20 6f 74 68 65 72 20 | lives i|n other |
|00000ff0| 73 6f 75 72 63 65 20 66 | 69 6c 65 73 20 61 6e 64 |source f|iles and|
|00001000| 20 67 65 74 73 0d 2f 2f | 20 63 61 6c 6c 65 64 20 | gets.//| called |
|00001010| 77 69 74 68 6f 75 74 20 | 67 6f 69 6e 67 20 74 68 |without |going th|
|00001020| 72 6f 75 67 68 20 6d 61 | 69 6e 2e 0d 0d 23 69 66 |rough ma|in...#if|
|00001030| 20 47 4c 4f 42 41 4c 53 | 5f 41 4c 57 41 59 53 5f | GLOBALS|_ALWAYS_|
|00001040| 41 56 41 49 4c 41 42 4c | 45 09 2f 2f 20 50 6f 77 |AVAILABL|E.// Pow|
|00001050| 65 72 50 43 20 63 6f 64 | 65 20 66 72 61 67 6d 65 |erPC cod|e fragme|
|00001060| 6e 74 20 6f 72 20 36 38 | 4b 20 61 70 70 6c 69 63 |nt or 68|K applic|
|00001070| 61 74 69 6f 6e 0d 0d 09 | 23 64 65 66 69 6e 65 20 |ation...|#define |
|00001080| 4d 41 49 4e 5f 53 45 54 | 55 50 5f 47 4c 4f 42 41 |MAIN_SET|UP_GLOBA|
|00001090| 4c 53 28 78 29 09 7b 20 | 78 20 3d 20 30 3b 20 7d |LS(x).{ |x = 0; }|
|000010a0| 09 2f 2f 20 74 6f 20 61 | 76 6f 69 64 20 22 75 6e |.// to a|void "un|
|000010b0| 75 73 65 64 20 76 61 72 | 22 20 77 61 72 6e 69 6e |used var|" warnin|
|000010c0| 67 73 0d 09 23 64 65 66 | 69 6e 65 20 4d 41 49 4e |gs..#def|ine MAIN|
|000010d0| 5f 52 45 53 54 4f 52 45 | 5f 47 4c 4f 42 41 4c 53 |_RESTORE|_GLOBALS|
|000010e0| 28 78 29 0d 09 23 64 65 | 66 69 6e 65 20 54 45 4d |(x)..#de|fine TEM|
|000010f0| 50 5f 53 45 54 55 50 5f | 47 4c 4f 42 41 4c 53 28 |P_SETUP_|GLOBALS(|
|00001100| 78 29 09 7b 20 78 20 3d | 20 30 3b 20 7d 0d 09 23 |x).{ x =| 0; }..#|
|00001110| 64 65 66 69 6e 65 20 54 | 45 4d 50 5f 52 45 53 54 |define T|EMP_REST|
|00001120| 4f 52 45 5f 47 4c 4f 42 | 41 4c 53 28 78 29 0d 0d |ORE_GLOB|ALS(x)..|
|00001130| 23 65 6c 69 66 20 64 65 | 66 69 6e 65 64 28 54 48 |#elif de|fined(TH|
|00001140| 49 4e 4b 5f 43 29 09 2f | 2f 20 54 68 69 6e 6b 20 |INK_C)./|/ Think |
|00001150| 43 20 41 34 2d 62 61 73 | 65 64 20 70 72 6f 6a 65 |C A4-bas|ed proje|
|00001160| 63 74 0d 0d 09 23 69 6e | 63 6c 75 64 65 20 3c 53 |ct...#in|clude <S|
|00001170| 65 74 55 70 41 34 2e 68 | 3e 0d 09 23 64 65 66 69 |etUpA4.h|>..#defi|
|00001180| 6e 65 20 4d 41 49 4e 5f | 53 45 54 55 50 5f 47 4c |ne MAIN_|SETUP_GL|
|00001190| 4f 42 41 4c 53 28 78 29 | 09 7b 20 52 65 6d 65 6d |OBALS(x)|.{ Remem|
|000011a0| 62 65 72 41 30 28 29 3b | 20 53 65 74 55 70 41 34 |berA0();| SetUpA4|
|000011b0| 28 29 3b 20 61 73 6d 20 | 7b 20 4d 4f 56 45 2e 4c |(); asm |{ MOVE.L|
|000011c0| 20 28 41 37 29 2b 2c 20 | 78 20 7d 20 7d 0d 09 23 | (A7)+, |x } }..#|
|000011d0| 64 65 66 69 6e 65 20 4d | 41 49 4e 5f 52 45 53 54 |define M|AIN_REST|
|000011e0| 4f 52 45 5f 47 4c 4f 42 | 41 4c 53 28 78 29 09 7b |ORE_GLOB|ALS(x).{|
|000011f0| 20 61 73 6d 20 7b 20 4d | 4f 56 45 2e 4c 20 78 2c | asm { M|OVE.L x,|
|00001200| 20 2d 28 41 37 29 20 7d | 20 52 65 73 74 6f 72 65 | -(A7) }| Restore|
|00001210| 41 34 28 29 3b 20 7d 0d | 09 23 64 65 66 69 6e 65 |A4(); }.|.#define|
|00001220| 20 54 45 4d 50 5f 53 45 | 54 55 50 5f 47 4c 4f 42 | TEMP_SE|TUP_GLOB|
|00001230| 41 4c 53 28 78 29 09 7b | 20 53 65 74 55 70 41 34 |ALS(x).{| SetUpA4|
|00001240| 28 29 3b 20 61 73 6d 20 | 7b 20 4d 4f 56 45 2e 4c |(); asm |{ MOVE.L|
|00001250| 20 28 41 37 29 2b 2c 20 | 78 20 7d 20 7d 0d 09 23 | (A7)+, |x } }..#|
|00001260| 64 65 66 69 6e 65 20 54 | 45 4d 50 5f 52 45 53 54 |define T|EMP_REST|
|00001270| 4f 52 45 5f 47 4c 4f 42 | 41 4c 53 28 78 29 09 7b |ORE_GLOB|ALS(x).{|
|00001280| 20 61 73 6d 20 7b 20 4d | 4f 56 45 2e 4c 20 78 2c | asm { M|OVE.L x,|
|00001290| 20 2d 28 41 37 29 20 7d | 20 52 65 73 74 6f 72 65 | -(A7) }| Restore|
|000012a0| 41 34 28 29 3b 20 7d 0d | 09 0d 23 65 6c 69 66 20 |A4(); }.|..#elif |
|000012b0| 64 65 66 69 6e 65 64 28 | 5f 5f 4d 57 45 52 4b 53 |defined(|__MWERKS|
|000012c0| 5f 5f 29 09 2f 2f 20 43 | 6f 64 65 57 61 72 72 69 |__).// C|odeWarri|
|000012d0| 6f 72 20 41 34 2d 62 61 | 73 65 64 20 70 72 6f 6a |or A4-ba|sed proj|
|000012e0| 65 63 74 0d 0d 09 23 69 | 6e 63 6c 75 64 65 20 3c |ect...#i|nclude <|
|000012f0| 41 34 53 74 75 66 66 2e | 68 3e 0d 09 23 69 6e 63 |A4Stuff.|h>..#inc|
|00001300| 6c 75 64 65 20 3c 53 65 | 74 55 70 41 34 2e 68 3e |lude <Se|tUpA4.h>|
|00001310| 0d 09 23 64 65 66 69 6e | 65 20 4d 41 49 4e 5f 53 |..#defin|e MAIN_S|
|00001320| 45 54 55 50 5f 47 4c 4f | 42 41 4c 53 28 78 29 09 |ETUP_GLO|BALS(x).|
|00001330| 7b 20 78 20 3d 20 53 65 | 74 43 75 72 72 65 6e 74 |{ x = Se|tCurrent|
|00001340| 41 34 28 29 3b 20 52 65 | 6d 65 6d 62 65 72 41 34 |A4(); Re|memberA4|
|00001350| 28 29 3b 20 7d 0d 09 23 | 64 65 66 69 6e 65 20 4d |(); }..#|define M|
|00001360| 41 49 4e 5f 52 45 53 54 | 4f 52 45 5f 47 4c 4f 42 |AIN_REST|ORE_GLOB|
|00001370| 41 4c 53 28 78 29 09 7b | 20 28 76 6f 69 64 29 53 |ALS(x).{| (void)S|
|00001380| 65 74 41 34 28 78 29 3b | 20 7d 0d 09 23 64 65 66 |etA4(x);| }..#def|
|00001390| 69 6e 65 20 54 45 4d 50 | 5f 53 45 54 55 50 5f 47 |ine TEMP|_SETUP_G|
|000013a0| 4c 4f 42 41 4c 53 28 78 | 29 09 7b 20 78 20 3d 20 |LOBALS(x|).{ x = |
|000013b0| 53 65 74 55 70 41 34 28 | 29 3b 20 7d 0d 09 23 64 |SetUpA4(|); }..#d|
|000013c0| 65 66 69 6e 65 20 54 45 | 4d 50 5f 52 45 53 54 4f |efine TE|MP_RESTO|
|000013d0| 52 45 5f 47 4c 4f 42 41 | 4c 53 28 78 29 09 7b 20 |RE_GLOBA|LS(x).{ |
|000013e0| 28 76 6f 69 64 29 52 65 | 73 74 6f 72 65 41 34 28 |(void)Re|storeA4(|
|000013f0| 78 29 3b 20 7d 0d 0d 23 | 65 6e 64 69 66 09 2f 2f |x); }..#|endif.//|
|00001400| 20 65 6e 64 20 6f 66 20 | 63 6f 6d 70 69 6c 65 72 | end of |compiler|
|00001410| 2d 73 70 65 63 69 66 69 | 63 20 6d 61 63 72 6f 73 |-specifi|c macros|
|00001420| 0d 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00001430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001440| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001450| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001460| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001470| 3d 3d 0d 2f 2f 20 41 66 | 74 65 72 20 79 6f 75 20 |==.// Af|ter you |
|00001480| 73 65 74 20 75 70 20 74 | 68 65 20 65 6e 76 69 72 |set up t|he envir|
|00001490| 6f 6e 6d 65 6e 74 2c 20 | 61 6c 6c 20 74 68 65 20 |onment, |all the |
|000014a0| 70 72 6f 6a 65 63 74 20 | 67 6c 6f 62 61 6c 73 20 |project |globals |
|000014b0| 61 72 65 20 61 76 61 69 | 6c 61 62 6c 65 20 74 6f |are avai|lable to|
|000014c0| 0d 2f 2f 20 79 6f 75 72 | 20 63 6f 64 65 20 6e 6f |.// your| code no|
|000014d0| 20 6d 61 74 74 65 72 20 | 77 68 61 74 20 73 6f 75 | matter |what sou|
|000014e0| 72 63 65 20 66 69 6c 65 | 20 69 74 20 6c 69 76 65 |rce file| it live|
|000014f0| 73 20 69 6e 2e 20 49 6e | 20 73 6f 6d 65 20 63 61 |s in. In| some ca|
|00001500| 73 65 73 2c 20 68 6f 77 | 65 76 65 72 2c 0d 2f 2f |ses, how|ever,.//|
|00001510| 20 79 6f 75 72 20 63 6f | 64 65 20 69 73 20 63 61 | your co|de is ca|
|00001520| 6c 6c 65 64 20 77 69 74 | 68 6f 75 74 20 67 6f 69 |lled wit|hout goi|
|00001530| 6e 67 20 74 68 72 6f 75 | 67 68 20 74 68 65 20 6d |ng throu|gh the m|
|00001540| 61 69 6e 20 65 6e 74 72 | 79 20 70 6f 69 6e 74 20 |ain entr|y point |
|00001550| 28 63 61 6c 6c 62 61 63 | 6b 0d 2f 2f 20 72 6f 75 |(callbac|k.// rou|
|00001560| 74 69 6e 65 73 2c 20 70 | 65 72 69 6f 64 69 63 20 |tines, p|eriodic |
|00001570| 74 61 73 6b 73 2c 20 74 | 72 61 70 20 70 61 74 63 |tasks, t|rap patc|
|00001580| 68 65 73 20 61 6e 64 20 | 73 6f 20 66 6f 72 74 68 |hes and |so forth|
|00001590| 29 2e 20 49 66 20 74 68 | 69 73 20 63 6f 64 65 20 |). If th|is code |
|000015a0| 69 73 20 69 6e 0d 2f 2f | 20 74 68 65 20 73 61 6d |is in.//| the sam|
|000015b0| 65 20 66 69 6c 65 20 61 | 73 20 74 68 65 20 6d 61 |e file a|s the ma|
|000015c0| 69 6e 20 72 6f 75 74 69 | 6e 65 2c 20 79 6f 75 20 |in routi|ne, you |
|000015d0| 63 61 6e 20 75 73 65 20 | 54 45 4d 50 5f 53 45 54 |can use |TEMP_SET|
|000015e0| 55 50 5f 47 4c 4f 42 41 | 4c 53 20 61 6e 64 0d 2f |UP_GLOBA|LS and./|
|000015f0| 2f 20 54 45 4d 50 5f 52 | 45 53 54 4f 52 45 5f 47 |/ TEMP_R|ESTORE_G|
|00001600| 4c 4f 42 41 4c 53 3b 20 | 6f 74 68 65 72 77 69 73 |LOBALS; |otherwis|
|00001610| 65 2c 20 79 6f 75 20 73 | 68 6f 75 6c 64 20 61 64 |e, you s|hould ad|
|00001620| 64 20 61 20 63 6f 75 70 | 6c 65 20 6f 66 20 72 6f |d a coup|le of ro|
|00001630| 75 74 69 6e 65 73 20 74 | 6f 0d 2f 2f 20 79 6f 75 |utines t|o.// you|
|00001640| 72 20 6d 61 69 6e 20 73 | 6f 75 72 63 65 20 66 69 |r main s|ource fi|
|00001650| 6c 65 20 77 68 6f 73 65 | 20 6f 6e 6c 79 20 74 61 |le whose| only ta|
|00001660| 73 6b 20 69 6e 20 6c 69 | 66 65 20 69 73 20 74 6f |sk in li|fe is to|
|00001670| 20 73 65 74 20 75 70 20 | 61 6e 64 20 72 65 73 74 | set up |and rest|
|00001680| 6f 72 65 20 74 68 65 0d | 2f 2f 20 65 6e 76 69 72 |ore the.|// envir|
|00001690| 6f 6e 6d 65 6e 74 20 66 | 6f 72 20 79 6f 75 2e 20 |onment f|or you. |
|000016a0| 48 65 72 65 27 73 20 61 | 20 73 69 6d 70 6c 65 20 |Here's a| simple |
|000016b0| 65 78 61 6d 70 6c 65 20 | 77 69 74 68 20 74 77 6f |example |with two|
|000016c0| 20 73 6f 75 72 63 65 20 | 66 69 6c 65 73 20 74 68 | source |files th|
|000016d0| 61 74 0d 2f 2f 20 73 68 | 6f 77 73 20 68 6f 77 20 |at.// sh|ows how |
|000016e0| 74 6f 20 75 73 65 20 74 | 68 65 20 6d 61 63 72 6f |to use t|he macro|
|000016f0| 73 20 63 6f 72 72 65 63 | 74 6c 79 3a 0d 2f 2a 0d |s correc|tly:./*.|
|00001700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001710| 2d 2d 2d 2d 2d 2d 2d 2d | 20 46 49 4c 45 3a 20 6d |--------| FILE: m|
|00001720| 61 69 6e 2e 63 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ain.c --|--------|
|00001730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|00001740| 23 69 6e 63 6c 75 64 65 | 20 22 41 34 47 6c 6f 62 |#include| "A4Glob|
|00001750| 61 6c 73 2e 68 22 0d 23 | 69 6e 63 6c 75 64 65 20 |als.h".#|include |
|00001760| 22 6f 74 68 65 72 2e 68 | 22 0d 0d 2f 2f 20 47 6c |"other.h|"..// Gl|
|00001770| 6f 62 61 6c 20 76 61 72 | 69 61 62 6c 65 73 3a 0d |obal var|iables:.|
|00001780| 6c 6f 6e 67 20 67 4e 75 | 6d 54 69 6d 65 73 43 61 |long gNu|mTimesCa|
|00001790| 6c 6c 65 64 3b 0d 0d 2f | 2f 20 4d 61 69 6e 20 65 |lled;../|/ Main e|
|000017a0| 6e 74 72 79 20 70 6f 69 | 6e 74 3b 20 73 65 74 20 |ntry poi|nt; set |
|000017b0| 75 70 20 67 6c 6f 62 61 | 6c 73 2c 20 63 61 6c 6c |up globa|ls, call|
|000017c0| 20 72 6f 75 74 69 6e 65 | 73 20 61 6e 64 20 69 6e | routine|s and in|
|000017d0| 73 74 61 6c 6c 20 63 61 | 6c 6c 62 61 63 6b 73 3a |stall ca|llbacks:|
|000017e0| 0d 70 61 73 63 61 6c 20 | 4f 53 45 72 72 20 6d 61 |.pascal |OSErr ma|
|000017f0| 69 6e 28 76 6f 69 64 29 | 0d 7b 0d 09 6c 6f 6e 67 |in(void)|.{..long|
|00001800| 09 77 6f 72 6c 64 3b 0d | 09 0d 09 4d 41 49 4e 5f |.world;.|...MAIN_|
|00001810| 53 45 54 55 50 5f 47 4c | 4f 42 41 4c 53 28 77 6f |SETUP_GL|OBALS(wo|
|00001820| 72 6c 64 29 3b 0d 09 44 | 6f 53 6f 6d 65 74 68 69 |rld);..D|oSomethi|
|00001830| 6e 67 46 72 6f 6d 4d 61 | 69 6e 46 69 6c 65 28 29 |ngFromMa|inFile()|
|00001840| 3b 0d 09 44 6f 53 6f 6d | 65 74 68 69 6e 67 46 72 |;..DoSom|ethingFr|
|00001850| 6f 6d 4f 74 68 65 72 46 | 69 6c 65 28 29 3b 0d 09 |omOtherF|ile();..|
|00001860| 49 6e 73 74 61 6c 6c 43 | 61 6c 6c 62 61 63 6b 52 |InstallC|allbackR|
|00001870| 6f 75 74 69 6e 65 28 43 | 61 6c 6c 62 61 63 6b 46 |outine(C|allbackF|
|00001880| 72 6f 6d 4d 61 69 6e 46 | 69 6c 65 29 3b 0d 09 49 |romMainF|ile);..I|
|00001890| 6e 73 74 61 6c 6c 43 61 | 6c 6c 62 61 63 6b 52 6f |nstallCa|llbackRo|
|000018a0| 75 74 69 6e 65 28 43 61 | 6c 6c 62 61 63 6b 46 72 |utine(Ca|llbackFr|
|000018b0| 6f 6d 4f 74 68 65 72 46 | 69 6c 65 29 3b 0d 09 4d |omOtherF|ile);..M|
|000018c0| 41 49 4e 5f 52 45 53 54 | 4f 52 45 5f 47 4c 4f 42 |AIN_REST|ORE_GLOB|
|000018d0| 41 4c 53 28 77 6f 72 6c | 64 29 3b 0d 09 72 65 74 |ALS(worl|d);..ret|
|000018e0| 75 72 6e 20 6e 6f 45 72 | 72 3b 0d 7d 0d 0d 2f 2f |urn noEr|r;.}..//|
|000018f0| 20 43 61 6c 6c 65 64 20 | 77 68 65 6e 20 74 68 65 | Called |when the|
|00001900| 20 67 6c 6f 62 61 6c 73 | 20 61 72 65 20 61 6c 72 | globals| are alr|
|00001910| 65 61 64 79 20 61 76 61 | 69 6c 61 62 6c 65 2c 20 |eady ava|ilable, |
|00001920| 6e 6f 20 6e 65 65 64 20 | 74 6f 20 73 65 74 20 74 |no need |to set t|
|00001930| 68 65 6d 20 75 70 20 61 | 67 61 69 6e 3a 0d 76 6f |hem up a|gain:.vo|
|00001940| 69 64 20 44 6f 53 6f 6d | 65 74 68 69 6e 67 46 72 |id DoSom|ethingFr|
|00001950| 6f 6d 4d 61 69 6e 46 69 | 6c 65 28 76 6f 69 64 29 |omMainFi|le(void)|
|00001960| 0d 7b 0d 09 67 4e 75 6d | 54 69 6d 65 73 43 61 6c |.{..gNum|TimesCal|
|00001970| 6c 65 64 20 3d 20 30 4c | 3b 0d 7d 0d 0d 2f 2f 20 |led = 0L|;.}..// |
|00001980| 43 61 6c 6c 65 64 20 77 | 69 74 68 6f 75 74 20 67 |Called w|ithout g|
|00001990| 6f 69 6e 67 20 74 68 72 | 6f 75 67 68 20 6d 61 69 |oing thr|ough mai|
|000019a0| 6e 2c 20 73 65 74 20 75 | 70 20 67 6c 6f 62 61 6c |n, set u|p global|
|000019b0| 73 20 77 69 74 68 20 54 | 45 4d 50 5f 53 45 54 55 |s with T|EMP_SETU|
|000019c0| 50 5f 47 4c 4f 42 41 4c | 53 3a 0d 70 61 73 63 61 |P_GLOBAL|S:.pasca|
|000019d0| 6c 20 6c 6f 6e 67 20 43 | 61 6c 6c 62 61 63 6b 46 |l long C|allbackF|
|000019e0| 72 6f 6d 4d 61 69 6e 46 | 69 6c 65 28 76 6f 69 64 |romMainF|ile(void|
|000019f0| 29 0d 7b 0d 09 6c 6f 6e | 67 09 77 6f 72 6c 64 2c |).{..lon|g.world,|
|00001a00| 20 74 69 6d 65 73 43 61 | 6c 6c 65 64 3b 0d 09 0d | timesCa|lled;...|
|00001a10| 09 54 45 4d 50 5f 53 45 | 54 55 50 5f 47 4c 4f 42 |.TEMP_SE|TUP_GLOB|
|00001a20| 41 4c 53 28 77 6f 72 6c | 64 29 3b 0d 09 2b 2b 67 |ALS(worl|d);..++g|
|00001a30| 4e 75 6d 54 69 6d 65 73 | 43 61 6c 6c 65 64 3b 0d |NumTimes|Called;.|
|00001a40| 09 74 69 6d 65 73 43 61 | 6c 6c 65 64 20 3d 20 67 |.timesCa|lled = g|
|00001a50| 4e 75 6d 54 69 6d 65 73 | 43 61 6c 6c 65 64 3b 0d |NumTimes|Called;.|
|00001a60| 09 54 45 4d 50 5f 52 45 | 53 54 4f 52 45 5f 47 4c |.TEMP_RE|STORE_GL|
|00001a70| 4f 42 41 4c 53 28 77 6f | 72 6c 64 29 3b 0d 09 72 |OBALS(wo|rld);..r|
|00001a80| 65 74 75 72 6e 20 74 69 | 6d 65 73 43 61 6c 6c 65 |eturn ti|mesCalle|
|00001a90| 64 3b 0d 7d 0d 0d 2f 2f | 20 53 65 74 20 75 70 20 |d;.}..//| Set up |
|00001aa0| 74 68 65 20 67 6c 6f 62 | 61 6c 73 20 65 6e 76 69 |the glob|als envi|
|00001ab0| 72 6f 6e 6d 65 6e 74 20 | 66 6f 72 20 72 6f 75 74 |ronment |for rout|
|00001ac0| 69 6e 65 73 20 74 68 61 | 74 20 6c 69 76 65 20 69 |ines tha|t live i|
|00001ad0| 6e 20 6f 74 68 65 72 20 | 66 69 6c 65 73 3a 0d 6c |n other |files:.l|
|00001ae0| 6f 6e 67 20 53 65 74 75 | 70 47 6c 6f 62 61 6c 73 |ong Setu|pGlobals|
|00001af0| 57 6f 72 6c 64 28 76 6f | 69 64 29 0d 7b 0d 09 6c |World(vo|id).{..l|
|00001b00| 6f 6e 67 09 77 6f 72 6c | 64 3b 0d 09 0d 09 54 45 |ong.worl|d;....TE|
|00001b10| 4d 50 5f 53 45 54 55 50 | 5f 47 4c 4f 42 41 4c 53 |MP_SETUP|_GLOBALS|
|00001b20| 28 77 6f 72 6c 64 29 3b | 0d 09 72 65 74 75 72 6e |(world);|..return|
|00001b30| 20 77 6f 72 6c 64 3b 0d | 7d 0d 0d 2f 2f 20 52 65 | world;.|}..// Re|
|00001b40| 73 74 6f 72 65 20 74 68 | 65 20 67 6c 6f 62 61 6c |store th|e global|
|00001b50| 73 20 65 6e 76 69 72 6f | 6e 6d 65 6e 74 20 66 6f |s enviro|nment fo|
|00001b60| 72 20 72 6f 75 74 69 6e | 65 73 20 74 68 61 74 20 |r routin|es that |
|00001b70| 6c 69 76 65 20 69 6e 20 | 6f 74 68 65 72 20 66 69 |live in |other fi|
|00001b80| 6c 65 73 3a 0d 76 6f 69 | 64 20 52 65 73 74 6f 72 |les:.voi|d Restor|
|00001b90| 65 47 6c 6f 62 61 6c 73 | 57 6f 72 6c 64 28 6c 6f |eGlobals|World(lo|
|00001ba0| 6e 67 20 77 6f 72 6c 64 | 29 0d 7b 0d 09 54 45 4d |ng world|).{..TEM|
|00001bb0| 50 5f 52 45 53 54 4f 52 | 45 5f 47 4c 4f 42 41 4c |P_RESTOR|E_GLOBAL|
|00001bc0| 53 28 77 6f 72 6c 64 29 | 3b 0d 7d 0d 0d 2d 2d 2d |S(world)|;.}..---|
|00001bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001be0| 2d 2d 2d 2d 2d 20 46 49 | 4c 45 3a 20 6f 74 68 65 |----- FI|LE: othe|
|00001bf0| 72 2e 63 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |r.c ----|--------|
|00001c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 23 69 |--------|----..#i|
|00001c10| 6e 63 6c 75 64 65 20 22 | 6d 61 69 6e 2e 68 22 0d |nclude "|main.h".|
|00001c20| 0d 2f 2f 20 47 6c 6f 62 | 61 6c 20 76 61 72 69 61 |.// Glob|al varia|
|00001c30| 62 6c 65 73 3a 0d 65 78 | 74 65 72 6e 20 6c 6f 6e |bles:.ex|tern lon|
|00001c40| 67 20 67 4e 75 6d 54 69 | 6d 65 73 43 61 6c 6c 65 |g gNumTi|mesCalle|
|00001c50| 64 3b 0d 0d 2f 2f 20 41 | 6c 74 68 6f 75 67 68 20 |d;..// A|lthough |
|00001c60| 6e 6f 74 20 69 6e 20 74 | 68 65 20 6d 61 69 6e 20 |not in t|he main |
|00001c70| 66 69 6c 65 2c 20 74 68 | 69 73 20 69 73 20 63 61 |file, th|is is ca|
|00001c80| 6c 6c 65 64 20 77 68 65 | 6e 20 74 68 65 20 67 6c |lled whe|n the gl|
|00001c90| 6f 62 61 6c 73 20 61 72 | 65 20 61 6c 72 65 61 64 |obals ar|e alread|
|00001ca0| 79 20 61 76 61 69 6c 61 | 62 6c 65 3a 0d 76 6f 69 |y availa|ble:.voi|
|00001cb0| 64 20 44 6f 53 6f 6d 65 | 74 68 69 6e 67 46 72 6f |d DoSome|thingFro|
|00001cc0| 6d 4f 74 68 65 72 46 69 | 6c 65 28 76 6f 69 64 29 |mOtherFi|le(void)|
|00001cd0| 0d 7b 0d 09 67 4e 75 6d | 54 69 6d 65 73 43 61 6c |.{..gNum|TimesCal|
|00001ce0| 6c 65 64 20 3d 20 30 4c | 3b 0d 7d 0d 0d 2f 2f 20 |led = 0L|;.}..// |
|00001cf0| 43 61 6c 6c 65 64 20 77 | 69 74 68 6f 75 74 20 67 |Called w|ithout g|
|00001d00| 6f 69 6e 67 20 74 68 72 | 6f 75 67 68 20 6d 61 69 |oing thr|ough mai|
|00001d10| 6e 2c 20 63 61 6e 27 74 | 20 75 73 65 20 74 68 65 |n, can't| use the|
|00001d20| 20 6d 61 63 72 6f 73 3b | 20 63 61 6c 6c 20 53 65 | macros;| call Se|
|00001d30| 74 75 70 47 6c 6f 62 61 | 6c 73 57 6f 72 6c 64 20 |tupGloba|lsWorld |
|00001d40| 69 6e 73 74 65 61 64 3a | 0d 70 61 73 63 61 6c 20 |instead:|.pascal |
|00001d50| 6c 6f 6e 67 20 43 61 6c | 6c 62 61 63 6b 46 72 6f |long Cal|lbackFro|
|00001d60| 6d 4f 74 68 65 72 46 69 | 6c 65 28 76 6f 69 64 29 |mOtherFi|le(void)|
|00001d70| 0d 7b 0d 09 6c 6f 6e 67 | 09 77 6f 72 6c 64 2c 20 |.{..long|.world, |
|00001d80| 74 69 6d 65 73 43 61 6c | 6c 65 64 3b 0d 09 0d 09 |timesCal|led;....|
|00001d90| 77 6f 72 6c 64 20 3d 20 | 53 65 74 75 70 47 6c 6f |world = |SetupGlo|
|00001da0| 62 61 6c 73 57 6f 72 6c | 64 28 29 3b 0d 09 2b 2b |balsWorl|d();..++|
|00001db0| 67 4e 75 6d 54 69 6d 65 | 73 43 61 6c 6c 65 64 3b |gNumTime|sCalled;|
|00001dc0| 0d 09 74 69 6d 65 73 43 | 61 6c 6c 65 64 20 3d 20 |..timesC|alled = |
|00001dd0| 67 4e 75 6d 54 69 6d 65 | 73 43 61 6c 6c 65 64 3b |gNumTime|sCalled;|
|00001de0| 0d 09 52 65 73 74 6f 72 | 65 47 6c 6f 62 61 6c 73 |..Restor|eGlobals|
|00001df0| 57 6f 72 6c 64 28 77 6f | 72 6c 64 29 3b 0d 09 72 |World(wo|rld);..r|
|00001e00| 65 74 75 72 6e 20 74 69 | 6d 65 73 43 61 6c 6c 65 |eturn ti|mesCalle|
|00001e10| 64 3b 0d 7d 0d 2a 2f 0d | 2f 2f 3d 3d 3d 3d 3d 3d |d;.}.*/.|//======|
|00001e20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001e30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001e40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001e60| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0d 23 65 6e 64 69 66 |========|..#endif|
|00001e70| 09 2f 2f 20 5f 48 5f 61 | 34 67 6c 6f 62 61 6c 73 |.// _H_a|4globals|
|00001e80| 0d 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00001e90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ea0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001eb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ec0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ed0| 3d 3d 0d 0d 00 00 00 00 | 00 00 00 00 00 00 00 00 |==......|........|
|00001ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f00| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00001f10| 00 00 14 03 18 54 6f 6f | 6c 53 65 72 76 65 72 20 |.....Too|lServer |
|00001f20| 52 65 66 65 72 65 6e 63 | 65 2e 69 64 78 00 00 00 |Referenc|e.idx...|
|00001f30| 0b 41 34 47 6c 6f 62 61 | 6c 73 2e 68 02 00 00 00 |.A4Globa|ls.h....|
|00001f40| 54 45 58 54 4d 4d 43 43 | 01 00 00 00 00 00 00 00 |TEXTMMCC|........|
|00001f50| 00 00 54 45 58 54 4d 4d | 43 43 01 00 00 00 00 00 |..TEXTMM|CC......|
|00001f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f70| 00 00 aa 48 b7 34 00 00 | 1e 54 00 00 01 9a 00 00 |...H.4..|.T......|
|00001f80| 00 00 00 00 00 00 00 00 | 00 00 05 15 25 00 00 00 |........|....%...|
|00001f90| 14 0a 0e 53 63 72 61 70 | 62 6f 6f 6b 20 46 69 6c |...Scrap|book Fil|
|00001fa0| 65 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |e.......|........|
|00001fb0| 00 00 00 00 05 26 25 00 | 00 00 14 0a 06 53 79 73 |.....&%.|.....Sys|
|00001fc0| 74 65 6d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |tem.....|........|
|00001fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 05 17 |........|........|
|00001fe0| 25 00 00 00 14 0b 15 41 | 70 70 6c 65 54 61 6c 6b |%......A|ppleTalk|
|00001ff0| 20 49 6d 61 67 65 57 72 | 69 74 65 72 00 00 00 00 | ImageWr|iter....|
|00002000| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00002010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002020| 00 00 00 00 00 00 00 03 | 00 04 00 57 00 0a 01 dc |........|...W....|
|00002030| 02 80 00 57 00 0a 01 dc | 02 80 ac 46 84 47 00 00 |...W....|...F.G..|
|00002040| 09 45 00 00 09 5d 00 00 | 06 56 01 00 00 00 00 04 |.E...]..|.V......|
|00002050| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00002060| 00 00 00 46 00 fc 30 c8 | 17 82 00 00 00 1c 00 46 |...F..0.|.......F|
|00002070| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00002080| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00002090| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000020a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+