home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: ArcFS Archive
(archive/arcFS).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| ArcFS Archive (archive/arcFS)
| magic
| Supported |
100%
| file
| RISC OS archive (ArcFS format)
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| Acorn ArcFS Archive
| default
| |
100%
| gt2
| Kopftext: 'Archive'
| default (weak)
| |
100%
| detectItEasy
| Archive: ArcFS
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 41 72 63 68 69 76 65 00 | b4 00 00 00 54 03 00 00 |Archive.|....T...|
|00000010| 28 00 00 00 64 00 00 00 | 00 00 00 00 00 00 00 00 |(...d...|........|
|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 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 82 44 4f 53 4d 61 70 73 | 00 00 00 00 7f 00 00 00 |.DOSMaps|........|
|00000070| 44 eb ff ff 91 ba 5c 24 | 03 00 7f 5f 7f 00 00 00 |D.....\$|..._....|
|00000080| 24 00 00 00 82 44 72 61 | 67 53 70 72 69 74 65 00 |$....Dra|gSprite.|
|00000090| 27 03 00 00 44 fb ff ff | 69 61 00 23 03 00 c7 4f |'...D...|ia.#...O|
|000000a0| 27 03 00 00 23 01 00 00 | 82 44 72 61 67 53 5f 49 |'...#...|.DragS_I|
|000000b0| 6e 66 6f 00 ad 0c 00 00 | 44 ff ff ff 70 42 86 29 |nfo.....|D...pB.)|
|000000c0| 03 00 bf b4 ad 0c 00 00 | 6e 04 00 00 82 4f 62 65 |........|n....Obe|
|000000d0| 79 5f 42 75 67 00 00 00 | 38 00 00 00 44 eb ff ff |y_Bug...|8...D...|
|000000e0| e0 56 86 29 03 00 85 0a | 38 00 00 00 c7 00 00 00 |.V.)....|8.......|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000350| 00 00 00 00 46 69 6c 65 | 44 61 74 61 82 44 4f 53 |....File|Data.DOS|
|00000360| 4d 61 70 73 00 00 00 00 | 7f 00 00 00 44 eb ff ff |Maps....|....D...|
|00000370| 91 ba 5c 24 03 00 7f 5f | 44 4f 53 4d 61 70 20 41 |..\$..._|DOSMap A|
|00000380| 52 43 20 41 72 63 68 69 | 76 65 0a 44 4f 53 4d 61 |RC Archi|ve.DOSMa|
|00000390| 70 20 5a 4f 4f 20 41 72 | 63 68 69 76 65 0a 44 4f |p ZOO Ar|chive.DO|
|000003a0| 53 4d 61 70 20 5a 49 50 | 20 41 72 63 68 69 76 65 |SMap ZIP| Archive|
|000003b0| 0a 44 4f 53 4d 61 70 20 | 54 58 54 20 54 65 78 74 |.DOSMap |TXT Text|
|000003c0| 0a 44 4f 53 4d 61 70 20 | 4d 45 20 20 54 65 78 74 |.DOSMap |ME Text|
|000003d0| 0a 44 4f 53 4d 61 70 20 | 43 20 20 20 54 65 78 74 |.DOSMap |C Text|
|000003e0| 0a 44 4f 53 4d 61 70 20 | 48 20 20 20 54 65 78 74 |.DOSMap |H Text|
|000003f0| 0a 44 4f 53 4d 61 70 46 | 69 6c 65 44 61 74 61 82 |.DOSMapF|ileData.|
|00000400| 4f 62 65 79 5f 42 75 67 | 00 00 00 38 00 00 00 44 |Obey_Bug|...8...D|
|00000410| eb ff ff e0 56 86 29 03 | 00 85 0a 45 63 68 6f 20 |....V.).|...Echo |
|00000420| 68 65 6c 6c 6f 20 7e 26 | 27 24 20 77 6f 72 6c 64 |hello ~&|'$ world|
|00000430| 0a 7c 20 54 68 69 73 20 | 66 69 6c 65 20 66 61 69 |.| This |file fai|
|00000440| 6c 73 20 72 6f 20 72 75 | 6e 20 75 6e 64 65 72 20 |ls ro ru|n under |
|00000450| 52 4f 32 46 69 6c 65 44 | 61 74 61 82 44 72 61 67 |RO2FileD|ata.Drag|
|00000460| 53 70 72 69 74 65 00 27 | 03 00 00 44 fb ff ff 69 |Sprite.'|...D...i|
|00000470| 61 00 23 03 00 c7 4f 0d | 00 0a 26 55 73 61 67 65 |a.#...O.|..&Usage|
|00000480| 24 20 3d 20 22 44 72 61 | 67 53 70 72 69 74 65 20 |$ = "Dra|gSprite |
|00000490| 5b 2d 4f 6e 5d 20 5b 2d | 4f 66 66 5d 22 0d 00 14 |[-On] [-|Off]"...|
|000004a0| 05 3a 0d 00 1e 3a f4 20 | 20 20 20 20 43 68 61 6e |.:...:. | Chan|
|000004b0| 67 65 20 73 74 61 74 65 | 20 6f 66 20 73 6f 6c 69 |ge state| of soli|
|000004c0| 64 20 44 72 61 67 41 53 | 70 72 69 74 65 20 64 65 |d DragAS|prite de|
|000004d0| 73 6b 74 6f 70 20 73 74 | 61 74 75 73 0d 00 28 05 |sktop st|atus..(.|
|000004e0| 3a 0d 00 32 17 c8 99 20 | 22 4f 53 5f 47 65 74 45 |:..2... |"OS_GetE|
|000004f0| 6e 76 22 20 b8 20 70 25 | 0d 00 3c 1c e7 20 a7 a4 |nv" . p%|..<.. ..|
|00000500| 67 65 74 7a 28 70 25 29 | 2c 20 22 2d 6c 6f 61 64 |getz(p%)|, "-load|
|00000510| 22 29 20 8c 0d 00 46 0d | 20 20 4f 6e 25 20 3d 20 |") ...F.| On% = |
|00000520| b9 0d 00 50 0e 20 20 4f | 66 66 25 20 3d 20 a3 0d |...P. O|ff% = ..|
|00000530| 00 5a 05 cc 0d 00 64 27 | 20 20 56 24 20 3d 20 22 |.Z....d'| V$ = "|
|00000540| 62 61 73 69 63 2c 71 75 | 69 74 2f 73 2c 2f 61 2c |basic,qu|it/s,/a,|
|00000550| 4f 6e 2f 73 2c 4f 66 66 | 2f 73 22 0d 00 6e 0e 20 |On/s,Off|/s"..n. |
|00000560| 20 de 20 62 25 20 35 31 | 32 0d 00 78 2e 20 20 c8 | . b% 51|2..x. .|
|00000570| 99 20 22 58 4f 53 5f 52 | 65 61 64 41 72 67 73 22 |. "XOS_R|eadArgs"|
|00000580| 2c 20 56 24 2c 20 70 25 | 2c 20 62 25 2c 20 35 31 |, V$, p%|, b%, 51|
|00000590| 32 20 b8 20 3b 43 25 0d | 00 82 27 20 20 e7 20 43 |2 . ;C%.|..' . C|
|000005a0| 25 20 80 20 31 20 8c 20 | 85 20 31 2c 20 22 55 73 |% . 1 . |. 1, "Us|
|000005b0| 61 67 65 3a 20 22 2b 20 | 55 73 61 67 65 24 0d 00 |age: "+ |Usage$..|
|000005c0| 8c 1d 20 20 4f 6e 25 20 | 20 20 20 20 20 3d 20 a4 |.. On% | = .|
|000005d0| 67 65 74 62 28 62 25 21 | 31 32 29 0d 00 96 1d 20 |getb(b%!|12).... |
|000005e0| 20 4f 66 66 25 20 20 20 | 20 20 3d 20 a4 67 65 74 | Off% | = .get|
|000005f0| 62 28 62 25 21 31 36 29 | 0d 00 a0 05 cd 0d 00 aa |b(b%!16)|........|
|00000600| 0a f2 5f 4d 61 69 6e 0d | 00 b4 05 e0 0d 00 be 05 |.._Main.|........|
|00000610| 3a 0d 00 c8 0f dd 20 a4 | 67 65 74 7a 28 62 25 29 |:..... .|getz(b%)|
|00000620| 0d 00 d2 08 ea 20 56 24 | 0d 00 dc 1e 20 20 c8 95 |..... V$|.... ..|
|00000630| 3f 62 25 3a 56 24 2b 3d | bd 28 3f 62 25 29 3a 62 |?b%:V$+=|.(?b%):b|
|00000640| 25 2b 3d 31 3a ce 0d 00 | e6 08 3d 20 56 24 0d 00 |%+=1:...|..= V$..|
|00000650| f0 05 3a 0d 00 fa 0f dd | 20 a4 67 65 74 62 28 62 |..:.....| .getb(b|
|00000660| 25 29 0d 01 04 08 3d 20 | 62 25 0d 01 0e 05 3a 0d |%)....= |b%....:.|
|00000670| 01 18 0c dd 20 f2 5f 4d | 61 69 6e 0d 01 22 24 20 |.... ._M|ain.."$ |
|00000680| 20 c8 99 20 22 4f 53 5f | 42 79 74 65 22 2c 20 31 | .. "OS_|Byte", 1|
|00000690| 36 31 2c 20 32 38 20 b8 | 20 2c 2c 6f 6c 64 25 0d |61, 28 .| ,,old%.|
|000006a0| 01 2c 0d 20 20 e7 20 4f | 6e 25 20 8c 0d 01 36 17 |.,. . O|n% ...6.|
|000006b0| 20 20 20 20 6e 65 77 25 | 20 3d 20 6f 6c 64 25 20 | new%| = old% |
|000006c0| 84 20 32 0d 01 40 07 20 | 20 cc 0d 01 4a 10 20 20 |. 2..@. | ...J. |
|000006d0| 20 20 e7 20 4f 66 66 25 | 20 8c 0d 01 54 1d 20 20 | . Off%| ...T. |
|000006e0| 20 20 20 20 6e 65 77 25 | 20 3d 20 6f 6c 64 25 20 | new%| = old% |
|000006f0| 80 20 28 ac 20 32 29 0d | 01 5e 09 20 20 20 20 cc |. (. 2).|.^. .|
|00000700| 0d 01 68 2b 20 20 20 20 | 20 20 e7 20 6f 6c 64 25 |..h+ | . old%|
|00000710| 20 80 20 32 20 8c 20 73 | 24 3d 20 22 4f 6e 22 20 | . 2 . s|$= "On" |
|00000720| 8b 20 73 24 3d 20 22 4f | 66 66 22 0d 01 72 37 20 |. s$= "O|ff"..r7 |
|00000730| 20 20 20 20 20 85 20 a2 | 20 31 2c 20 22 43 75 72 | . .| 1, "Cur|
|00000740| 72 65 6e 74 20 73 74 61 | 74 65 20 6f 66 20 44 72 |rent sta|te of Dr|
|00000750| 61 67 41 53 70 72 69 74 | 65 20 69 73 20 22 2b 20 |agASprit|e is "+ |
|00000760| 73 24 0d 01 7c 09 20 20 | 20 20 cd 0d 01 86 07 20 |s$..|. | ..... |
|00000770| 20 cd 0d 01 90 20 20 20 | c8 99 22 4f 53 5f 42 79 | .... |.."OS_By|
|00000780| 74 65 22 2c 20 31 36 32 | 2c 20 32 38 2c 20 6e 65 |te", 162|, 28, ne|
|00000790| 77 25 0d 01 9a 05 e1 0d | 01 a4 05 3a 0d ff 46 69 |w%......|...:..Fi|
|000007a0| 6c 65 44 61 74 61 82 44 | 72 61 67 53 5f 49 6e 66 |leData.D|ragS_Inf|
|000007b0| 6f 00 ad 0c 00 00 44 ff | ff ff 70 42 86 29 03 00 |o.....D.|..pB.)..|
|000007c0| bf b4 49 6e 66 6f 72 6d | 61 74 69 6f 6e 20 61 62 |..Inform|ation ab|
|000007d0| 6f 75 74 20 44 72 61 67 | 41 53 70 72 69 74 65 20 |out Drag|ASprite |
|000007e0| 67 6c 65 61 6e 65 64 20 | 66 72 6f 6d 20 64 69 73 |gleaned |from dis|
|000007f0| 61 73 73 65 6d 62 6c 69 | 6e 67 20 69 74 21 0a 0a |assembli|ng it!..|
|00000800| 43 61 6e 20 6e 6f 77 20 | 64 72 61 67 20 61 6e 20 |Can now |drag an |
|00000810| 69 63 6f 6e 20 61 62 6f | 75 74 20 74 68 65 20 64 |icon abo|ut the d|
|00000820| 65 73 6b 74 6f 70 20 72 | 61 74 68 65 72 20 74 68 |esktop r|ather th|
|00000830| 61 6e 20 74 68 65 20 64 | 61 73 68 20 6c 69 6e 65 |an the d|ash line|
|00000840| 73 2e 20 0a 54 68 69 73 | 20 69 73 20 64 65 74 65 |s. .This| is dete|
|00000850| 72 6d 69 6e 65 64 20 62 | 79 20 62 69 74 20 31 20 |rmined b|y bit 1 |
|00000860| 6f 66 20 62 79 74 65 20 | 32 38 20 69 6e 20 74 68 |of byte |28 in th|
|00000870| 65 20 43 4d 4f 53 20 52 | 41 4d 2e 20 20 54 68 65 |e CMOS R|AM. The|
|00000880| 20 64 69 72 65 63 74 0a | 6d 65 74 68 6f 64 20 69 | direct.|method i|
|00000890| 73 20 74 6f 20 75 73 65 | 20 74 68 65 20 66 6f 6c |s to use| the fol|
|000008a0| 6c 6f 77 69 6e 67 20 53 | 57 49 27 73 3a 0a 0a 2e |lowing S|WI's:...|
|000008b0| 44 72 61 67 41 53 70 72 | 69 74 65 5f 53 74 61 72 |DragASpr|ite_Star|
|000008c0| 74 20 20 20 20 20 20 26 | 34 32 34 30 30 0a 3b 0a |t &|42400.;.|
|000008d0| 3b 20 49 6e 20 20 20 20 | 52 30 20 3d 20 66 6c 61 |; In |R0 = fla|
|000008e0| 67 73 0a 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |gs.; | |
|000008f0| 20 20 20 26 30 33 20 20 | 20 20 20 78 20 61 6c 69 | &03 | x ali|
|00000900| 67 6e 6d 65 6e 74 20 6f | 66 20 73 70 72 69 74 65 |gnment o|f sprite|
|00000910| 20 69 6e 20 69 63 6f 6e | 20 62 62 6f 78 3a 0a 3b | in icon| bbox:.;|
|00000920| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000930| 20 20 20 20 20 20 20 30 | 30 20 3d 3e 20 6c 65 66 | 0|0 => lef|
|00000940| 74 0a 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t.; | |
|00000950| 20 20 20 20 20 20 20 20 | 20 20 30 31 20 3d 3e 20 | | 01 => |
|00000960| 6d 69 64 64 6c 65 0a 3b | 20 20 20 20 20 20 20 20 |middle.;| |
|00000970| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 31 | | 1|
|00000980| 30 20 3d 3e 20 72 69 67 | 68 74 0a 3b 20 20 20 20 |0 => rig|ht.; |
|00000990| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009a0| 20 20 20 31 31 20 3d 3e | 20 72 69 67 68 74 20 28 | 11 =>| right (|
|000009b0| 6e 6f 74 20 66 61 75 6c | 74 65 64 29 0a 3b 20 20 |not faul|ted).; |
|000009c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 26 30 43 | | &0C|
|000009d0| 20 20 20 20 20 79 20 61 | 6c 69 67 6e 6d 65 6e 74 | y a|lignment|
|000009e0| 20 6f 66 20 73 70 72 69 | 74 65 20 69 6e 20 69 63 | of spri|te in ic|
|000009f0| 6f 6e 20 62 62 6f 78 20 | 28 76 61 6c 75 65 73 20 |on bbox |(values |
|00000a00| 61 73 20 78 20 61 6c 69 | 67 6e 6d 65 6e 74 29 0a |as x ali|gnment).|
|00000a10| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00000a20| 26 33 30 20 20 20 20 20 | 70 61 72 65 6e 74 20 64 |&30 |parent d|
|00000a30| 72 61 67 20 62 62 6f 78 | 20 73 65 74 20 66 72 6f |rag bbox| set fro|
|00000a40| 6d 3a 0a 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |m:.; | |
|00000a50| 20 20 20 20 20 20 20 20 | 20 20 20 30 30 20 3d 3e | | 00 =>|
|00000a60| 20 73 63 72 65 65 6e 0a | 3b 20 20 20 20 20 20 20 | screen.|; |
|00000a70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a80| 30 31 20 3d 3e 20 77 69 | 6e 64 6f 77 20 75 6e 64 |01 => wi|ndow und|
|00000a90| 65 72 20 70 6f 69 6e 74 | 65 72 0a 3b 20 20 20 20 |er point|er.; |
|00000aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ab0| 20 20 20 31 30 20 3d 3e | 20 52 34 20 70 6f 69 6e | 10 =>| R4 poin|
|00000ac0| 74 73 20 74 6f 20 75 73 | 65 72 0a 3b 20 20 20 20 |ts to us|er.; |
|00000ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ae0| 20 20 20 31 31 20 3d 3e | 20 69 6c 6c 65 67 61 6c | 11 =>| illegal|
|00000af0| 20 28 66 61 75 6c 74 65 | 64 29 0a 3b 20 20 20 20 | (faulte|d).; |
|00000b00| 20 20 20 20 20 20 20 20 | 20 20 20 26 34 30 20 20 | | &40 |
|00000b10| 20 20 20 30 20 3d 3e 20 | 6e 6f 72 6d 61 6c 20 70 | 0 => |normal p|
|00000b20| 61 72 65 6e 74 20 64 72 | 61 67 20 62 62 6f 78 0a |arent dr|ag bbox.|
|00000b30| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00000b40| 20 20 20 20 20 20 20 20 | 31 20 3d 3e 20 63 65 6e | |1 => cen|
|00000b50| 74 65 72 20 70 61 72 65 | 6e 74 20 64 72 61 67 20 |ter pare|nt drag |
|00000b60| 62 62 6f 78 20 61 72 6f | 75 6e 64 20 70 6f 69 6e |bbox aro|und poin|
|00000b70| 74 65 72 21 0a 3b 20 20 | 20 20 20 20 20 20 20 20 |ter!.; | |
|00000b80| 20 20 20 20 20 26 38 30 | 20 20 20 20 20 31 20 3d | &80| 1 =|
|00000b90| 3e 20 61 64 64 20 61 6e | 20 38 20 4f 53 20 75 6e |> add an| 8 OS un|
|00000ba0| 69 74 20 73 68 61 64 6f | 77 20 74 6f 20 74 68 65 |it shado|w to the|
|00000bb0| 20 73 70 72 69 74 65 0a | 3b 20 20 20 20 20 20 20 | sprite.|; |
|00000bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000bd0| 30 20 3d 3e 20 6e 6f 20 | 73 68 61 64 6f 77 0a 3b |0 => no |shadow.;|
|00000be0| 20 20 20 20 20 20 20 52 | 31 20 3d 20 70 6f 69 6e | R|1 = poin|
|00000bf0| 74 65 72 20 74 6f 20 73 | 70 72 69 74 65 20 61 72 |ter to s|prite ar|
|00000c00| 65 61 20 28 7a 65 72 6f | 20 69 66 20 73 79 73 74 |ea (zero| if syst|
|00000c10| 65 6d 29 0a 3b 20 20 20 | 20 20 20 20 52 32 20 3d |em).; | R2 =|
|00000c20| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 73 70 72 69 | pointer| to spri|
|00000c30| 74 65 20 28 6e 61 6d 65 | 20 6f 6e 6c 79 2c 20 6e |te (name| only, n|
|00000c40| 6f 74 20 70 6f 69 6e 74 | 65 72 29 0a 3b 20 20 20 |ot point|er).; |
|00000c50| 20 20 20 20 52 33 20 3d | 20 70 6f 69 6e 74 65 72 | R3 =| pointer|
|00000c60| 20 74 6f 20 69 63 6f 6e | 20 62 62 6f 78 20 28 73 | to icon| bbox (s|
|00000c70| 70 72 69 74 65 20 70 6c | 61 63 65 64 20 22 69 6e |prite pl|aced "in|
|00000c80| 22 20 74 68 69 73 29 0a | 3b 20 20 20 20 20 20 20 |" this).|; |
|00000c90| 52 34 20 3d 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |R4 = poi|nter to |
|00000ca0| 64 72 61 67 20 62 62 6f | 78 20 28 69 66 20 66 6c |drag bbo|x (if fl|
|00000cb0| 61 67 73 20 69 6e 20 52 | 30 29 0a 3b 20 4f 75 74 |ags in R|0).; Out|
|00000cc0| 20 20 20 2d 0a 0a 2e 44 | 72 61 67 41 53 70 72 69 | -...D|ragASpri|
|00000cd0| 74 65 5f 53 74 6f 70 20 | 20 20 20 20 20 20 26 34 |te_Stop | &4|
|00000ce0| 32 34 30 31 0a 3b 20 49 | 6e 20 20 20 20 2d 0a 3b |2401.; I|n -.;|
|00000cf0| 20 4f 75 74 20 20 20 2d | 0a 0a 48 65 72 65 27 73 | Out -|..Here's|
|00000d00| 20 68 6f 77 20 49 27 76 | 65 20 69 6d 70 6c 65 6d | how I'v|e implem|
|00000d10| 65 6e 74 65 64 20 69 74 | 20 6f 76 65 72 20 74 68 |ented it| over th|
|00000d20| 65 20 6e 6f 72 6d 61 6c | 20 22 64 72 61 67 22 20 |e normal| "drag" |
|00000d30| 6d 65 74 68 6f 64 0a 0a | 0a 3a 20 52 45 4d 20 20 |method..|.: REM |
|00000d40| 43 61 6c 6c 65 64 20 77 | 68 65 6e 20 6e 6f 74 69 |Called w|hen noti|
|00000d50| 63 65 64 20 61 20 6d 6f | 75 73 65 20 63 6c 69 63 |ced a mo|use clic|
|00000d60| 6b 20 6f 66 20 61 20 22 | 64 72 61 67 22 20 74 79 |k of a "|drag" ty|
|00000d70| 70 65 20 6f 76 65 72 20 | 61 20 76 61 6c 69 64 0a |pe over |a valid.|
|00000d80| 3a 20 52 45 4d 20 20 69 | 63 6f 6e 2c 20 74 68 69 |: REM i|con, thi|
|00000d90| 73 20 77 69 6c 6c 20 74 | 68 65 6e 20 63 61 75 73 |s will t|hen caus|
|00000da0| 65 20 22 46 4e 5f 44 72 | 61 67 67 65 64 5f 22 2b |e "FN_Dr|agged_"+|
|00000db0| 72 6f 75 74 69 6e 65 24 | 20 74 6f 20 62 65 20 63 |routine$| to be c|
|00000dc0| 61 6c 6c 65 64 0a 3a 20 | 52 45 4d 20 20 77 68 65 |alled.: |REM whe|
|00000dd0| 6e 20 75 73 65 72 20 73 | 74 6f 70 73 20 74 68 65 |n user s|tops the|
|00000de0| 20 64 72 61 67 0a 3a 0a | 44 45 46 20 50 52 4f 43 | drag.:.|DEF PROC|
|00000df0| 5f 49 6e 69 74 69 61 74 | 65 5f 44 72 61 67 28 77 |_Initiat|e_Drag(w|
|00000e00| 69 6e 64 6f 77 25 2c 20 | 69 63 6f 6e 25 2c 20 62 |indow%, |icon%, b|
|00000e10| 75 74 74 6f 6e 25 2c 20 | 72 6f 75 74 69 6e 65 24 |utton%, |routine$|
|00000e20| 29 0a 4c 4f 43 41 4c 20 | 70 25 2c 20 71 25 2c 20 |).LOCAL |p%, q%, |
|00000e30| 73 78 25 2c 20 73 79 25 | 0a 4c 4f 43 41 4c 20 66 |sx%, sy%|.LOCAL f|
|00000e40| 25 2c 20 61 72 65 61 25 | 2c 20 6e 61 6d 65 25 0a |%, area%|, name%.|
|00000e50| 20 20 70 25 20 20 3d 20 | 46 4e 5f 43 6c 61 69 6d | p% = |FN_Claim|
|00000e60| 5f 53 74 61 63 6b 28 36 | 34 29 20 20 20 20 20 20 |_Stack(6|4) |
|00000e70| 20 20 20 20 20 20 20 20 | 3a 52 45 4d 20 65 78 74 | |:REM ext|
|00000e80| 65 72 6e 61 6c 0a 20 20 | 71 25 20 3d 20 46 4e 5f |ernal. |q% = FN_|
|00000e90| 43 6c 61 69 6d 5f 53 74 | 61 63 6b 28 32 35 36 29 |Claim_St|ack(256)|
|00000ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 52 | | :R|
|00000eb0| 45 4d 20 65 78 74 65 72 | 6e 61 6c 0a 20 20 70 25 |EM exter|nal. p%|
|00000ec0| 21 30 20 3d 20 77 69 6e | 64 6f 77 25 0a 20 20 70 |!0 = win|dow%. p|
|00000ed0| 25 21 34 20 3d 20 69 63 | 6f 6e 25 0a 20 20 53 59 |%!4 = ic|on%. SY|
|00000ee0| 53 20 22 57 69 6d 70 5f | 47 65 74 49 63 6f 6e 53 |S "Wimp_|GetIconS|
|00000ef0| 74 61 74 65 22 2c 2c 20 | 70 25 0a 20 20 71 25 21 |tate",, |p%. q%!|
|00000f00| 30 20 3d 20 77 69 6e 64 | 6f 77 25 0a 20 20 53 59 |0 = wind|ow%. SY|
|00000f10| 53 20 22 57 69 6d 70 5f | 47 65 74 57 69 6e 64 6f |S "Wimp_|GetWindo|
|00000f20| 77 53 74 61 74 65 22 2c | 2c 20 71 25 0a 20 20 73 |wState",|, q%. s|
|00000f30| 78 25 20 20 20 3d 20 71 | 25 21 32 30 0a 20 20 73 |x% = q|%!20. s|
|00000f40| 79 25 20 20 20 3d 20 71 | 25 21 32 34 0a 20 20 70 |y% = q|%!24. p|
|00000f50| 25 21 30 20 20 3d 20 77 | 69 6e 64 6f 77 25 0a 20 |%!0 = w|indow%. |
|00000f60| 20 70 25 21 34 20 20 3d | 20 35 0a 20 20 70 25 21 | p%!4 =| 5. p%!|
|00000f70| 38 20 20 2b 3d 20 71 25 | 21 34 20 20 2d 20 73 78 |8 += q%|!4 - sx|
|00000f80| 25 20 20 20 20 20 20 20 | 20 20 20 3a 52 45 4d 20 |% | :REM |
|00000f90| 4d 69 6e 20 73 63 72 65 | 65 6e 20 58 0a 20 20 70 |Min scre|en X. p|
|00000fa0| 25 21 31 32 20 2b 3d 20 | 71 25 21 31 36 20 2d 20 |%!12 += |q%!16 - |
|00000fb0| 73 79 25 20 20 20 20 20 | 20 20 20 20 20 3a 52 45 |sy% | :RE|
|00000fc0| 4d 20 4d 69 6e 20 73 63 | 72 65 65 6e 20 59 0a 20 |M Min sc|reen Y. |
|00000fd0| 20 70 25 21 31 36 20 2b | 3d 20 71 25 21 34 20 20 | p%!16 +|= q%!4 |
|00000fe0| 2d 20 73 78 25 20 20 20 | 20 20 20 20 20 20 20 3a |- sx% | :|
|00000ff0| 52 45 4d 20 4d 61 78 20 | 58 0a 20 20 70 25 21 32 |REM Max |X. p%!2|
|00001000| 30 20 2b 3d 20 71 25 21 | 31 36 20 2d 20 73 79 25 |0 += q%!|16 - sy%|
|00001010| 20 20 20 20 20 20 20 20 | 20 20 3a 52 45 4d 20 4d | | :REM M|
|00001020| 61 78 20 59 0a 20 20 49 | 46 20 44 72 61 67 41 53 |ax Y. I|F DragAS|
|00001030| 70 72 69 74 65 25 20 54 | 48 45 4e 0a 20 20 20 20 |prite% T|HEN. |
|00001040| 53 59 53 20 22 4f 53 5f | 42 79 74 65 22 2c 20 31 |SYS "OS_|Byte", 1|
|00001050| 36 31 2c 20 32 38 20 54 | 4f 20 2c 2c 66 25 0a 20 |61, 28 T|O ,,f%. |
|00001060| 20 20 20 64 72 61 67 67 | 65 64 5f 73 70 72 69 74 | dragg|ed_sprit|
|00001070| 65 25 20 3d 20 28 28 66 | 25 20 41 4e 44 20 32 29 |e% = ((f|% AND 2)|
|00001080| 20 3d 20 32 29 0a 20 20 | 45 4c 53 45 0a 20 20 20 | = 2). |ELSE. |
|00001090| 20 64 72 61 67 67 65 64 | 5f 73 70 72 69 74 65 25 | dragged|_sprite%|
|000010a0| 20 3d 20 46 41 4c 53 45 | 0a 20 20 45 4e 44 49 46 | = FALSE|. ENDIF|
|000010b0| 0a 20 20 49 46 20 64 72 | 61 67 67 65 64 5f 73 70 |. IF dr|agged_sp|
|000010c0| 72 69 74 65 25 20 54 48 | 45 4e 0a 20 20 20 20 66 |rite% TH|EN. f|
|000010d0| 25 20 3d 20 70 25 21 32 | 34 0a 20 20 20 20 49 46 |% = p%!2|4. IF|
|000010e0| 20 28 66 25 20 41 4e 44 | 20 32 29 3d 30 20 54 48 | (f% AND| 2)=0 TH|
|000010f0| 45 4e 20 45 52 52 4f 52 | 20 31 2c 20 22 4e 6f 74 |EN ERROR| 1, "Not|
|00001100| 20 61 20 73 70 72 69 74 | 65 20 69 63 6f 6e 20 74 | a sprit|e icon t|
|00001110| 6f 20 44 72 61 67 22 0a | 20 20 20 20 49 46 20 66 |o Drag".| IF f|
|00001120| 25 20 41 4e 44 20 26 38 | 30 20 54 48 45 4e 0a 20 |% AND &8|0 THEN. |
|00001130| 20 20 20 20 20 6e 61 6d | 65 25 20 3d 20 70 25 21 | nam|e% = p%!|
|00001140| 32 38 0a 20 20 20 20 20 | 20 61 72 65 61 25 20 3d |28. | area% =|
|00001150| 20 70 25 21 33 32 0a 20 | 20 20 20 20 20 49 46 20 | p%!32. | IF |
|00001160| 66 25 21 33 36 20 54 48 | 45 4e 20 45 52 52 4f 52 |f%!36 TH|EN ERROR|
|00001170| 20 31 2c 20 22 53 70 72 | 69 74 65 20 69 63 6f 6e | 1, "Spr|ite icon|
|00001180| 20 6e 61 6d 65 2c 20 6e | 6f 74 20 70 6f 69 6e 74 | name, n|ot point|
|00001190| 65 72 20 74 6f 20 44 72 | 61 67 22 0a 20 20 20 20 |er to Dr|ag". |
|000011a0| 45 4c 53 45 0a 20 20 20 | 20 20 20 6e 61 6d 65 25 |ELSE. | name%|
|000011b0| 20 3d 20 70 25 2b 32 38 | 0a 20 20 20 20 20 20 61 | = p%+28|. a|
|000011c0| 72 65 61 25 20 3d 20 31 | 20 20 20 20 20 20 20 20 |rea% = 1| |
|000011d0| 20 20 20 20 20 20 20 20 | 20 20 20 3a 52 45 4d 20 | | :REM |
|000011e0| 20 57 69 6d 70 20 70 6f | 6f 6c 0a 20 20 20 20 45 | Wimp po|ol. E|
|000011f0| 4e 44 49 46 0a 20 20 20 | 20 53 59 53 20 22 44 72 |NDIF. | SYS "Dr|
|00001200| 61 67 41 53 70 72 69 74 | 65 5f 53 74 61 72 74 22 |agASprit|e_Start"|
|00001210| 2c 20 25 31 30 30 30 30 | 31 30 31 2c 20 61 72 65 |, %10000|101, are|
|00001220| 61 25 2c 20 6e 61 6d 65 | 25 2c 20 70 25 2b 38 0a |a%, name|%, p%+8.|
|00001230| 20 20 45 4c 53 45 0a 20 | 20 20 20 70 25 21 32 34 | ELSE. | p%!24|
|00001240| 20 3d 20 30 0a 20 20 20 | 20 70 25 21 32 38 20 3d | = 0. | p%!28 =|
|00001250| 20 30 0a 20 20 20 20 70 | 25 21 33 32 20 3d 20 6c | 0. p|%!32 = l|
|00001260| 6f 67 6d 61 78 78 25 20 | 20 20 20 20 20 20 20 20 |ogmaxx% | |
|00001270| 20 20 20 3a 52 45 4d 20 | 65 78 74 65 72 6e 61 6c | :REM |external|
|00001280| 0a 20 20 20 20 70 25 21 | 33 36 20 3d 20 6c 6f 67 |. p%!|36 = log|
|00001290| 6d 61 78 79 25 0a 20 20 | 20 20 53 59 53 20 22 57 |maxy%. | SYS "W|
|000012a0| 69 6d 70 5f 44 72 61 67 | 42 6f 78 22 2c 2c 20 70 |imp_Drag|Box",, p|
|000012b0| 25 0a 20 20 45 4e 44 49 | 46 0a 20 20 50 52 4f 43 |%. ENDI|F. PROC|
|000012c0| 5f 52 65 6c 65 61 73 65 | 5f 53 74 61 63 6b 28 71 |_Release|_Stack(q|
|000012d0| 25 2c 20 32 35 36 29 20 | 20 20 3a 52 45 4d 20 65 |%, 256) | :REM e|
|000012e0| 78 74 65 72 6e 61 6c 0a | 20 20 50 52 4f 43 5f 52 |xternal.| PROC_R|
|000012f0| 65 6c 65 61 73 65 5f 53 | 74 61 63 6b 28 70 25 2c |elease_S|tack(p%,|
|00001300| 20 36 34 29 20 20 20 20 | 3a 52 45 4d 20 65 78 74 | 64) |:REM ext|
|00001310| 65 72 6e 61 6c 0a 20 20 | 64 72 61 67 67 65 64 24 |ernal. |dragged$|
|00001320| 20 3d 20 72 6f 75 74 69 | 6e 65 24 0a 20 20 64 72 | = routi|ne$. dr|
|00001330| 61 67 67 65 64 5f 62 75 | 74 74 6f 6e 25 20 3d 20 |agged_bu|tton% = |
|00001340| 62 75 74 74 6f 6e 25 0a | 45 4e 44 50 52 4f 43 0a |button%.|ENDPROC.|
|00001350| 3a 0a 44 45 46 20 50 52 | 4f 43 5f 55 73 65 72 5f |:.DEF PR|OC_User_|
|00001360| 44 72 61 67 5f 42 6f 78 | 0a 4c 4f 43 41 4c 20 78 |Drag_Box|.LOCAL x|
|00001370| 25 0a 20 20 78 25 20 3d | 20 46 4e 65 76 61 6c 28 |%. x% =| FNeval(|
|00001380| 22 46 4e 5f 44 72 61 67 | 67 65 64 5f 22 2b 20 64 |"FN_Drag|ged_"+ d|
|00001390| 72 61 67 67 65 64 24 29 | 0a 20 20 49 46 20 64 72 |ragged$)|. IF dr|
|000013a0| 61 67 67 65 64 5f 62 75 | 74 74 6f 6e 25 3c 3e 28 |agged_bu|tton%<>(|
|000013b0| 31 2a 31 36 29 20 54 48 | 45 4e 0a 20 20 20 20 50 |1*16) TH|EN. P|
|000013c0| 52 4f 43 5f 43 6c 6f 73 | 65 5f 41 6c 6c 5f 4d 65 |ROC_Clos|e_All_Me|
|000013d0| 6e 75 73 0a 20 20 45 4e | 44 49 46 0a 20 20 49 46 |nus. EN|DIF. IF|
|000013e0| 20 64 72 61 67 67 65 64 | 5f 73 70 72 69 74 65 25 | dragged|_sprite%|
|000013f0| 20 54 48 45 4e 0a 20 20 | 20 20 53 59 53 20 22 44 | THEN. | SYS "D|
|00001400| 72 61 67 41 53 70 72 69 | 74 65 5f 53 74 6f 70 22 |ragASpri|te_Stop"|
|00001410| 0a 20 20 45 4c 53 45 0a | 20 20 20 20 53 59 53 20 |. ELSE.| SYS |
|00001420| 22 57 69 6d 70 5f 44 72 | 61 67 42 6f 78 22 2c 2c |"Wimp_Dr|agBox",,|
|00001430| 20 2d 31 0a 20 20 45 4e | 44 49 46 0a 20 20 64 72 | -1. EN|DIF. dr|
|00001440| 61 67 67 65 64 24 20 3d | 20 22 22 0a 45 4e 44 50 |agged$ =| "".ENDP|
|00001450| 52 4f 43 0a 3a 0a 0a 62 | 79 20 43 79 20 42 6f 6f |ROC.:..b|y Cy Boo|
|00001460| 6b 65 72 2c 20 30 38 2e | 31 30 2e 31 39 39 32 |ker, 08.|10.1992 |
+--------+-------------------------+-------------------------+--------+--------+