home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / raytrace / dbw_render / Library / DBWSprite < prev   
Unknown  |  1992-10-23  |  4.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default
100% xdgMime image/x-tga default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 13 20 f4 3e 3a | 30 2e 44 42 57 53 70 72 |.... .>:|0.DBWSpr|
|00000010| 69 74 65 0d 00 14 21 20 | f4 20 43 6f 70 79 72 69 |ite...! |. Copyri|
|00000020| 67 68 74 20 4e 65 69 6c | 20 43 6f 66 66 65 79 20 |ght Neil| Coffey |
|00000030| 31 39 39 32 0d 00 1e 06 | 20 3a 0d 00 28 15 20 72 |1992....| :..(. r|
|00000040| 66 61 63 74 20 20 20 20 | 20 3d 20 30 2e 33 39 0d |fact | = 0.39.|
|00000050| 00 32 15 20 67 66 61 63 | 74 20 20 20 20 20 3d 20 |.2. gfac|t = |
|00000060| 30 2e 35 31 0d 00 3c 15 | 20 62 66 61 63 74 20 20 |0.51..<.| bfact |
|00000070| 20 20 20 3d 20 30 2e 31 | 30 0d 00 46 13 20 63 61 | = 0.1|0..F. ca|
|00000080| 63 68 65 73 69 7a 65 25 | 3d 32 35 36 0d 00 50 26 |chesize%|=256..P&|
|00000090| 20 de 63 61 63 68 65 25 | 28 63 61 63 68 65 73 69 | .cache%|(cachesi|
|000000a0| 7a 65 25 2c 32 29 3a 63 | 61 63 68 65 25 28 29 3d |ze%,2):c|ache%()=|
|000000b0| 2d 31 0d 00 5a 64 20 f1 | 22 44 42 57 53 70 72 69 |-1..Zd .|"DBWSpri|
|000000c0| 74 65 20 76 31 2e 30 30 | 20 a9 20 4e 65 69 6c 20 |te v1.00| . Neil |
|000000d0| 43 6f 66 66 65 79 20 31 | 39 39 32 22 27 22 43 6f |Coffey 1|992"'"Co|
|000000e0| 6e 76 65 72 74 73 20 6f | 75 74 70 75 74 20 66 72 |nverts o|utput fr|
|000000f0| 6f 6d 20 44 42 57 5f 52 | 65 6e 64 65 72 20 74 6f |om DBW_R|ender to|
|00000100| 20 61 6e 20 41 72 63 68 | 69 6d 65 64 65 73 20 53 | an Arch|imedes S|
|00000110| 70 72 69 74 65 22 0d 00 | 64 0e 20 f2 61 73 73 65 |prite"..|d. .asse|
|00000120| 6d 62 6c 65 0d 00 6e 18 | 20 c8 99 22 58 4f 53 5f |mble..n.| .."XOS_|
|00000130| 47 65 74 45 6e 76 22 20 | b8 20 41 24 0d 00 78 2e |GetEnv" |. A$..x.|
|00000140| 20 e7 20 a7 41 24 2c 22 | 2d 71 75 69 74 22 29 3e | . .A$,"|-quit")>|
|00000150| 30 20 8c 20 41 24 3d c1 | 41 24 2c a7 41 24 2c 22 |0 . A$=.|A$,.A$,"|
|00000160| 20 22 29 2b 31 2c a9 41 | 24 29 0d 00 82 32 20 e7 | ")+1,.A|$)...2 .|
|00000170| 20 a7 41 24 2c 22 44 42 | 57 53 70 72 69 74 65 22 | .A$,"DB|WSprite"|
|00000180| 29 3e 30 20 8c 20 41 24 | 3d c1 41 24 2c a7 41 24 |)>0 . A$|=.A$,.A$|
|00000190| 2c 22 20 22 29 2b 31 2c | a9 41 24 29 0d 00 8c 42 |," ")+1,|.A$)...B|
|000001a0| 20 6e 25 3d a7 41 24 2c | 22 20 22 29 3a e7 20 6e | n%=.A$,|" "):. n|
|000001b0| 25 3d 30 20 8c 20 f1 22 | 53 79 6e 74 61 78 3a 20 |%=0 . ."|Syntax: |
|000001c0| 2a 44 42 57 53 70 72 69 | 74 65 20 3c 64 69 72 65 |*DBWSpri|te <dire|
|000001d0| 63 74 6f 72 79 20 6e 61 | 6d 65 3e 22 3a e0 0d 00 |ctory na|me>":...|
|000001e0| 96 15 20 41 24 3d c1 41 | 24 2c 6e 25 2b 31 2c a9 |.. A$=.A|$,n%+1,.|
|000001f0| 41 24 29 0d 00 a0 1d 20 | e7 20 a7 41 24 2c 22 20 |A$).... |. .A$," |
|00000200| 22 29 3d 30 20 8c 20 41 | 24 3d 41 24 2b 22 20 22 |")=0 . A|$=A$+" "|
|00000210| 0d 00 aa 1d 20 64 69 72 | 6e 61 6d 65 24 3d c0 41 |.... dir|name$=.A|
|00000220| 24 2c a7 41 24 2c 22 20 | 22 29 2d 31 29 0d 00 b4 |$,.A$," |")-1)...|
|00000230| 1b 20 69 6e 70 75 74 24 | 3d 64 69 72 6e 61 6d 65 |. input$|=dirname|
|00000240| 24 2b 22 2e 54 4d 50 22 | 0d 00 be 44 20 63 68 6e |$+".TMP"|...D chn|
|00000250| 25 3d 8e 28 69 6e 70 75 | 74 24 29 3a e7 20 63 68 |%=.(inpu|t$):. ch|
|00000260| 6e 25 3d 30 20 8c 20 f1 | 22 45 72 72 6f 72 20 6f |n%=0 . .|"Error o|
|00000270| 70 65 6e 69 6e 67 20 66 | 69 6c 65 20 27 22 3b 69 |pening f|ile '";i|
|00000280| 6e 70 75 74 24 3b 22 27 | 2e 22 3a e0 0d 00 c8 13 |nput$;"'|.":.....|
|00000290| 20 78 72 65 73 25 3d a4 | 67 65 74 77 6f 72 64 0d | xres%=.|getword.|
|000002a0| 00 d2 13 20 79 72 65 73 | 25 3d a4 67 65 74 77 6f |... yres|%=.getwo|
|000002b0| 72 64 0d 00 dc 26 20 f1 | 22 52 65 73 6f 6c 75 74 |rd...& .|"Resolut|
|000002c0| 69 6f 6e 3a 20 22 3b 78 | 72 65 73 25 3b 22 20 78 |ion: ";x|res%;" x|
|000002d0| 20 22 3b 79 72 65 73 25 | 0d 00 e6 20 20 de 72 25 | ";yres%|... .r%|
|000002e0| 20 78 72 65 73 25 2c 67 | 25 20 78 72 65 73 25 2c | xres%,g|% xres%,|
|000002f0| 62 25 20 78 72 65 73 25 | 0d 00 f0 27 20 73 70 72 |b% xres%|...' spr|
|00000300| 69 74 65 73 70 61 63 65 | 25 3d 78 72 65 73 25 2a |itespace|%=xres%*|
|00000310| 32 2a 79 72 65 73 25 2b | 31 30 32 34 2a 31 30 0d |2*yres%+|1024*10.|
|00000320| 00 fa 5c 20 de 73 70 72 | 69 74 65 73 25 20 73 70 |..\ .spr|ites% sp|
|00000330| 72 69 74 65 73 70 61 63 | 65 25 3a 21 73 70 72 69 |ritespac|e%:!spri|
|00000340| 74 65 73 25 3d 73 70 72 | 69 74 65 73 70 61 63 65 |tes%=spr|itespace|
|00000350| 25 3a 73 70 72 69 74 65 | 73 25 21 34 3d 30 3a 73 |%:sprite|s%!4=0:s|
|00000360| 70 72 69 74 65 73 25 21 | 38 3d 31 36 3a 73 70 72 |prites%!|8=16:spr|
|00000370| 69 74 65 73 25 21 31 32 | 3d 31 36 0d 01 04 3d 20 |ites%!12|=16...= |
|00000380| c8 99 22 4f 53 5f 53 70 | 72 69 74 65 4f 70 22 2c |.."OS_Sp|riteOp",|
|00000390| 32 37 31 2c 73 70 72 69 | 74 65 73 25 2c 22 73 63 |271,spri|tes%,"sc|
|000003a0| 72 65 65 6e 22 2c 30 2c | 78 72 65 73 25 2a 32 2c |reen",0,|xres%*2,|
|000003b0| 79 72 65 73 25 2c 31 35 | 0d 01 0e 08 20 eb 31 35 |yres%,15|.... .15|
|000003c0| 0d 01 18 19 20 e3 79 25 | 3d 79 72 65 73 25 2d 31 |.... .y%|=yres%-1|
|000003d0| 20 b8 20 30 20 88 20 2d | 31 0d 01 22 1b 20 20 f4 | . 0 . -|1..". .|
|000003e0| 50 52 49 4e 54 22 53 63 | 61 6e 6c 69 6e 65 3a 20 |PRINT"Sc|anline: |
|000003f0| 22 3b 79 25 0d 01 2c 11 | 20 20 64 25 3d a4 67 65 |";y%..,.| d%=.ge|
|00000400| 74 77 6f 72 64 0d 01 36 | 5e 20 20 e3 78 25 3d 30 |tword..6|^ .x%=0|
|00000410| 20 b8 20 28 78 72 65 73 | 25 20 81 20 32 29 2d 31 | . (xres|% . 2)-1|
|00000420| 3a 62 74 25 3d 9a 23 63 | 68 6e 25 3a 72 25 3f 28 |:bt%=.#c|hn%:r%?(|
|00000430| 78 25 2a 32 29 3d 28 62 | 74 25 20 80 20 31 35 29 |x%*2)=(b|t% . 15)|
|00000440| 3c 3c 34 3a 72 25 3f 28 | 78 25 2a 32 2b 31 29 3d |<<4:r%?(|x%*2+1)=|
|00000450| 28 62 74 25 20 80 20 25 | 31 31 31 31 30 30 30 30 |(bt% . %|11110000|
|00000460| 29 3a ed 0d 01 40 5e 20 | 20 e3 78 25 3d 30 20 b8 |):...@^ | .x%=0 .|
|00000470| 20 28 78 72 65 73 25 20 | 81 20 32 29 2d 31 3a 62 | (xres% |. 2)-1:b|
|00000480| 74 25 3d 9a 23 63 68 6e | 25 3a 67 25 3f 28 78 25 |t%=.#chn|%:g%?(x%|
|00000490| 2a 32 29 3d 28 62 74 25 | 20 80 20 31 35 29 3c 3c |*2)=(bt%| . 15)<<|
|000004a0| 34 3a 67 25 3f 28 78 25 | 2a 32 2b 31 29 3d 28 62 |4:g%?(x%|*2+1)=(b|
|000004b0| 74 25 20 80 20 25 31 31 | 31 31 30 30 30 30 29 3a |t% . %11|110000):|
|000004c0| ed 0d 01 4a 5e 20 20 e3 | 78 25 3d 30 20 b8 20 28 |...J^ .|x%=0 . (|
|000004d0| 78 72 65 73 25 20 81 20 | 32 29 2d 31 3a 62 74 25 |xres% . |2)-1:bt%|
|000004e0| 3d 9a 23 63 68 6e 25 3a | 62 25 3f 28 78 25 2a 32 |=.#chn%:|b%?(x%*2|
|000004f0| 29 3d 28 62 74 25 20 80 | 20 31 35 29 3c 3c 34 3a |)=(bt% .| 15)<<4:|
|00000500| 62 25 3f 28 78 25 2a 32 | 2b 31 29 3d 28 62 74 25 |b%?(x%*2|+1)=(bt%|
|00000510| 20 80 20 25 31 31 31 31 | 30 30 30 30 29 3a ed 0d | . %1111|0000):..|
|00000520| 01 54 15 20 20 e3 78 25 | 3d 30 20 b8 20 78 72 65 |.T. .x%|=0 . xre|
|00000530| 73 25 2d 31 0d 01 5e 2c | 20 20 20 63 6f 6c 73 25 |s%-1..^,| cols%|
|00000540| 3d a4 74 77 6f 5f 63 6c | 6f 73 65 73 74 28 72 25 |=.two_cl|osest(r%|
|00000550| 3f 78 25 2c 67 25 3f 78 | 25 2c 62 25 3f 78 25 29 |?x%,g%?x|%,b%?x%)|
|00000560| 0d 01 68 2b 20 20 20 63 | 31 25 3d 63 6f 6c 73 25 |..h+ c|1%=cols%|
|00000570| 20 80 20 26 46 46 3a 63 | 32 25 3d 28 63 6f 6c 73 | . &FF:c|2%=(cols|
|00000580| 25 3e 3e 38 29 20 80 20 | 26 46 46 0d 01 72 20 20 |%>>8) . |&FF..r |
|00000590| 20 20 e7 20 28 79 25 20 | 83 20 32 29 3d 30 20 8c | . (y% |. 2)=0 .|
|000005a0| 20 c8 94 20 63 31 25 2c | 63 32 25 0d 01 7c 4a 20 | .. c1%,|c2%..|J |
|000005b0| 20 20 c8 99 22 4f 53 5f | 53 70 72 69 74 65 4f 70 | .."OS_|SpriteOp|
|000005c0| 22 2c 32 39 38 2c 73 70 | 72 69 74 65 73 25 2c 22 |",298,sp|rites%,"|
|000005d0| 73 63 72 65 65 6e 22 2c | 78 25 2a 32 2c 79 25 2c |screen",|x%*2,y%,|
|000005e0| 28 63 31 25 3e 3e 32 29 | 2c 28 63 31 25 20 80 20 |(c1%>>2)|,(c1% . |
|000005f0| 33 29 3c 3c 36 0d 01 86 | 4c 20 20 20 c8 99 22 4f |3)<<6...|L .."O|
|00000600| 53 5f 53 70 72 69 74 65 | 4f 70 22 2c 32 39 38 2c |S_Sprite|Op",298,|
|00000610| 73 70 72 69 74 65 73 25 | 2c 22 73 63 72 65 65 6e |sprites%|,"screen|
|00000620| 22 2c 78 25 2a 32 2b 31 | 2c 79 25 2c 28 63 32 25 |",x%*2+1|,y%,(c2%|
|00000630| 3e 3e 32 29 2c 28 63 32 | 25 20 80 20 33 29 3c 3c |>>2),(c2|% . 3)<<|
|00000640| 36 0d 01 90 39 20 20 20 | f4 47 43 4f 4c 20 28 63 |6...9 |.GCOL (c|
|00000650| 31 25 3e 3e 32 29 20 54 | 49 4e 54 20 28 63 31 25 |1%>>2) T|INT (c1%|
|00000660| 20 41 4e 44 20 33 29 3c | 3c 36 3a 50 4f 49 4e 54 | AND 3)<|<6:POINT|
|00000670| 20 78 25 2a 34 2c 79 25 | 2a 34 0d 01 9a 3b 20 20 | x%*4,y%|*4...; |
|00000680| 20 f4 47 43 4f 4c 20 28 | 63 32 25 3e 3e 32 29 20 | .GCOL (|c2%>>2) |
|00000690| 54 49 4e 54 20 28 63 32 | 25 20 41 4e 44 20 33 29 |TINT (c2|% AND 3)|
|000006a0| 3c 3c 36 3a 50 4f 49 4e | 54 20 78 25 2a 34 2b 32 |<<6:POIN|T x%*4+2|
|000006b0| 2c 79 25 2a 34 0d 01 a4 | 07 20 20 ed 0d 01 ae 34 |,y%*4...|. ....4|
|000006c0| 20 20 c8 99 22 4f 53 5f | 53 70 72 69 74 65 4f 70 | .."OS_|SpriteOp|
|000006d0| 22 2c 32 35 36 2b 33 34 | 2c 73 70 72 69 74 65 73 |",256+34|,sprites|
|000006e0| 25 2c 22 73 63 72 65 65 | 6e 22 2c 30 2c 30 2c 30 |%,"scree|n",0,0,0|
|000006f0| 0d 01 b8 06 20 ed 0d 01 | c2 0b 20 d9 23 63 68 6e |.... ...|.. .#chn|
|00000700| 25 0d 01 cc 0d 20 66 6c | 61 67 73 25 3d 31 0d 01 |%.... fl|ags%=1..|
|00000710| d6 06 20 f5 0d 01 e0 26 | 20 20 e8 22 4e 61 6d 65 |.. ....&| ."Name|
|00000720| 20 74 6f 20 73 61 76 65 | 20 73 70 72 69 74 65 20 | to save| sprite |
|00000730| 61 73 3a 20 22 6e 61 6d | 65 24 0d 01 ea 13 20 20 |as: "nam|e$.... |
|00000740| e7 20 6e 61 6d 65 24 3c | 3e 22 22 20 8c 0d 01 f4 |. name$<|>"" ....|
|00000750| 37 20 20 20 c8 99 22 58 | 4f 53 5f 53 70 72 69 74 |7 .."X|OS_Sprit|
|00000760| 65 4f 70 22 2c 31 32 2b | 32 35 36 2c 73 70 72 69 |eOp",12+|256,spri|
|00000770| 74 65 73 25 2c 6e 61 6d | 65 24 20 b8 20 3b 66 6c |tes%,nam|e$ . ;fl|
|00000780| 61 67 73 25 0d 01 fe 07 | 20 20 cd 0d 02 08 24 20 |ags%....| ....$ |
|00000790| fd 20 28 6e 61 6d 65 24 | 3d 22 22 29 20 84 20 28 |. (name$|="") . (|
|000007a0| 28 66 6c 61 67 73 25 20 | 80 20 31 29 3d 30 29 0d |(flags% |. 1)=0).|
|000007b0| 02 12 06 20 e0 0d 02 1c | 06 20 3a 0d 02 26 25 20 |... ....|. :..&% |
|000007c0| dd 20 a4 67 65 74 77 6f | 72 64 3a 3d 9a 23 63 68 |. .getwo|rd:=.#ch|
|000007d0| 6e 25 20 84 20 28 9a 23 | 63 68 6e 25 29 3c 3c 38 |n% . (.#|chn%)<<8|
|000007e0| 0d 02 30 06 20 3a 0d 02 | 3a 10 20 dd 20 f2 61 73 |..0. :..|:. . .as|
|000007f0| 73 65 6d 62 6c 65 0d 02 | 44 11 20 de 63 6f 64 65 |semble..|D. .code|
|00000800| 25 20 26 32 30 30 30 0d | 02 4e 15 20 e3 70 61 73 |% &2000.|.N. .pas|
|00000810| 73 25 3d 30 20 b8 20 32 | 20 88 20 32 0d 02 58 0d |s%=0 . 2| . 2..X.|
|00000820| 20 50 25 3d 63 6f 64 65 | 25 0d 02 62 0f 20 5b 4f | P%=code|%..b. [O|
|00000830| 50 54 20 70 61 73 73 25 | 0d 02 6c 0e 20 2e 63 61 |PT pass%|..l. .ca|
|00000840| 6c 63 66 61 63 74 0d 02 | 76 49 20 4d 4f 56 20 52 |lcfact..|vI MOV R|
|00000850| 31 31 2c 52 30 3a 4d 55 | 4c 20 52 31 32 2c 52 30 |11,R0:MU|L R12,R0|
|00000860| 2c 52 31 31 3a 4d 55 4c | 20 52 30 2c 52 31 32 2c |,R11:MUL| R0,R12,|
|00000870| 52 31 3a 4d 4f 56 20 52 | 30 2c 52 30 2c 41 53 52 |R1:MOV R|0,R0,ASR|
|00000880| 20 23 31 30 3a 4d 4f 56 | 20 50 43 2c 52 31 34 0d | #10:MOV| PC,R14.|
|00000890| 02 80 0c 20 2e 72 65 64 | 6d 75 6c 0d 02 8a 14 20 |... .red|mul.... |
|000008a0| 45 51 55 44 20 72 66 61 | 63 74 2a 31 30 32 34 0d |EQUD rfa|ct*1024.|
|000008b0| 02 94 0e 20 2e 67 72 65 | 65 6e 6d 75 6c 0d 02 9e |... .gre|enmul...|
|000008c0| 14 20 45 51 55 44 20 67 | 66 61 63 74 2a 31 30 32 |. EQUD g|fact*102|
|000008d0| 34 0d 02 a8 0d 20 2e 62 | 6c 75 65 6d 75 6c 0d 02 |4.... .b|luemul..|
|000008e0| b2 14 20 45 51 55 44 20 | 62 66 61 63 74 2a 31 30 |.. EQUD |bfact*10|
|000008f0| 32 34 0d 02 bc 06 20 5d | 0d 02 c6 0c 20 72 65 64 |24.... ]|.... red|
|00000900| 25 3d 50 25 0d 02 d0 13 | 20 67 72 65 65 6e 25 3d |%=P%....| green%=|
|00000910| 50 25 2b 26 31 30 30 0d | 02 da 12 20 62 6c 75 65 |P%+&100.|... blue|
|00000920| 25 3d 50 25 2b 26 32 30 | 30 0d 02 e4 0d 20 50 25 |%=P%+&20|0.... P%|
|00000930| 2b 3d 26 33 30 30 0d 02 | ee 0f 20 5b 4f 50 54 20 |+=&300..|.. [OPT |
|00000940| 70 61 73 73 25 0d 02 f8 | 10 20 2e 74 77 6f 63 6c |pass%...|. .twocl|
|00000950| 6f 73 65 73 74 0d 03 02 | 21 20 53 54 4d 46 44 20 |osest...|! STMFD |
|00000960| 52 31 33 21 2c 7b 52 31 | 34 7d 3a 4d 4f 56 20 52 |R13!,{R1|4}:MOV R|
|00000970| 39 2c 23 32 35 35 0d 03 | 0c 13 20 20 2e 62 75 69 |9,#255..|.. .bui|
|00000980| 6c 64 74 61 62 6c 6f 6f | 70 0d 03 16 ed 20 20 4d |ldtabloo|p.... M|
|00000990| 4f 56 20 52 30 2c 52 39 | 3a 4c 44 52 20 52 31 2c |OV R0,R9|:LDR R1,|
|000009a0| 72 65 64 6d 75 6c 3a 42 | 4c 20 63 61 6c 63 66 61 |redmul:B|L calcfa|
|000009b0| 63 74 3a 41 44 52 20 52 | 31 30 2c 72 65 64 74 61 |ct:ADR R|10,redta|
|000009c0| 62 25 3a 53 54 52 20 52 | 30 2c 5b 52 31 30 2c 52 |b%:STR R|0,[R10,R|
|000009d0| 39 2c 41 53 4c 20 23 32 | 5d 3a 4d 4f 56 20 52 30 |9,ASL #2|]:MOV R0|
|000009e0| 2c 52 39 3a 4c 44 52 20 | 52 31 2c 67 72 65 65 6e |,R9:LDR |R1,green|
|000009f0| 6d 75 6c 3a 42 4c 20 63 | 61 6c 63 66 61 63 74 3a |mul:BL c|alcfact:|
|00000a00| 41 44 44 20 52 31 30 2c | 52 31 30 2c 23 26 34 30 |ADD R10,|R10,#&40|
|00000a10| 30 3a 53 54 52 20 52 30 | 2c 5b 52 31 30 2c 52 39 |0:STR R0|,[R10,R9|
|00000a20| 2c 41 53 4c 20 23 32 5d | 3a 4d 4f 56 20 52 30 2c |,ASL #2]|:MOV R0,|
|00000a30| 52 39 3a 4c 44 52 20 52 | 31 2c 62 6c 75 65 6d 75 |R9:LDR R|1,bluemu|
|00000a40| 6c 3a 42 4c 20 63 61 6c | 63 66 61 63 74 3a 41 44 |l:BL cal|cfact:AD|
|00000a50| 44 20 52 31 30 2c 52 31 | 30 2c 23 26 34 30 30 3a |D R10,R1|0,#&400:|
|00000a60| 53 54 52 20 52 30 2c 5b | 52 31 30 2c 52 39 2c 41 |STR R0,[|R10,R9,A|
|00000a70| 53 4c 20 23 32 5d 0d 03 | 20 24 20 20 53 55 42 53 |SL #2]..| $ SUBS|
|00000a80| 20 52 39 2c 52 39 2c 23 | 31 3a 42 50 4c 20 62 75 | R9,R9,#|1:BPL bu|
|00000a90| 69 6c 64 74 61 62 6c 6f | 6f 70 0d 03 2a 22 20 4d |ildtablo|op..*" M|
|00000aa0| 4f 56 20 52 35 2c 23 26 | 37 30 30 30 30 30 30 30 |OV R5,#&|70000000|
|00000ab0| 3a 4d 4f 56 20 52 39 2c | 23 32 35 35 0d 03 34 15 |:MOV R9,|#255..4.|
|00000ac0| 20 2e 74 77 6f 63 6c 6f | 73 65 73 74 6c 6f 6f 70 | .twoclo|sestloop|
|00000ad0| 31 0d 03 3e 69 20 20 4d | 4f 56 20 52 31 30 2c 23 |1..>i M|OV R10,#|
|00000ae0| 32 35 35 3a 41 44 52 20 | 52 30 2c 72 65 64 25 3a |255:ADR |R0,red%:|
|00000af0| 4c 44 52 42 20 52 36 2c | 5b 52 30 2c 52 39 5d 3a |LDRB R6,|[R0,R9]:|
|00000b00| 41 44 52 20 52 30 2c 67 | 72 65 65 6e 25 3a 4c 44 |ADR R0,g|reen%:LD|
|00000b10| 52 42 20 52 37 2c 5b 52 | 30 2c 52 39 5d 3a 41 44 |RB R7,[R|0,R9]:AD|
|00000b20| 52 20 52 30 2c 62 6c 75 | 65 25 3a 4c 44 52 42 20 |R R0,blu|e%:LDRB |
|00000b30| 52 38 2c 5b 52 30 2c 52 | 39 5d 0d 03 48 16 20 20 |R8,[R0,R|9]..H. |
|00000b40| 2e 74 77 6f 63 6c 6f 73 | 65 73 74 6c 6f 6f 70 32 |.twoclos|estloop2|
|00000b50| 0d 03 52 91 20 20 20 41 | 44 52 20 52 30 2c 72 65 |..R. A|DR R0,re|
|00000b60| 64 25 3a 4c 44 52 42 20 | 52 31 2c 5b 52 30 2c 52 |d%:LDRB |R1,[R0,R|
|00000b70| 31 30 5d 3a 41 44 44 20 | 52 30 2c 52 36 2c 52 31 |10]:ADD |R0,R6,R1|
|00000b80| 3a 53 55 42 53 20 52 30 | 2c 52 32 2c 52 30 2c 41 |:SUBS R0|,R2,R0,A|
|00000b90| 53 52 20 23 31 3a 52 53 | 42 4d 49 20 52 30 2c 52 |SR #1:RS|BMI R0,R|
|00000ba0| 30 2c 23 30 3a 41 44 52 | 20 52 31 31 2c 72 65 64 |0,#0:ADR| R11,red|
|00000bb0| 74 61 62 25 3a 4c 44 52 | 20 52 31 32 2c 5b 52 31 |tab%:LDR| R12,[R1|
|00000bc0| 31 2c 52 30 2c 41 53 4c | 20 23 32 5d 3a 43 4d 50 |1,R0,ASL| #2]:CMP|
|00000bd0| 20 52 31 32 2c 52 35 3a | 42 47 45 20 61 62 6f 72 | R12,R5:|BGE abor|
|00000be0| 74 0d 03 5c a3 20 20 20 | 41 44 52 20 52 30 2c 67 |t..\. |ADR R0,g|
|00000bf0| 72 65 65 6e 25 3a 4c 44 | 52 42 20 52 31 2c 5b 52 |reen%:LD|RB R1,[R|
|00000c00| 30 2c 52 31 30 5d 3a 41 | 44 44 20 52 30 2c 52 37 |0,R10]:A|DD R0,R7|
|00000c10| 2c 52 31 3a 53 55 42 53 | 20 52 30 2c 52 33 2c 52 |,R1:SUBS| R0,R3,R|
|00000c20| 30 2c 41 53 52 20 23 31 | 3a 52 53 42 4d 49 20 52 |0,ASR #1|:RSBMI R|
|00000c30| 30 2c 52 30 2c 23 30 3a | 41 44 44 20 52 31 31 2c |0,R0,#0:|ADD R11,|
|00000c40| 52 31 31 2c 23 26 34 30 | 30 3a 4c 44 52 20 52 30 |R11,#&40|0:LDR R0|
|00000c50| 2c 5b 52 31 31 2c 52 30 | 2c 41 53 4c 20 23 32 5d |,[R11,R0|,ASL #2]|
|00000c60| 3a 41 44 44 20 52 31 32 | 2c 52 31 32 2c 52 30 3a |:ADD R12|,R12,R0:|
|00000c70| 43 4d 50 20 52 31 32 2c | 52 35 3a 42 47 45 20 61 |CMP R12,|R5:BGE a|
|00000c80| 62 6f 72 74 0d 03 66 cb | 20 20 20 41 44 52 20 52 |bort..f.| ADR R|
|00000c90| 30 2c 62 6c 75 65 25 3a | 4c 44 52 42 20 52 31 2c |0,blue%:|LDRB R1,|
|00000ca0| 5b 52 30 2c 52 31 30 5d | 3a 41 44 44 20 52 30 2c |[R0,R10]|:ADD R0,|
|00000cb0| 52 38 2c 52 31 3a 53 55 | 42 53 20 52 30 2c 52 34 |R8,R1:SU|BS R0,R4|
|00000cc0| 2c 52 30 2c 41 53 52 20 | 23 31 3a 52 53 42 4d 49 |,R0,ASR |#1:RSBMI|
|00000cd0| 20 52 30 2c 52 30 2c 23 | 30 3a 41 44 44 20 52 31 | R0,R0,#|0:ADD R1|
|00000ce0| 31 2c 52 31 31 2c 23 26 | 34 30 30 3a 4c 44 52 20 |1,R11,#&|400:LDR |
|00000cf0| 52 30 2c 5b 52 31 31 2c | 52 30 2c 41 53 4c 20 23 |R0,[R11,|R0,ASL #|
|00000d00| 32 5d 3a 41 44 44 20 52 | 31 32 2c 52 31 32 2c 52 |2]:ADD R|12,R12,R|
|00000d10| 30 3a 43 4d 50 20 52 31 | 32 2c 52 35 3a 4d 4f 56 |0:CMP R1|2,R5:MOV|
|00000d20| 4c 54 20 52 35 2c 52 31 | 32 3a 53 54 52 4c 54 20 |LT R5,R1|2:STRLT |
|00000d30| 52 39 2c 62 65 73 74 74 | 77 6f 3a 53 54 52 4c 54 |R9,bestt|wo:STRLT|
|00000d40| 42 20 52 31 30 2c 62 65 | 73 74 74 77 6f 2b 31 0d |B R10,be|sttwo+1.|
|00000d50| 03 70 0d 20 20 20 2e 61 | 62 6f 72 74 0d 03 7a 2a |.p. .a|bort..z*|
|00000d60| 20 20 20 53 55 42 53 20 | 52 31 30 2c 52 31 30 2c | SUBS |R10,R10,|
|00000d70| 23 31 3a 42 50 4c 20 74 | 77 6f 63 6c 6f 73 65 73 |#1:BPL t|wocloses|
|00000d80| 74 6c 6f 6f 70 32 0d 03 | 84 27 20 20 53 55 42 53 |tloop2..|.' SUBS|
|00000d90| 20 52 39 2c 52 39 2c 23 | 31 3a 42 50 4c 20 74 77 | R9,R9,#|1:BPL tw|
|00000da0| 6f 63 6c 6f 73 65 73 74 | 6c 6f 6f 70 31 0d 03 8e |oclosest|loop1...|
|00000db0| 13 20 4c 44 52 20 52 30 | 2c 62 65 73 74 74 77 6f |. LDR R0|,besttwo|
|00000dc0| 0d 03 98 14 20 4c 44 4d | 46 44 20 52 31 33 21 2c |.... LDM|FD R13!,|
|00000dd0| 7b 50 43 7d 0d 03 a2 06 | 20 3a 0d 03 ac 0d 20 2e |{PC}....| :.... .|
|00000de0| 62 65 73 74 74 77 6f 0d | 03 b6 0b 20 45 51 55 44 |besttwo.|... EQUD|
|00000df0| 20 30 0d 03 c0 06 20 5d | 0d 03 ca 0f 20 72 65 64 | 0.... ]|.... red|
|00000e00| 74 61 62 25 3d 50 25 0d | 03 d4 16 20 67 72 65 65 |tab%=P%.|... gree|
|00000e10| 6e 74 61 62 25 3d 50 25 | 2b 26 34 30 30 0d 03 de |ntab%=P%|+&400...|
|00000e20| 15 20 62 6c 75 65 74 61 | 62 25 3d 50 25 2b 26 38 |. blueta|b%=P%+&8|
|00000e30| 30 30 0d 03 e8 0c 20 ed | 20 70 61 73 73 25 0d 03 |00.... .| pass%..|
|00000e40| f2 10 20 e3 69 25 3d 30 | 20 b8 20 32 35 35 0d 03 |.. .i%=0| . 255..|
|00000e50| fc 24 20 c8 99 22 4f 53 | 5f 52 65 61 64 50 61 6c |.$ .."OS|_ReadPal|
|00000e60| 65 74 74 65 22 2c 69 25 | 2c 31 36 20 b8 20 2c 2c |ette",i%|,16 . ,,|
|00000e70| 63 25 0d 04 06 4b 20 72 | 65 64 25 3f 69 25 3d 28 |c%...K r|ed%?i%=(|
|00000e80| 63 25 3e 3e 38 29 20 80 | 20 26 46 46 3a 67 72 65 |c%>>8) .| &FF:gre|
|00000e90| 65 6e 25 3f 69 25 3d 28 | 63 25 3e 3e 31 36 29 20 |en%?i%=(|c%>>16) |
|00000ea0| 80 20 26 46 46 3a 62 6c | 75 65 25 3f 69 25 3d 28 |. &FF:bl|ue%?i%=(|
|00000eb0| 63 25 3e 3e 32 34 29 20 | 80 20 26 46 46 0d 04 10 |c%>>24) |. &FF...|
|00000ec0| 06 20 ed 0d 04 1a 06 20 | e1 0d 04 24 06 20 3a 0d |. ..... |...$. :.|
|00000ed0| 04 2e 18 20 dd 20 a4 63 | 6f 6c 6e 75 6d 74 6f 67 |... . .c|olnumtog|
|00000ee0| 63 6f 6c 28 63 25 29 0d | 04 38 42 20 3d 28 63 25 |col(c%).|.8B =(c%|
|00000ef0| 20 80 20 25 31 30 30 30 | 30 31 31 31 29 2b 28 28 | . %1000|0111)+((|
|00000f00| 63 25 20 80 20 25 30 31 | 31 31 30 30 30 30 29 3e |c% . %01|110000)>|
|00000f10| 3e 31 29 2b 28 28 63 25 | 20 80 20 25 30 30 30 30 |>1)+((c%| . %0000|
|00000f20| 31 30 30 30 29 3c 3c 33 | 29 0d 04 42 06 20 3a 0d |1000)<<3|)..B. :.|
|00000f30| 04 4c 1d 20 dd 20 a4 74 | 77 6f 5f 63 6c 6f 73 65 |.L. . .t|wo_close|
|00000f40| 73 74 28 43 25 2c 44 25 | 2c 45 25 29 0d 04 56 1d |st(C%,D%|,E%)..V.|
|00000f50| 20 63 6c 72 25 3d 43 25 | 2b 28 44 25 3c 3c 38 29 | clr%=C%|+(D%<<8)|
|00000f60| 2b 28 45 25 3c 3c 31 36 | 29 0d 04 60 0a 20 6e 25 |+(E%<<16|)..`. n%|
|00000f70| 3d 2d 31 0d 04 6a 19 20 | e3 69 25 3d 30 20 b8 20 |=-1..j. |.i%=0 . |
|00000f80| 63 61 63 68 65 73 69 7a | 65 25 2d 31 0d 04 74 1b |cachesiz|e%-1..t.|
|00000f90| 20 20 e7 20 63 61 63 68 | 65 25 28 69 25 2c 30 29 | . cach|e%(i%,0)|
|00000fa0| 3d 63 6c 72 25 20 8c 0d | 04 7e 2a 20 20 20 6e 25 |=clr% ..|.~* n%|
|00000fb0| 3d 69 25 3a 63 61 63 68 | 65 25 28 69 25 2c 32 29 |=i%:cach|e%(i%,2)|
|00000fc0| 2b 3d 31 3a 69 25 3d 63 | 61 63 68 65 73 69 7a 65 |+=1:i%=c|achesize|
|00000fd0| 25 0d 04 88 07 20 20 cd | 0d 04 92 06 20 ed 0d 04 |%.... .|.... ...|
|00000fe0| 9c 1d 20 e7 20 6e 25 3c | 3e 2d 31 20 8c 20 3d 63 |.. . n%<|>-1 . =c|
|00000ff0| 61 63 68 65 25 28 6e 25 | 2c 31 29 0d 04 a6 15 20 |ache%(n%|,1).... |
|00001000| 6e 25 3d ba 28 74 77 6f | 63 6c 6f 73 65 73 74 29 |n%=.(two|closest)|
|00001010| 0d 04 b0 25 20 63 6c 31 | 25 3d 6e 25 20 80 20 26 |...% cl1|%=n% . &|
|00001020| 46 46 3a 63 6c 32 25 3d | 28 6e 25 3e 3e 38 29 20 |FF:cl2%=|(n%>>8) |
|00001030| 80 20 26 46 46 0d 04 ba | 36 20 6e 25 3d a4 63 6f |. &FF...|6 n%=.co|
|00001040| 6c 6e 75 6d 74 6f 67 63 | 6f 6c 28 63 6c 31 25 29 |lnumtogc|ol(cl1%)|
|00001050| 20 84 20 28 a4 63 6f 6c | 6e 75 6d 74 6f 67 63 6f | . (.col|numtogco|
|00001060| 6c 28 63 6c 32 25 29 3c | 3c 38 29 0d 04 c4 0d 20 |l(cl2%)<|<8).... |
|00001070| 66 72 65 65 25 3d 2d 31 | 0d 04 ce 19 20 e3 69 25 |free%=-1|.... .i%|
|00001080| 3d 30 20 b8 20 63 61 63 | 68 65 73 69 7a 65 25 2d |=0 . cac|hesize%-|
|00001090| 31 0d 04 d8 19 20 20 e7 | 20 63 61 63 68 65 25 28 |1.... .| cache%(|
|000010a0| 69 25 2c 30 29 3d 2d 31 | 20 8c 0d 04 e2 1d 20 20 |i%,0)=-1| ..... |
|000010b0| 20 66 72 65 65 25 3d 69 | 25 3a 69 25 3d 63 61 63 | free%=i|%:i%=cac|
|000010c0| 68 65 73 69 7a 65 25 0d | 04 ec 07 20 20 cd 0d 04 |hesize%.|... ...|
|000010d0| f6 06 20 ed 0d 05 00 12 | 20 e7 20 66 72 65 65 25 |.. .....| . free%|
|000010e0| 3c 3e 2d 31 20 8c 0d 05 | 0a 3f 20 20 63 61 63 68 |<>-1 ...|.? cach|
|000010f0| 65 25 28 66 72 65 65 25 | 2c 30 29 3d 63 6c 72 25 |e%(free%|,0)=clr%|
|00001100| 3a 63 61 63 68 65 25 28 | 66 72 65 65 25 2c 31 29 |:cache%(|free%,1)|
|00001110| 3d 6e 25 3a 63 61 63 68 | 65 25 28 66 72 65 65 25 |=n%:cach|e%(free%|
|00001120| 2c 32 29 3d 30 0d 05 14 | 06 20 cc 0d 05 1e 19 20 |,2)=0...|. ..... |
|00001130| 20 6c 6f 77 65 73 74 25 | 3d 78 72 65 73 25 2a 79 | lowest%|=xres%*y|
|00001140| 72 65 73 25 0d 05 28 0d | 20 20 73 6c 6f 74 25 3d |res%..(.| slot%=|
|00001150| 30 0d 05 32 1a 20 20 e3 | 69 25 3d 30 20 b8 20 63 |0..2. .|i%=0 . c|
|00001160| 61 63 68 65 73 69 7a 65 | 25 2d 31 0d 05 3c 28 20 |achesize|%-1..<( |
|00001170| 20 20 e7 20 63 61 63 68 | 65 25 28 69 25 2c 32 29 | . cach|e%(i%,2)|
|00001180| 3c 6c 6f 77 65 73 74 25 | 20 8c 20 73 6c 6f 74 25 |<lowest%| . slot%|
|00001190| 3d 69 25 0d 05 46 07 20 | 20 ed 0d 05 50 3f 20 20 |=i%..F. | ...P? |
|000011a0| 63 61 63 68 65 25 28 73 | 6c 6f 74 25 2c 30 29 3d |cache%(s|lot%,0)=|
|000011b0| 63 6c 72 25 3a 63 61 63 | 68 65 25 28 73 6c 6f 74 |clr%:cac|he%(slot|
|000011c0| 25 2c 31 29 3d 6e 25 3a | 63 61 63 68 65 25 28 73 |%,1)=n%:|cache%(s|
|000011d0| 6c 6f 74 25 2c 32 29 3d | 30 0d 05 5a 06 20 cd 0d |lot%,2)=|0..Z. ..|
|000011e0| 05 64 08 20 3d 6e 25 0d | ff |.d. =n%.|. |
+--------+-------------------------+-------------------------+--------+--------+