home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / demos / d / direct / !Direct / BallSrc < prev   
Unknown  |  1992-07-14  |  10.9 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
10% dexvert Truevision Targa Graphic (image/tga) magic Supported
100% file data default
100% xdgMime image/x-tga default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 48 f4 20 a9 20 | 48 6f 77 54 6f 44 69 72 |...H. . |HowToDir|
|00000010| 65 63 74 53 63 72 65 65 | 6e 50 6c 6f 74 49 6e 46 |ectScree|nPlotInF|
|00000020| 6f 75 72 54 68 6f 75 73 | 61 6e 64 45 61 73 79 50 |ourThous|andEasyP|
|00000030| 65 61 73 79 57 61 79 73 | 21 20 28 56 65 72 73 69 |easyWays|! (Versi|
|00000040| 6f 6e 20 30 2e 30 31 29 | 0d 00 14 10 f4 20 a9 20 |on 0.01)|..... . |
|00000050| 4a 70 2c 20 31 39 39 32 | 0d 00 1e 04 0d 00 28 21 |Jp, 1992|......(!|
|00000060| ee 20 85 20 f1 20 f6 24 | 3b 22 20 61 74 20 6c 69 |. . . .$|;" at li|
|00000070| 6e 65 20 22 3b 9e 20 81 | 20 31 30 3a e0 0d 00 32 |ne ";. .| 10:...2|
|00000080| 19 de 20 63 6f 64 65 20 | 36 30 30 30 30 30 2c 66 |.. code |600000,f|
|00000090| 69 6c 65 20 32 30 0d 00 | 3c 1a 64 69 72 24 3d 22 |ile 20..|<.dir$="|
|000000a0| 3c 45 61 73 79 50 65 61 | 73 79 24 44 69 72 3e 22 |<EasyPea|sy$Dir>"|
|000000b0| 0d 00 46 43 f1 22 43 6f | 6d 70 69 6c 69 6e 67 20 |..FC."Co|mpiling |
|000000c0| 48 6f 77 54 6f 44 69 72 | 65 63 74 53 63 72 65 65 |HowToDir|ectScree|
|000000d0| 6e 50 6c 6f 74 49 6e 46 | 6f 75 72 54 68 6f 75 73 |nPlotInF|ourThous|
|000000e0| 61 6e 64 45 61 73 79 50 | 65 61 73 79 57 61 79 73 |andEasyP|easyWays|
|000000f0| 21 22 27 0d 00 50 04 0d | 00 5a 21 f4 20 2a 2a 2a |!"'..P..|.Z!. ***|
|00000100| 2a 20 4d 65 6d 6f 72 79 | 20 41 6c 6c 6f 63 61 74 |* Memory| Allocat|
|00000110| 69 6f 6e 20 2a 2a 2a 2a | 0d 00 64 04 0d 00 6e 0a |ion ****|..d...n.|
|00000120| 77 6f 72 6b 3d 30 0d 00 | 78 28 73 63 72 65 65 6e |work=0..|x(screen|
|00000130| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000140| 20 20 3d 20 20 20 a4 77 | 6f 72 6b 28 34 29 0d 00 | = .w|ork(4)..|
|00000150| 82 28 73 63 72 65 65 6e | 5f 62 61 6e 6b 31 20 20 |.(screen|_bank1 |
|00000160| 20 20 20 20 20 20 20 20 | 20 20 3d 20 20 20 a4 77 | | = .w|
|00000170| 6f 72 6b 28 34 29 0d 00 | 8c 24 77 6f 72 6b 5f 6c |ork(4)..|.$work_l|
|00000180| 65 6e 67 74 68 25 20 20 | 20 20 20 20 20 20 20 20 |ength% | |
|00000190| 20 20 3d 20 20 20 77 6f | 72 6b 0d 00 96 04 0d 00 | = wo|rk......|
|000001a0| a0 04 0d 00 aa 49 f4 20 | 54 68 65 20 6d 65 6d 6f |.....I. |The memo|
|000001b0| 72 79 20 61 6c 6c 6f 63 | 61 74 69 6f 6e 20 77 6f |ry alloc|ation wo|
|000001c0| 72 6b 73 20 62 79 20 69 | 6e 63 65 61 73 69 6e 67 |rks by i|nceasing|
|000001d0| 20 74 68 65 20 74 68 65 | 20 76 61 72 69 61 62 6c | the the| variabl|
|000001e0| 65 20 22 77 6f 72 6b 22 | 20 62 79 0d 00 b4 46 f4 |e "work"| by...F.|
|000001f0| 20 68 6f 77 20 6d 75 63 | 68 20 69 73 20 69 6e 20 | how muc|h is in |
|00000200| 74 68 65 20 62 72 61 63 | 6b 65 74 73 20 65 61 63 |the brac|kets eac|
|00000210| 68 20 74 69 6d 65 2c 20 | 61 6e 64 20 67 69 76 69 |h time, |and givi|
|00000220| 6e 67 20 74 68 65 20 76 | 61 72 69 61 62 6c 65 20 |ng the v|ariable |
|00000230| 61 0d 00 be 3d f4 20 6e | 75 6d 62 65 72 2c 20 69 |a...=. n|umber, i|
|00000240| 6e 20 74 68 65 20 61 6c | 6c 6f 63 61 74 69 6f 6e |n the al|location|
|00000250| 20 61 62 6f 76 65 2c 20 | 74 68 65 20 66 6f 6c 6c | above, |the foll|
|00000260| 6f 77 69 6e 67 20 68 61 | 70 70 65 6e 73 3a 0d 00 |owing ha|ppens:..|
|00000270| c8 16 f4 20 73 63 72 65 | 65 6e 20 20 20 20 20 20 |... scre|en |
|00000280| 20 3d 20 30 0d 00 d2 16 | f4 20 73 63 72 65 65 6e | = 0....|. screen|
|00000290| 5f 62 61 6e 6b 31 20 3d | 20 34 0d 00 dc 05 f4 0d |_bank1 =| 4......|
|000002a0| 00 e6 4c f4 20 41 6e 64 | 20 73 6f 20 6f 6e 2e 2e |..L. And| so on..|
|000002b0| 2e 20 57 68 65 6e 20 46 | 4e 77 6f 72 6b 20 69 73 |. When F|Nwork is|
|000002c0| 20 63 61 6c 6c 65 64 2c | 20 69 74 20 67 69 76 65 | called,| it give|
|000002d0| 73 20 74 68 65 20 76 61 | 72 69 61 62 6c 65 20 74 |s the va|riable t|
|000002e0| 68 65 20 76 61 6c 75 65 | 20 69 6e 0d 00 f0 47 f4 |he value| in...G.|
|000002f0| 20 74 68 65 20 76 61 72 | 69 61 62 6c 65 20 22 77 | the var|iable "w|
|00000300| 6f 72 6b 22 20 61 6e 64 | 20 74 68 65 6e 20 69 6e |ork" and| then in|
|00000310| 63 72 65 61 73 65 73 20 | 74 68 65 20 76 61 72 69 |creases |the vari|
|00000320| 61 62 6c 65 20 22 77 6f | 72 6b 22 20 62 79 20 74 |able "wo|rk" by t|
|00000330| 68 65 0d 00 fa 19 f4 20 | 6e 75 6d 62 65 72 20 69 |he..... |number i|
|00000340| 6e 20 62 72 61 63 6b 65 | 74 73 2e 0d 01 04 04 0d |n bracke|ts......|
|00000350| 01 0e 04 0d 01 18 12 73 | 74 61 63 6b 20 20 20 20 |.......s|tack |
|00000360| 3d 20 20 31 33 0d 01 22 | 11 62 61 6c 6c 6e 6f 20 |= 13.."|.ballno |
|00000370| 20 20 3d 20 20 35 0d 01 | 2c 12 77 6f 72 6b 20 20 | = 5..|,.work |
|00000380| 20 20 20 3d 20 20 31 32 | 0d 01 36 0b 67 72 61 76 | = 12|..6.grav|
|00000390| 25 3d 31 0d 01 40 14 6c | 65 64 67 65 25 3d 32 35 |%=1..@.l|edge%=25|
|000003a0| 36 2d 31 36 2d 33 32 0d | 01 4a 04 0d 01 54 35 f4 |6-16-32.|.J...T5.|
|000003b0| 20 54 68 65 20 61 62 6f | 76 65 20 73 65 74 73 20 | The abo|ve sets |
|000003c0| 75 70 20 74 68 65 20 76 | 61 72 69 61 62 6c 65 73 |up the v|ariables|
|000003d0| 20 66 6f 72 20 74 68 65 | 20 70 72 6f 67 72 61 6d | for the| program|
|000003e0| 0d 01 5e 04 0d 01 68 04 | 0d 01 72 27 f4 20 2a 2a |..^...h.|..r'. **|
|000003f0| 2a 2a 2a 2a 2a 2a 20 43 | 6f 6d 70 69 6c 69 6e 67 |****** C|ompiling|
|00000400| 20 6c 6f 6f 70 3a 20 2a | 2a 2a 2a 2a 2a 2a 2a 0d | loop: *|*******.|
|00000410| 01 7c 04 0d 01 86 14 e3 | 20 70 61 73 73 3d 34 20 |.|......| pass=4 |
|00000420| b8 20 36 20 88 20 32 0d | 01 90 04 0d 01 9a 0c 50 |. 6 . 2.|.......P|
|00000430| 25 3d 26 38 30 30 30 0d | 01 a4 0b 4f 25 3d 63 6f |%=&8000.|...O%=co|
|00000440| 64 65 0d 01 ae 04 0d 01 | b8 10 20 20 20 5b 4f 50 |de......|.. [OP|
|00000450| 54 20 70 61 73 73 0d 01 | c2 04 0d 01 cc 4a 20 20 |T pass..|.....J |
|00000460| 20 20 4c 44 52 20 20 20 | 20 20 72 31 32 2c 77 6f | LDR | r12,wo|
|00000470| 72 6b 5f 61 64 72 20 20 | 20 20 20 20 20 20 20 20 |rk_adr | |
|00000480| 20 20 3b 20 6c 6f 61 64 | 73 20 72 31 32 20 28 77 | ; load|s r12 (w|
|00000490| 6f 72 6b 29 20 61 6e 64 | 20 72 31 33 20 28 73 74 |ork) and| r13 (st|
|000004a0| 61 63 6b 29 0d 01 d6 4e | 20 20 20 20 53 57 49 20 |ack)...N| SWI |
|000004b0| 20 20 20 20 22 4f 53 5f | 47 65 74 45 6e 76 22 20 | "OS_|GetEnv" |
|000004c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 77 69 | | ; wi|
|000004d0| 74 68 20 77 68 65 72 65 | 20 74 68 65 20 77 6f 72 |th where| the wor|
|000004e0| 6b 2f 73 74 61 63 6b 20 | 6d 65 6d 6f 72 79 20 69 |k/stack |memory i|
|000004f0| 73 2e 0d 01 e0 18 20 20 | 20 20 4d 4f 56 20 20 20 |s..... | MOV |
|00000500| 20 20 73 74 61 63 6b 2c | 72 31 0d 01 ea 3a 20 20 | stack,|r1...: |
|00000510| 20 20 42 4c 20 20 20 20 | 20 20 73 65 74 75 70 20 | BL | setup |
|00000520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000530| 20 20 3b 20 73 65 74 75 | 70 73 20 76 61 72 69 61 | ; setu|ps varia|
|00000540| 62 6c 65 73 0d 01 f4 10 | 20 20 2e 6d 61 69 6e 5f |bles....| .main_|
|00000550| 6c 6f 6f 70 0d 01 fe 29 | 20 20 20 20 4d 4f 56 20 |loop...)| MOV |
|00000560| 20 20 20 20 72 30 2c 23 | 31 32 31 20 20 20 20 20 | r0,#|121 |
|00000570| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 0d 02 08 | | ;...|
|00000580| 27 20 20 20 20 4d 4f 56 | 20 20 20 20 20 72 31 2c |' MOV| r1,|
|00000590| 23 31 36 20 82 20 26 38 | 30 20 20 20 20 20 20 20 |#16 . &8|0 |
|000005a0| 20 20 20 3b 0d 02 12 29 | 20 20 20 20 53 57 49 20 | ;...)| SWI |
|000005b0| 20 20 20 20 22 4f 53 5f | 42 79 74 65 22 20 20 20 | "OS_|Byte" |
|000005c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 0d 02 1c | | ;...|
|000005d0| 29 20 20 20 20 43 4d 50 | 20 20 20 20 20 72 31 2c |) CMP| r1,|
|000005e0| 23 26 46 46 20 20 20 20 | 20 20 20 20 20 20 20 20 |#&FF | |
|000005f0| 20 20 20 20 20 3b 0d 02 | 26 4d 20 20 20 20 42 45 | ;..|&M BE|
|00000600| 51 20 20 20 20 20 6d 61 | 69 6e 5f 6c 6f 6f 70 5f |Q ma|in_loop_|
|00000610| 65 6e 64 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |end | ; |
|00000620| 2a 46 58 31 32 31 20 63 | 68 65 63 6b 73 20 66 6f |*FX121 c|hecks fo|
|00000630| 72 20 6b 65 79 20 31 36 | 20 28 6c 65 74 74 65 72 |r key 16| (letter|
|00000640| 20 51 29 0d 02 30 04 0d | 02 3a 1e 20 20 20 20 42 | Q)..0..|.:. B|
|00000650| 4c 20 20 20 20 20 20 75 | 6e 70 6c 6f 74 5f 73 6d |L u|nplot_sm|
|00000660| 69 6c 65 79 73 0d 02 44 | 1c 20 20 20 20 42 4c 20 |ileys..D|. BL |
|00000670| 20 20 20 20 20 6d 6f 76 | 65 5f 73 6d 69 6c 65 79 | mov|e_smiley|
|00000680| 73 0d 02 4e 1c 20 20 20 | 20 42 4c 20 20 20 20 20 |s..N. | BL |
|00000690| 20 70 6c 6f 74 5f 73 6d | 69 6c 65 79 73 0d 02 58 | plot_sm|ileys..X|
|000006a0| 04 0d 02 62 16 20 20 20 | 20 4d 4f 56 20 20 20 20 |...b. | MOV |
|000006b0| 20 72 30 2c 23 31 39 0d | 02 6c 15 20 20 20 20 4d | r0,#19.|.l. M|
|000006c0| 4f 56 20 20 20 20 20 72 | 31 2c 23 30 0d 02 76 15 |OV r|1,#0..v.|
|000006d0| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 72 32 2c 23 | MOV | r2,#|
|000006e0| 30 0d 02 80 3e 20 20 20 | 20 53 57 49 20 20 20 20 |0...> | SWI |
|000006f0| 20 22 4f 53 5f 42 79 74 | 65 22 20 20 20 20 20 20 | "OS_Byt|e" |
|00000700| 20 20 20 20 20 20 20 20 | 20 3b 20 2a 46 58 31 39 | | ; *FX19|
|00000710| 20 77 61 69 74 20 66 6f | 72 20 76 73 79 6e 63 0d | wait fo|r vsync.|
|00000720| 02 8a 38 20 20 20 20 42 | 20 20 20 20 20 20 20 6d |..8 B| m|
|00000730| 61 69 6e 5f 6c 6f 6f 70 | 20 20 20 20 20 20 20 20 |ain_loop| |
|00000740| 20 20 20 20 20 20 20 3b | 20 72 65 70 65 61 74 20 | ;| repeat |
|00000750| 61 67 61 69 6e 20 21 0d | 02 94 04 0d 02 9e 2c 20 |again !.|......, |
|00000760| 20 20 20 45 51 55 53 20 | 20 20 20 bd 31 30 2b bd | EQUS | .10+.|
|00000770| 31 30 2b 22 a9 20 4a 70 | 2c 20 31 39 39 32 22 2b |10+". Jp|, 1992"+|
|00000780| bd 31 30 2b bd 31 30 0d | 02 a8 0e 20 20 20 20 a4 |.10+.10.|... .|
|00000790| 61 6c 69 67 6e 0d 02 b2 | 04 0d 02 bc 14 20 20 2e |align...|..... .|
|000007a0| 6d 61 69 6e 5f 6c 6f 6f | 70 5f 65 6e 64 0d 02 c6 |main_loo|p_end...|
|000007b0| 36 20 20 20 20 53 57 49 | 20 20 20 20 20 22 4f 53 |6 SWI| "OS|
|000007c0| 5f 45 78 69 74 22 20 20 | 20 20 20 20 20 20 20 20 |_Exit" | |
|000007d0| 20 20 20 20 20 3b 20 65 | 78 69 74 20 70 72 6f 67 | ; e|xit prog|
|000007e0| 72 61 6d 0d 02 d0 04 0d | 02 da 0c 20 20 2e 69 6e |ram.....|... .in|
|000007f0| 70 75 74 0d 02 e4 50 20 | 20 20 20 45 51 55 44 20 |put...P | EQUD |
|00000800| 20 20 20 31 34 38 20 20 | 20 20 20 20 20 20 20 20 | 148 | |
|00000810| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 31 34 38 | | ; 148|
|00000820| 20 69 73 20 74 68 65 20 | 63 6f 64 65 20 66 6f 72 | is the |code for|
|00000830| 20 72 65 61 64 69 6e 67 | 20 73 63 72 65 65 6e 20 | reading| screen |
|00000840| 6d 65 6d 0d 02 ee 49 20 | 20 20 20 45 51 55 44 20 |mem...I | EQUD |
|00000850| 20 20 2d 31 20 20 20 20 | 20 20 20 20 20 20 20 20 | -1 | |
|00000860| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 2d 31 20 | | ; -1 |
|00000870| 69 73 20 74 68 65 20 74 | 65 72 6d 69 6e 61 74 69 |is the t|erminati|
|00000880| 6f 6e 20 63 68 61 72 61 | 63 74 65 72 0d 02 f8 04 |on chara|cter....|
|00000890| 0d 03 02 0f 20 20 2e 77 | 6f 72 6b 5f 61 64 72 0d |.... .w|ork_adr.|
|000008a0| 03 0c 19 20 20 20 20 45 | 51 55 44 20 20 20 20 77 |... E|QUD w|
|000008b0| 6f 72 6b 5f 6d 65 6d 25 | 0d 03 16 04 0d 03 20 10 |ork_mem%|...... .|
|000008c0| 20 20 2e 62 61 6c 6c 73 | 5f 61 64 72 0d 03 2a 15 | .balls|_adr..*.|
|000008d0| 20 20 20 20 45 51 55 44 | 20 20 20 20 62 61 6c 6c | EQUD| ball|
|000008e0| 73 0d 03 34 04 0d 03 3e | 0c 20 20 2e 73 65 74 75 |s..4...>|. .setu|
|000008f0| 70 0d 03 48 10 3b 20 73 | 65 63 74 69 6f 6e 20 31 |p..H.; s|ection 1|
|00000900| 3a 0d 03 52 42 20 20 20 | 20 53 57 49 20 20 20 20 |:..RB | SWI |
|00000910| 20 32 35 36 2b 32 32 20 | 20 20 20 20 20 20 20 20 | 256+22 | |
|00000920| 20 20 20 20 20 20 20 20 | 20 3b 20 63 68 61 6e 67 | | ; chang|
|00000930| 65 20 6d 6f 64 65 20 74 | 6f 2e 2e 2e 20 28 ef 20 |e mode t|o... (. |
|00000940| 32 32 29 0d 03 5c 42 20 | 20 20 20 53 57 49 20 20 |22)..\B | SWI |
|00000950| 20 20 20 32 35 36 2b 31 | 33 20 20 20 20 20 20 20 | 256+1|3 |
|00000960| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 31 33 2e | | ; 13.|
|00000970| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00000980| ef 20 31 33 29 0d 03 66 | 18 20 20 20 20 41 44 52 |. 13)..f|. ADR|
|00000990| 20 20 20 20 20 72 30 2c | 69 6e 70 75 74 0d 03 70 | r0,|input..p|
|000009a0| 25 20 20 20 20 41 44 44 | 20 20 20 20 20 72 31 2c |% ADD| r1,|
|000009b0| 77 6f 72 6b 2c 23 73 63 | 72 65 65 6e 5f 62 61 6e |work,#sc|reen_ban|
|000009c0| 6b 31 0d 03 7a 49 20 20 | 20 20 53 57 49 20 20 20 |k1..zI | SWI |
|000009d0| 20 20 22 4f 53 5f 52 65 | 61 64 56 64 75 56 61 72 | "OS_Re|adVduVar|
|000009e0| 69 61 62 6c 65 73 22 20 | 20 20 3b 20 6f 75 74 70 |iables" | ; outp|
|000009f0| 75 74 20 62 6c 6f 63 6b | 20 28 73 63 72 65 65 6e |ut block| (screen|
|00000a00| 5f 62 61 6e 6b 31 29 20 | 6e 6f 77 0d 03 84 4d 20 |_bank1) |now...M |
|00000a10| 20 20 20 4c 44 52 20 20 | 20 20 20 72 30 2c 5b 77 | LDR | r0,[w|
|00000a20| 6f 72 6b 2c 23 73 63 72 | 65 65 6e 5f 62 61 6e 6b |ork,#scr|een_bank|
|00000a30| 31 5d 20 3b 20 63 6f 6e | 74 61 69 6e 73 20 74 68 |1] ; con|tains th|
|00000a40| 65 20 73 74 61 72 74 20 | 6f 66 20 73 63 72 65 65 |e start |of scree|
|00000a50| 6e 20 6d 65 6d 6f 72 79 | 0d 03 8e 49 20 20 20 20 |n memory|...I |
|00000a60| 53 54 52 20 20 20 20 20 | 72 30 2c 5b 77 6f 72 6b |STR |r0,[work|
|00000a70| 2c 23 73 63 72 65 65 6e | 5d 20 20 20 20 20 20 20 |,#screen|] |
|00000a80| 3b 20 73 63 72 65 65 6e | 20 3d 20 73 74 61 72 74 |; screen| = start|
|00000a90| 20 6f 66 20 73 63 72 65 | 65 6e 20 6d 65 6d 6f 72 | of scre|en memor|
|00000aa0| 79 0d 03 98 41 20 20 20 | 20 53 57 49 20 20 20 20 |y...A | SWI |
|00000ab0| 20 22 4f 53 5f 52 65 6d | 6f 76 65 43 75 72 73 6f | "OS_Rem|oveCurso|
|00000ac0| 72 73 22 20 20 20 20 20 | 20 3b 20 72 65 6d 6f 76 |rs" | ; remov|
|00000ad0| 65 20 66 6c 61 73 68 69 | 6e 67 20 63 75 72 73 6f |e flashi|ng curso|
|00000ae0| 72 73 0d 03 a2 10 3b 20 | 73 65 63 74 69 6f 6e 20 |rs....; |section |
|00000af0| 32 3a 0d 03 ac 15 20 20 | 20 20 4d 4f 56 20 20 20 |2:.... | MOV |
|00000b00| 20 20 72 30 2c 23 30 0d | 03 b6 15 20 20 20 20 4d | r0,#0.|... M|
|00000b10| 4f 56 20 20 20 20 20 72 | 31 2c 23 30 0d 03 c0 15 |OV r|1,#0....|
|00000b20| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 72 32 2c 23 | MOV | r2,#|
|00000b30| 30 0d 03 ca 15 20 20 20 | 20 4d 4f 56 20 20 20 20 |0.... | MOV |
|00000b40| 20 72 33 2c 23 30 0d 03 | d4 15 20 20 20 20 4d 4f | r3,#0..|.. MO|
|00000b50| 56 20 20 20 20 20 72 34 | 2c 23 30 0d 03 de 4d 20 |V r4|,#0...M |
|00000b60| 20 20 20 4c 44 52 20 20 | 20 20 20 72 35 2c 5b 77 | LDR | r5,[w|
|00000b70| 6f 72 6b 2c 23 73 63 72 | 65 65 6e 5d 20 20 20 20 |ork,#scr|een] |
|00000b80| 20 20 20 3b 20 72 35 20 | 6e 6f 77 20 63 6f 6e 74 | ; r5 |now cont|
|00000b90| 61 69 6e 73 20 74 68 65 | 20 73 74 61 72 74 20 6f |ains the| start o|
|00000ba0| 66 20 73 63 72 65 65 6e | 0d 03 e8 31 20 20 20 20 |f screen|...1 |
|00000bb0| 4d 4f 56 20 20 20 20 20 | 72 36 2c 23 26 35 30 30 |MOV |r6,#&500|
|00000bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000bd0| 3b 20 63 6f 75 6e 74 65 | 72 0d 03 f2 10 20 20 2e |; counte|r.... .|
|00000be0| 63 6c 65 61 72 6c 6f 6f | 70 0d 03 fc 44 20 20 20 |clearloo|p...D |
|00000bf0| 20 53 54 4d 49 41 20 20 | 20 72 35 21 2c 7b 72 30 | STMIA | r5!,{r0|
|00000c00| 2d 72 34 7d 20 20 20 20 | 20 20 20 20 20 20 20 20 |-r4} | |
|00000c10| 20 3b 20 73 74 6f 72 65 | 73 20 30 27 73 20 6f 76 | ; store|s 0's ov|
|00000c20| 65 72 20 74 68 65 20 73 | 63 72 65 65 6e 0d 04 06 |er the s|creen...|
|00000c30| 1b 20 20 20 20 53 54 4d | 49 41 20 20 20 72 35 21 |. STM|IA r5!|
|00000c40| 2c 7b 72 30 2d 72 34 7d | 0d 04 10 3b 20 20 20 20 |,{r0-r4}|...; |
|00000c50| 53 55 42 53 20 20 20 20 | 72 36 2c 72 36 2c 23 31 |SUBS |r6,r6,#1|
|00000c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c70| 3b 20 64 65 63 72 65 61 | 73 65 73 20 63 6f 75 6e |; decrea|ses coun|
|00000c80| 74 65 72 0d 04 1a 4b 20 | 20 20 20 42 4e 45 20 20 |ter...K | BNE |
|00000c90| 20 20 20 63 6c 65 61 72 | 6c 6f 6f 70 20 20 20 20 | clear|loop |
|00000ca0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 62 72 61 | | ; bra|
|00000cb0| 6e 63 68 20 69 66 20 22 | 6e 6f 74 20 7a 65 72 6f |nch if "|not zero|
|00000cc0| 22 20 74 6f 20 63 6c 65 | 61 72 6c 6f 6f 70 0d 04 |" to cle|arloop..|
|00000cd0| 24 3f 20 20 20 20 4d 4f | 56 20 20 20 20 20 50 43 |$? MO|V PC|
|00000ce0| 2c 72 31 34 20 20 20 20 | 20 20 20 20 20 20 20 20 |,r14 | |
|00000cf0| 20 20 20 20 20 20 3b 20 | 72 65 74 75 72 6e 20 62 | ; |return b|
|00000d00| 61 63 6b 20 74 6f 20 63 | 61 6c 6c 65 72 0d 04 2e |ack to c|aller...|
|00000d10| 04 0d 04 38 10 f4 20 53 | 65 63 74 69 6f 6e 20 31 |...8.. S|ection 1|
|00000d20| 3a 0d 04 42 49 f4 20 74 | 68 69 73 20 62 69 74 20 |:..BI. t|his bit |
|00000d30| 63 68 61 6e 67 65 73 20 | 74 68 65 20 6d 6f 64 65 |changes |the mode|
|00000d40| 20 74 6f 20 31 33 2c 20 | 61 6e 64 20 74 68 65 6e | to 13, |and then|
|00000d50| 20 66 69 6e 64 73 20 74 | 68 65 20 73 74 61 72 74 | finds t|he start|
|00000d60| 20 6f 66 20 73 63 72 65 | 65 6e 0d 04 4c 48 f4 20 | of scre|en..LH. |
|00000d70| 6d 65 6d 6f 72 79 2c 20 | 69 66 20 79 6f 75 20 68 |memory, |if you h|
|00000d80| 61 64 20 32 20 73 63 72 | 65 65 6e 20 62 61 6e 6b |ad 2 scr|een bank|
|00000d90| 73 20 28 77 68 69 63 68 | 20 77 65 20 64 6f 6e 74 |s (which| we dont|
|00000da0| 29 20 74 68 65 6e 20 74 | 68 61 74 20 69 73 20 77 |) then t|hat is w|
|00000db0| 68 79 0d 04 56 4d f4 20 | 77 65 20 68 61 76 65 20 |hy..VM. |we have |
|00000dc0| 73 63 72 65 65 6e 20 61 | 6e 64 20 73 63 72 65 65 |screen a|nd scree|
|00000dd0| 6e 5f 62 61 6e 6b 31 2c | 20 73 6f 20 74 68 61 74 |n_bank1,| so that|
|00000de0| 20 22 73 63 72 65 65 6e | 22 20 69 73 20 74 68 65 | "screen|" is the|
|00000df0| 20 70 72 65 73 65 6e 74 | 20 73 63 72 65 65 6e 0d | present| screen.|
|00000e00| 04 60 4b f4 20 62 65 69 | 6e 67 20 77 72 69 74 74 |.`K. bei|ng writt|
|00000e10| 65 6e 20 74 6f 2c 20 74 | 68 65 6e 20 61 6c 6c 20 |en to, t|hen all |
|00000e20| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 68 61 73 20 |the prog|ram has |
|00000e30| 74 6f 20 64 6f 2c 20 69 | 73 20 73 77 69 74 63 68 |to do, i|s switch|
|00000e40| 20 74 68 65 20 76 61 6c | 75 65 0d 04 6a 12 f4 20 | the val|ue..j.. |
|00000e50| 69 6e 20 22 73 63 72 65 | 65 6e 22 2e 0d 04 74 10 |in "scre|en"...t.|
|00000e60| f4 20 53 65 63 74 69 6f | 6e 20 32 3a 0d 04 7e 44 |. Sectio|n 2:..~D|
|00000e70| f4 20 74 68 69 73 20 63 | 6c 65 61 72 6c 6f 6f 70 |. this c|learloop|
|00000e80| 20 63 6c 65 61 72 73 20 | 74 68 65 20 65 6e 74 69 | clears |the enti|
|00000e90| 72 65 20 73 63 72 65 65 | 6e 20 28 6d 61 79 62 65 |re scree|n (maybe|
|00000ea0| 20 6e 6f 74 20 6e 65 63 | 61 73 73 61 72 79 3f 29 | not nec|assary?)|
|00000eb0| 0d 04 88 04 0d 04 92 04 | 0d 04 9c 04 0d 04 a6 35 |........|.......5|
|00000ec0| f4 20 2a 2a 2a 2a 2a 2a | 2a 2a 20 4d 61 69 6e 20 |. ******|** Main |
|00000ed0| 62 61 6c 6c 20 72 6f 75 | 74 69 6e 65 73 20 28 61 |ball rou|tines (a|
|00000ee0| 74 20 6c 61 73 74 21 29 | 20 2a 2a 2a 2a 2a 2a 2a |t last!)| *******|
|00000ef0| 2a 0d 04 b0 04 0d 04 ba | 13 20 20 2e 70 6c 6f 74 |*.......|. .plot|
|00000f00| 5f 73 6d 69 6c 65 79 73 | 0d 04 c4 24 20 20 20 20 |_smileys|...$ |
|00000f10| 53 54 4d 46 44 20 20 20 | 28 73 74 61 63 6b 29 21 |STMFD |(stack)!|
|00000f20| 2c 7b 72 30 2d 72 36 2c | 72 31 34 7d 0d 04 ce 4c |,{r0-r6,|r14}...L|
|00000f30| 20 20 20 20 4c 44 52 20 | 20 20 20 20 72 36 2c 62 | LDR | r6,b|
|00000f40| 61 6c 6c 73 5f 61 64 72 | 20 20 20 20 20 20 20 20 |alls_adr| |
|00000f50| 20 20 20 20 3b 20 73 65 | 74 75 70 20 72 36 20 74 | ; se|tup r6 t|
|00000f60| 6f 20 70 6f 69 6e 74 20 | 74 6f 20 74 68 65 20 62 |o point |to the b|
|00000f70| 61 6c 6c 20 64 61 74 61 | 0d 04 d8 4f 20 20 20 20 |all data|...O |
|00000f80| 4d 4f 56 20 20 20 20 20 | 72 30 2c 23 30 20 20 20 |MOV |r0,#0 |
|00000f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fa0| 3b 20 72 30 20 69 73 20 | 74 68 65 20 62 61 6c 6c |; r0 is |the ball|
|00000fb0| 20 73 70 72 69 74 65 20 | 6e 75 6d 62 65 72 20 28 | sprite |number (|
|00000fc0| 63 6f 6c 6f 75 72 29 0d | 04 e2 18 20 20 2e 70 6c |colour).|... .pl|
|00000fd0| 6f 74 5f 73 6d 69 6c 65 | 79 73 5f 6c 6f 6f 70 0d |ot_smile|ys_loop.|
|00000fe0| 04 ec 4b 20 20 20 20 4c | 44 4d 49 41 20 20 20 72 |..K L|DMIA r|
|00000ff0| 36 21 2c 7b 72 31 2d 72 | 34 7d 20 20 20 20 20 20 |6!,{r1-r|4} |
|00001000| 20 20 20 20 20 20 20 3b | 20 72 31 2f 72 32 2f 72 | ;| r1/r2/r|
|00001010| 33 2f 72 34 20 3d 20 78 | 70 6f 73 2f 79 70 6f 73 |3/r4 = x|pos/ypos|
|00001020| 2f 78 69 6e 63 2f 79 69 | 6e 63 0d 04 f6 3f 20 20 |/xinc/yi|nc...? |
|00001030| 20 20 43 4d 4e 20 20 20 | 20 20 72 31 2c 23 31 20 | CMN | r1,#1 |
|00001040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001050| 20 20 3b 20 63 68 65 63 | 6b 20 66 6f 72 20 65 6e | ; chec|k for en|
|00001060| 64 20 6f 66 20 64 61 74 | 61 0d 05 00 20 20 20 20 |d of dat|a... |
|00001070| 20 42 45 51 20 20 20 20 | 20 70 6c 6f 74 5f 73 6d | BEQ | plot_sm|
|00001080| 69 6c 65 79 73 5f 65 6e | 64 0d 05 0a 49 20 20 20 |ileys_en|d...I |
|00001090| 20 42 4c 20 20 20 20 20 | 20 73 70 6c 6f 74 5f 31 | BL | splot_1|
|000010a0| 36 78 31 36 5f 6d 61 73 | 6b 20 20 20 20 20 20 20 |6x16_mas|k |
|000010b0| 20 3b 20 70 6c 6f 74 20 | 73 70 72 69 74 65 20 61 | ; plot |sprite a|
|000010c0| 74 20 72 31 2f 72 32 2c | 20 73 70 72 69 74 65 20 |t r1/r2,| sprite |
|000010d0| 72 30 0d 05 14 4a 20 20 | 20 20 41 44 44 20 20 20 |r0...J | ADD |
|000010e0| 20 20 72 30 2c 72 30 2c | 23 31 20 20 20 20 20 20 | r0,r0,|#1 |
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 69 6e 63 72 | | ; incr|
|00001100| 65 6d 65 6e 74 20 73 70 | 72 69 74 65 20 6e 75 6d |ement sp|rite num|
|00001110| 62 65 72 20 28 63 6f 6c | 6f 75 72 29 0d 05 1e 2e |ber (col|our)....|
|00001120| 20 20 20 20 42 20 20 20 | 20 20 20 20 70 6c 6f 74 | B | plot|
|00001130| 5f 73 6d 69 6c 65 79 73 | 5f 6c 6f 6f 70 20 20 20 |_smileys|_loop |
|00001140| 20 20 20 20 3b 20 6c 6f | 6f 70 0d 05 28 17 20 20 | ; lo|op..(. |
|00001150| 2e 70 6c 6f 74 5f 73 6d | 69 6c 65 79 73 5f 65 6e |.plot_sm|ileys_en|
|00001160| 64 0d 05 32 24 20 20 20 | 20 4c 44 4d 46 44 20 20 |d..2$ | LDMFD |
|00001170| 20 28 73 74 61 63 6b 29 | 21 2c 7b 72 30 2d 72 36 | (stack)|!,{r0-r6|
|00001180| 2c 50 43 7d 5e 0d 05 3c | 04 0d 05 46 13 20 20 2e |,PC}^..<|...F. .|
|00001190| 6d 6f 76 65 5f 73 6d 69 | 6c 65 79 73 0d 05 50 24 |move_smi|leys..P$|
|000011a0| 20 20 20 20 53 54 4d 46 | 44 20 20 20 28 73 74 61 | STMF|D (sta|
|000011b0| 63 6b 29 21 2c 7b 72 30 | 2d 72 37 2c 72 31 34 7d |ck)!,{r0|-r7,r14}|
|000011c0| 0d 05 5a 4c 20 20 20 20 | 41 44 52 20 20 20 20 20 |..ZL |ADR |
|000011d0| 72 36 2c 62 61 6c 6c 73 | 20 20 20 20 20 20 20 20 |r6,balls| |
|000011e0| 20 20 20 20 20 20 20 20 | 3b 20 73 65 74 75 70 20 | |; setup |
|000011f0| 72 36 20 74 6f 20 70 6f | 69 6e 74 20 74 6f 20 74 |r6 to po|int to t|
|00001200| 68 65 20 62 61 6c 6c 20 | 64 61 74 61 0d 05 64 18 |he ball |data..d.|
|00001210| 20 20 2e 6d 6f 76 65 5f | 73 6d 69 6c 65 79 73 5f | .move_|smileys_|
|00001220| 6c 6f 6f 70 0d 05 6e 4b | 20 20 20 20 4c 44 4d 49 |loop..nK| LDMI|
|00001230| 41 20 20 20 72 36 2c 7b | 72 31 2d 72 34 7d 20 20 |A r6,{|r1-r4} |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 31 | | ; r1|
|00001250| 2f 72 32 2f 72 33 2f 72 | 34 20 3d 20 78 70 6f 73 |/r2/r3/r|4 = xpos|
|00001260| 2f 79 70 6f 73 2f 78 69 | 6e 63 2f 79 69 6e 63 0d |/ypos/xi|nc/yinc.|
|00001270| 05 78 3f 20 20 20 20 43 | 4d 4e 20 20 20 20 20 72 |.x? C|MN r|
|00001280| 31 2c 23 31 20 20 20 20 | 20 20 20 20 20 20 20 20 |1,#1 | |
|00001290| 20 20 20 20 20 20 20 3b | 20 63 68 65 63 6b 20 66 | ;| check f|
|000012a0| 6f 72 20 65 6e 64 20 6f | 66 20 64 61 74 61 0d 05 |or end o|f data..|
|000012b0| 82 20 20 20 20 20 42 45 | 51 20 20 20 20 20 6d 6f |. BE|Q mo|
|000012c0| 76 65 5f 73 6d 69 6c 65 | 79 73 5f 65 6e 64 0d 05 |ve_smile|ys_end..|
|000012d0| 8c 42 20 20 20 20 41 44 | 44 20 20 20 20 20 72 31 |.B AD|D r1|
|000012e0| 2c 72 31 2c 72 33 20 20 | 20 20 20 20 20 20 20 20 |,r1,r3 | |
|000012f0| 20 20 20 20 20 20 3b 20 | 61 64 64 20 74 68 65 20 | ; |add the |
|00001300| 78 69 6e 63 20 74 6f 20 | 74 68 65 20 78 70 6f 73 |xinc to |the xpos|
|00001310| 0d 05 96 42 20 20 20 20 | 41 44 44 20 20 20 20 20 |...B |ADD |
|00001320| 72 32 2c 72 32 2c 72 34 | 20 20 20 20 20 20 20 20 |r2,r2,r4| |
|00001330| 20 20 20 20 20 20 20 20 | 3b 20 61 64 64 20 74 68 | |; add th|
|00001340| 65 20 79 69 6e 63 20 74 | 6f 20 74 68 65 20 79 70 |e yinc t|o the yp|
|00001350| 6f 73 0d 05 a0 47 20 20 | 20 20 43 4d 50 20 20 20 |os...G | CMP |
|00001360| 20 20 72 31 2c 23 33 32 | 30 2d 31 36 20 20 20 20 | r1,#32|0-16 |
|00001370| 20 20 20 20 20 20 20 20 | 20 20 3b 20 63 68 65 63 | | ; chec|
|00001380| 6b 20 66 6f 72 20 6c 65 | 66 74 20 65 64 67 65 20 |k for le|ft edge |
|00001390| 6f 66 20 73 63 72 65 65 | 6e 0d 05 aa 41 20 20 20 |of scree|n...A |
|000013a0| 20 52 53 42 47 45 20 20 | 20 72 33 2c 72 33 2c 23 | RSBGE | r3,r3,#|
|000013b0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|000013c0| 20 3b 20 72 65 76 65 72 | 73 65 20 74 68 65 20 78 | ; rever|se the x|
|000013d0| 20 69 6e 63 72 65 6d 65 | 6e 74 0d 05 b4 3b 20 20 | increme|nt...; |
|000013e0| 20 20 53 55 42 47 45 20 | 20 20 72 31 2c 72 31 2c | SUBGE | r1,r1,|
|000013f0| 23 33 32 30 2d 31 36 20 | 20 20 20 20 20 20 20 20 |#320-16 | |
|00001400| 20 20 3b 20 66 69 64 64 | 6c 65 20 78 20 70 6f 73 | ; fidd|le x pos|
|00001410| 69 74 69 6f 6e 0d 05 be | 3b 20 20 20 20 52 53 42 |ition...|; RSB|
|00001420| 47 45 20 20 20 72 31 2c | 72 31 2c 23 33 32 30 2d |GE r1,|r1,#320-|
|00001430| 31 36 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 66 |16 | ; f|
|00001440| 69 64 64 6c 65 20 78 20 | 70 6f 73 69 74 69 6f 6e |iddle x |position|
|00001450| 0d 05 c8 48 20 20 20 20 | 43 4d 50 20 20 20 20 20 |...H |CMP |
|00001460| 72 31 2c 23 30 20 20 20 | 20 20 20 20 20 20 20 20 |r1,#0 | |
|00001470| 20 20 20 20 20 20 20 20 | 3b 20 63 68 65 63 68 20 | |; chech |
|00001480| 66 6f 72 20 72 69 67 68 | 74 20 65 64 67 65 20 6f |for righ|t edge o|
|00001490| 66 20 73 63 72 65 65 6e | 0d 05 d2 41 20 20 20 20 |f screen|...A |
|000014a0| 52 53 42 4c 54 20 20 20 | 72 33 2c 72 33 2c 23 30 |RSBLT |r3,r3,#0|
|000014b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014c0| 3b 20 72 65 76 65 72 73 | 65 20 74 68 65 20 78 20 |; revers|e the x |
|000014d0| 69 6e 63 72 65 6d 65 6e | 74 0d 05 dc 3b 20 20 20 |incremen|t...; |
|000014e0| 20 52 53 42 4c 54 20 20 | 20 72 31 2c 72 31 2c 23 | RSBLT | r1,r1,#|
|000014f0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00001500| 20 3b 20 66 69 64 64 6c | 65 20 78 20 70 6f 73 69 | ; fiddl|e x posi|
|00001510| 74 69 6f 6e 0d 05 e6 44 | 20 20 20 20 43 4d 50 20 |tion...D| CMP |
|00001520| 20 20 20 20 72 32 2c 23 | 32 35 36 2d 31 36 20 20 | r2,#|256-16 |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 73 61 | | ; sa|
|00001540| 6d 65 20 61 73 20 62 65 | 66 6f 72 65 2c 20 62 75 |me as be|fore, bu|
|00001550| 74 20 77 69 74 68 20 79 | 0d 05 f0 2d 20 20 20 20 |t with y|...- |
|00001560| 52 53 42 47 45 20 20 20 | 72 34 2c 72 34 2c 23 30 |RSBGE |r4,r4,#0|
|00001570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001580| 3b 20 20 20 7c 0d 05 fa | 2d 20 20 20 20 53 55 42 |; |...|- SUB|
|00001590| 47 45 20 20 20 72 32 2c | 72 32 2c 23 32 35 36 2d |GE r2,|r2,#256-|
|000015a0| 31 36 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 20 |16 | ; |
|000015b0| 20 7c 0d 06 04 2d 20 20 | 20 20 52 53 42 47 45 20 | |...- | RSBGE |
|000015c0| 20 20 72 32 2c 72 32 2c | 23 32 35 36 2d 31 36 20 | r2,r2,|#256-16 |
|000015d0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 20 20 7c 0d | | ; |.|
|000015e0| 06 0e 2d 20 20 20 20 43 | 4d 50 20 20 20 20 20 72 |..- C|MP r|
|000015f0| 32 2c 23 30 20 20 20 20 | 20 20 20 20 20 20 20 20 |2,#0 | |
|00001600| 20 20 20 20 20 20 20 3b | 20 20 20 7c 0d 06 18 2d | ;| |...-|
|00001610| 20 20 20 20 52 53 42 4c | 54 20 20 20 72 34 2c 72 | RSBL|T r4,r|
|00001620| 34 2c 23 30 20 20 20 20 | 20 20 20 20 20 20 20 20 |4,#0 | |
|00001630| 20 20 20 20 3b 20 20 20 | 7c 0d 06 22 2e 20 20 20 | ; ||..". |
|00001640| 20 52 53 42 4c 54 20 20 | 20 72 32 2c 72 32 2c 23 | RSBLT | r2,r2,#|
|00001650| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00001660| 20 3b 20 20 3c 21 3e 0d | 06 2c 41 20 20 20 20 53 | ; <!>.|.,A S|
|00001670| 54 4d 49 41 20 20 20 72 | 36 21 2c 7b 72 31 2d 72 |TMIA r|6!,{r1-r|
|00001680| 34 7d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b |4} | ;|
|00001690| 20 73 61 76 65 20 6d 6f | 64 69 66 69 65 64 20 72 | save mo|dified r|
|000016a0| 65 67 65 73 74 65 72 73 | 0d 06 36 21 20 20 20 20 |egesters|..6! |
|000016b0| 42 20 20 20 20 20 20 20 | 6d 6f 76 65 5f 73 6d 69 |B |move_smi|
|000016c0| 6c 65 79 73 5f 6c 6f 6f | 70 0d 06 40 04 0d 06 4a |leys_loo|p..@...J|
|000016d0| 17 20 20 2e 6d 6f 76 65 | 5f 73 6d 69 6c 65 79 73 |. .move|_smileys|
|000016e0| 5f 65 6e 64 0d 06 54 24 | 20 20 20 20 4c 44 4d 46 |_end..T$| LDMF|
|000016f0| 44 20 20 20 28 73 74 61 | 63 6b 29 21 2c 7b 72 30 |D (sta|ck)!,{r0|
|00001700| 2d 72 37 2c 50 43 7d 5e | 0d 06 5e 04 0d 06 68 04 |-r7,PC}^|..^...h.|
|00001710| 0d 06 72 15 20 20 2e 75 | 6e 70 6c 6f 74 5f 73 6d |..r. .u|nplot_sm|
|00001720| 69 6c 65 79 73 0d 06 7c | 25 20 20 20 20 53 54 4d |ileys..||% STM|
|00001730| 46 44 20 20 20 28 73 74 | 61 63 6b 29 21 2c 7b 72 |FD (st|ack)!,{r|
|00001740| 30 2d 72 31 32 2c 72 31 | 34 7d 0d 06 86 4c 20 20 |0-r12,r1|4}...L |
|00001750| 20 20 41 44 52 20 20 20 | 20 20 72 36 2c 62 61 6c | ADR | r6,bal|
|00001760| 6c 73 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ls | |
|00001770| 20 20 3b 20 73 65 74 75 | 70 20 72 36 20 74 6f 20 | ; setu|p r6 to |
|00001780| 70 6f 69 6e 74 20 74 6f | 20 74 68 65 20 62 61 6c |point to| the bal|
|00001790| 6c 20 64 61 74 61 0d 06 | 90 1b 20 20 2e 75 6e 70 |l data..|.. .unp|
|000017a0| 6c 6f 74 5f 73 6d 69 6c | 65 79 73 5f 6c 6f 6f 70 |lot_smil|eys_loop|
|000017b0| 32 0d 06 9a 4b 20 20 20 | 20 4c 44 4d 49 41 20 20 |2...K | LDMIA |
|000017c0| 20 72 36 21 2c 7b 72 31 | 2d 72 34 7d 20 20 20 20 | r6!,{r1|-r4} |
|000017d0| 20 20 20 20 20 20 20 20 | 20 3b 20 72 31 2f 72 32 | | ; r1/r2|
|000017e0| 2f 72 33 2f 72 34 20 3d | 20 78 70 6f 73 2f 79 70 |/r3/r4 =| xpos/yp|
|000017f0| 6f 73 2f 78 69 6e 63 2f | 79 69 6e 63 0d 06 a4 3f |os/xinc/|yinc...?|
|00001800| 20 20 20 20 43 4d 4e 20 | 20 20 20 20 72 31 2c 23 | CMN | r1,#|
|00001810| 31 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |1 | |
|00001820| 20 20 20 20 3b 20 63 68 | 65 63 6b 20 66 6f 72 20 | ; ch|eck for |
|00001830| 65 6e 64 20 6f 66 20 64 | 61 74 61 0d 06 ae 22 20 |end of d|ata..." |
|00001840| 20 20 20 42 45 51 20 20 | 20 20 20 75 6e 70 6c 6f | BEQ | unplo|
|00001850| 74 5f 73 6d 69 6c 65 79 | 73 5f 65 6e 64 0d 06 b8 |t_smiley|s_end...|
|00001860| 19 20 20 20 20 41 44 52 | 20 20 20 20 20 72 30 2c |. ADR| r0,|
|00001870| 62 6c 61 6e 6b 73 0d 06 | c2 49 20 20 20 20 4c 44 |blanks..|.I LD|
|00001880| 52 20 20 20 20 20 72 34 | 2c 5b 77 6f 72 6b 2c 23 |R r4|,[work,#|
|00001890| 73 63 72 65 65 6e 5d 20 | 20 20 20 20 20 20 3b 20 |screen] | ; |
|000018a0| 6c 6f 61 64 20 72 34 20 | 77 69 74 68 20 6c 6f 63 |load r4 |with loc|
|000018b0| 61 74 69 6f 6e 20 6f 66 | 20 73 63 72 65 65 6e 0d |ation of| screen.|
|000018c0| 06 cc 45 20 20 20 20 41 | 44 44 20 20 20 20 20 72 |..E A|DD r|
|000018d0| 34 2c 72 34 2c 72 31 20 | 20 20 20 20 20 20 20 20 |4,r4,r1 | |
|000018e0| 20 20 20 20 20 20 20 3b | 20 61 64 64 20 78 70 6f | ;| add xpo|
|000018f0| 73 20 74 6f 20 73 74 61 | 72 74 20 6f 66 20 73 63 |s to sta|rt of sc|
|00001900| 72 65 65 6e 0d 06 d6 44 | 20 20 20 20 41 44 44 20 |reen...D| ADD |
|00001910| 20 20 20 20 72 34 2c 72 | 34 2c 72 32 2c 4c 53 4c | r4,r|4,r2,LSL|
|00001920| 23 36 20 20 20 20 20 20 | 20 20 20 20 3b 20 61 64 |#6 | ; ad|
|00001930| 64 20 79 70 6f 73 2a 32 | 35 36 20 74 6f 20 74 68 |d ypos*2|56 to th|
|00001940| 65 20 73 63 72 65 65 6e | 0d 06 e0 44 20 20 20 20 |e screen|...D |
|00001950| 41 44 44 20 20 20 20 20 | 72 32 2c 72 34 2c 72 32 |ADD |r2,r4,r2|
|00001960| 2c 4c 53 4c 23 38 20 20 | 20 20 20 20 20 20 20 20 |,LSL#8 | |
|00001970| 3b 20 61 64 64 20 79 70 | 6f 73 2a 36 34 20 20 74 |; add yp|os*64 t|
|00001980| 6f 20 74 68 65 20 73 63 | 72 65 65 6e 0d 06 ea 36 |o the sc|reen...6|
|00001990| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019b0| 20 20 20 20 3b 20 20 20 | 20 20 20 20 20 20 2d 2d | ; | --|
|000019c0| 2d 2d 0d 06 f4 36 20 20 | 20 20 20 20 20 20 20 20 |--...6 | |
|000019d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019e0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 20 20 20 20 | | ; |
|000019f0| 20 20 20 20 20 33 32 30 | 0d 06 fe 41 20 20 20 20 | 320|...A |
|00001a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a20| 3b 20 33 32 30 20 69 73 | 20 6c 65 6e 67 74 68 20 |; 320 is| length |
|00001a30| 6f 66 20 73 63 72 65 65 | 6e 0d 07 08 37 20 20 20 |of scree|n...7 |
|00001a40| 20 4c 44 4d 49 41 20 20 | 20 72 30 2c 7b 72 37 2d | LDMIA | r0,{r7-|
|00001a50| 72 31 31 7d 20 3b 20 72 | 33 2d 72 31 32 20 3d 20 |r11} ; r|3-r12 = |
|00001a60| 31 30 20 72 65 67 73 2c | 20 34 30 62 79 74 65 73 |10 regs,| 40bytes|
|00001a70| 0d 07 12 04 0d 07 1c 22 | 5d 3a 20 e3 20 75 6e 70 |......."|]: . unp|
|00001a80| 6c 6f 74 5f 73 6d 69 6c | 65 79 5f 6c 6f 6f 70 3d |lot_smil|ey_loop=|
|00001a90| 31 20 b8 20 31 36 0d 07 | 26 10 5b 20 20 20 4f 50 |1 . 16..|&.[ OP|
|00001aa0| 54 20 70 61 73 73 0d 07 | 30 41 20 20 20 20 53 54 |T pass..|0A ST|
|00001ab0| 4d 49 41 20 20 20 72 32 | 2c 7b 72 37 2d 72 31 31 |MIA r2|,{r7-r11|
|00001ac0| 7d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |} | ; |
|00001ad0| 73 74 6f 72 65 20 30 27 | 73 20 74 6f 20 74 68 65 |store 0'|s to the|
|00001ae0| 20 73 63 72 65 65 6e 0d | 07 3a 05 5d 0d 07 44 3a | screen.|.:.]..D:|
|00001af0| e7 20 75 6e 70 6c 6f 74 | 5f 73 6d 69 6c 65 79 5f |. unplot|_smiley_|
|00001b00| 6c 6f 6f 70 3c 31 36 20 | 8c 20 5b 4f 50 54 20 70 |loop<16 |. [OPT p|
|00001b10| 61 73 73 3a 20 41 44 44 | 20 72 32 2c 72 32 2c 23 |ass: ADD| r2,r2,#|
|00001b20| 33 32 30 20 3a 5d 0d 07 | 4e 18 ed 20 75 6e 70 6c |320 :]..|N.. unpl|
|00001b30| 6f 74 5f 73 6d 69 6c 65 | 79 5f 6c 6f 6f 70 0d 07 |ot_smile|y_loop..|
|00001b40| 58 04 0d 07 62 14 5b 20 | 20 20 4f 50 54 20 20 20 |X...b.[ | OPT |
|00001b50| 20 20 70 61 73 73 0d 07 | 6c 24 20 20 20 20 42 20 | pass..|l$ B |
|00001b60| 20 20 20 20 20 20 75 6e | 70 6c 6f 74 5f 73 6d 69 | un|plot_smi|
|00001b70| 6c 65 79 73 5f 6c 6f 6f | 70 32 0d 07 76 19 20 20 |leys_loo|p2..v. |
|00001b80| 2e 75 6e 70 6c 6f 74 5f | 73 6d 69 6c 65 79 73 5f |.unplot_|smileys_|
|00001b90| 65 6e 64 0d 07 80 25 20 | 20 20 20 4c 44 4d 46 44 |end...% | LDMFD|
|00001ba0| 20 20 20 28 73 74 61 63 | 6b 29 21 2c 7b 72 30 2d | (stac|k)!,{r0-|
|00001bb0| 72 31 32 2c 50 43 7d 5e | 0d 07 8a 04 0d 07 94 04 |r12,PC}^|........|
|00001bc0| 0d 07 9e 0d 20 20 2e 62 | 6c 61 6e 6b 73 0d 07 a8 |.... .b|lanks...|
|00001bd0| 2b 20 20 20 20 45 51 55 | 44 30 20 20 3a 20 20 45 |+ EQU|D0 : E|
|00001be0| 51 55 44 30 20 20 3a 20 | 20 45 51 55 44 30 20 20 |QUD0 : | EQUD0 |
|00001bf0| 3a 20 20 45 51 55 44 30 | 0d 07 b2 2b 20 20 20 20 |: EQUD0|...+ |
|00001c00| 45 51 55 44 30 20 20 3a | 20 20 45 51 55 44 30 20 |EQUD0 :| EQUD0 |
|00001c10| 20 3a 20 20 45 51 55 44 | 30 20 20 3a 20 20 45 51 | : EQUD|0 : EQ|
|00001c20| 55 44 30 0d 07 bc 2b 20 | 20 20 20 45 51 55 44 30 |UD0...+ | EQUD0|
|00001c30| 20 20 3a 20 20 45 51 55 | 44 30 20 20 3a 20 20 45 | : EQU|D0 : E|
|00001c40| 51 55 44 30 20 20 3a 20 | 20 45 51 55 44 30 0d 07 |QUD0 : | EQUD0..|
|00001c50| c6 04 0d 07 d0 11 20 20 | 2e 74 65 6d 70 5f 73 74 |...... |.temp_st|
|00001c60| 61 63 6b 0d 07 da 11 20 | 20 20 20 45 51 55 44 20 |ack.... | EQUD |
|00001c70| 20 20 20 30 0d 07 e4 04 | 0d 07 ee 04 0d 07 f8 49 | 0....|.......I|
|00001c80| 20 3b 20 20 74 68 65 20 | 75 6e 70 6c 6f 74 20 73 | ; the |unplot s|
|00001c90| 65 63 74 69 6f 6e 20 77 | 6f 72 6b 73 20 62 79 20 |ection w|orks by |
|00001ca0| 74 61 6b 69 6e 67 20 74 | 68 65 20 73 74 61 72 74 |taking t|he start|
|00001cb0| 20 6f 66 20 73 63 72 65 | 65 6e 20 6d 65 6d 6f 72 | of scre|en memor|
|00001cc0| 79 20 61 6e 64 0d 08 02 | 4b 20 3b 20 20 74 68 65 |y and...|K ; the|
|00001cd0| 6e 20 61 64 64 69 6e 67 | 20 74 68 65 20 78 70 6f |n adding| the xpo|
|00001ce0| 73 2c 20 74 68 65 6e 20 | 79 6f 75 20 61 64 64 20 |s, then |you add |
|00001cf0| 74 68 65 20 79 70 6f 73 | 2a 32 35 36 20 61 6e 64 |the ypos|*256 and|
|00001d00| 20 79 70 6f 73 2a 36 34 | 20 73 6f 20 74 68 61 74 | ypos*64| so that|
|00001d10| 0d 08 0c 39 20 3b 20 20 | 79 6f 75 20 65 6e 64 20 |...9 ; |you end |
|00001d20| 75 70 20 77 69 74 68 20 | 73 63 72 65 65 6e 2b 78 |up with |screen+x|
|00001d30| 70 6f 73 2b 79 70 6f 73 | 2a 33 32 30 20 28 33 32 |pos+ypos|*320 (32|
|00001d40| 30 3d 32 35 36 2b 36 34 | 29 0d 08 16 04 0d 08 20 |0=256+64|)...... |
|00001d50| 04 0d 08 2a 37 20 20 2e | 73 70 6c 6f 74 5f 31 36 |...*7 .|splot_16|
|00001d60| 78 31 36 5f 6d 61 73 6b | 20 3b 20 72 30 3d 73 70 |x16_mask| ; r0=sp|
|00001d70| 72 69 74 65 20 70 6f 69 | 6e 74 65 72 2c 20 72 31 |rite poi|nter, r1|
|00001d80| 3d 78 2c 20 72 32 3d 79 | 0d 08 34 25 20 20 20 20 |=x, r2=y|..4% |
|00001d90| 53 54 4d 46 44 20 20 20 | 28 73 74 61 63 6b 29 21 |STMFD |(stack)!|
|00001da0| 2c 7b 72 30 2d 72 31 32 | 2c 72 31 34 7d 0d 08 3e |,{r0-r12|,r14}..>|
|00001db0| 1e 20 20 20 20 53 54 52 | 20 20 20 20 20 72 31 33 |. STR| r13|
|00001dc0| 2c 74 65 6d 70 5f 73 74 | 61 63 6b 0d 08 48 21 20 |,temp_st|ack..H! |
|00001dd0| 20 20 20 4c 44 52 20 20 | 20 20 20 72 34 2c 5b 77 | LDR | r4,[w|
|00001de0| 6f 72 6b 2c 23 73 63 72 | 65 65 6e 5d 0d 08 52 18 |ork,#scr|een]..R.|
|00001df0| 20 20 20 20 41 44 44 20 | 20 20 20 20 72 34 2c 72 | ADD | r4,r|
|00001e00| 34 2c 72 31 0d 08 5c 36 | 20 20 20 20 41 44 44 20 |4,r1..\6| ADD |
|00001e10| 20 20 20 20 72 34 2c 72 | 34 2c 72 32 2c 4c 53 4c | r4,r|4,r2,LSL|
|00001e20| 23 36 20 20 20 20 3b 20 | 73 65 65 20 75 6e 70 6c |#6 ; |see unpl|
|00001e30| 6f 74 20 73 65 63 74 69 | 6f 6e 0d 08 66 36 20 20 |ot secti|on..f6 |
|00001e40| 20 20 41 44 44 20 20 20 | 20 20 72 32 2c 72 34 2c | ADD | r2,r4,|
|00001e50| 72 32 2c 4c 53 4c 23 38 | 20 20 20 20 3b 20 72 32 |r2,LSL#8| ; r2|
|00001e60| 3d 73 63 72 65 65 6e 20 | 70 6f 73 69 74 69 6f 6e |=screen |position|
|00001e70| 0d 08 70 18 20 20 20 20 | 41 44 52 20 20 20 20 20 |..p. |ADR |
|00001e80| 72 31 2c 62 61 6c 6c 78 | 0d 08 7a 33 20 20 20 20 |r1,ballx|..z3 |
|00001e90| 41 44 44 20 20 20 20 20 | 72 31 2c 72 31 2c 72 30 |ADD |r1,r1,r0|
|00001ea0| 2c 4c 53 4c 23 39 20 20 | 20 20 3b 20 72 31 3d 73 |,LSL#9 | ; r1=s|
|00001eb0| 70 72 69 74 65 20 69 73 | 20 61 74 0d 08 84 39 20 |prite is| at...9 |
|00001ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 73 | | ; s|
|00001ee0| 70 72 2e 6c 6f 63 2e 20 | 2b 20 73 70 72 2e 6e 6f |pr.loc. |+ spr.no|
|00001ef0| 2a 35 31 32 0d 08 8e 3b | 20 20 20 20 41 44 44 20 |*512...;| ADD |
|00001f00| 20 20 20 20 72 30 2c 72 | 31 2c 23 32 35 36 20 20 | r0,r|1,#256 |
|00001f10| 20 20 20 20 20 20 3b 20 | 72 30 3d 6d 61 73 6b 20 | ; |r0=mask |
|00001f20| 28 61 74 20 73 70 72 69 | 74 65 2b 32 35 36 29 0d |(at spri|te+256).|
|00001f30| 08 98 04 0d 08 a2 12 20 | 20 2e 73 70 6c 6f 74 5f |....... | .splot_|
|00001f40| 31 36 78 31 36 0d 08 ac | 04 0d 08 b6 1a 5d 3a 20 |16x16...|.....]: |
|00001f50| e3 20 73 70 6c 6f 74 5f | 6c 6f 6f 70 3d 31 20 b8 |. splot_|loop=1 .|
|00001f60| 20 31 36 0d 08 c0 10 5b | 20 20 20 4f 50 54 20 70 | 16....[| OPT p|
|00001f70| 61 73 73 0d 08 ca 04 0d | 08 d4 3f 20 20 20 20 4c |ass.....|..? L|
|00001f80| 44 4d 49 41 20 20 20 72 | 32 2c 7b 72 33 2d 72 36 |DMIA r|2,{r3-r6|
|00001f90| 7d 20 20 20 20 3b 20 6c | 6f 61 64 20 72 33 2d 72 |} ; l|oad r3-r|
|00001fa0| 36 20 77 69 74 68 20 74 | 68 65 20 73 63 72 65 65 |6 with t|he scree|
|00001fb0| 6e 20 64 61 74 61 0d 08 | de 40 20 20 20 20 4c 44 |n data..|.@ LD|
|00001fc0| 4d 49 41 20 20 20 72 31 | 21 2c 7b 72 37 2d 72 31 |MIA r1|!,{r7-r1|
|00001fd0| 30 7d 20 20 3b 20 6c 6f | 61 64 20 72 37 2d 72 31 |0} ; lo|ad r7-r1|
|00001fe0| 30 20 77 69 74 68 20 74 | 68 65 20 73 70 72 69 74 |0 with t|he sprit|
|00001ff0| 65 20 64 61 74 61 0d 08 | e8 3f 20 20 20 20 4c 44 |e data..|.? LD|
|00002000| 4d 49 41 20 20 20 72 30 | 21 2c 7b 72 31 31 2d 72 |MIA r0|!,{r11-r|
|00002010| 31 34 7d 20 3b 20 6c 6f | 61 64 20 72 31 31 2d 72 |14} ; lo|ad r11-r|
|00002020| 31 34 20 77 69 74 68 20 | 74 68 65 20 6d 61 73 6b |14 with |the mask|
|00002030| 20 64 61 74 61 0d 08 f2 | 19 20 20 20 20 42 49 43 | data...|. BIC|
|00002040| 20 20 20 20 20 72 33 2c | 72 33 2c 72 31 31 0d 08 | r3,|r3,r11..|
|00002050| fc 3e 20 20 20 20 42 49 | 43 20 20 20 20 20 72 34 |.> BI|C r4|
|00002060| 2c 72 34 2c 72 31 32 20 | 20 20 20 20 3b 20 74 68 |,r4,r12 | ; th|
|00002070| 65 20 42 49 43 73 20 63 | 6c 65 61 72 20 74 68 65 |e BICs c|lear the|
|00002080| 20 73 63 72 65 65 6e 20 | 64 61 74 61 0d 09 06 42 | screen |data...B|
|00002090| 20 20 20 20 42 49 43 20 | 20 20 20 20 72 35 2c 72 | BIC | r5,r|
|000020a0| 35 2c 72 31 33 20 20 20 | 20 20 3b 20 66 72 6f 6d |5,r13 | ; from|
|000020b0| 20 74 68 65 20 6d 61 73 | 6b 20 28 73 6f 20 74 68 | the mas|k (so th|
|000020c0| 65 72 65 20 69 73 20 61 | 20 68 6f 6c 65 29 0d 09 |ere is a| hole)..|
|000020d0| 10 19 20 20 20 20 42 49 | 43 20 20 20 20 20 72 36 |.. BI|C r6|
|000020e0| 2c 72 36 2c 72 31 34 0d | 09 1a 17 20 20 20 20 84 |,r6,r14.|... .|
|000020f0| 52 20 20 20 20 20 72 33 | 2c 72 33 2c 72 37 0d 09 |R r3|,r3,r7..|
|00002100| 24 3a 20 20 20 20 84 52 | 20 20 20 20 20 72 34 2c |$: .R| r4,|
|00002110| 72 34 2c 72 38 20 20 20 | 20 20 20 3b 20 74 68 65 |r4,r8 | ; the|
|00002120| 20 84 52 73 20 73 65 74 | 20 74 68 65 20 73 63 72 | .Rs set| the scr|
|00002130| 65 65 6e 20 64 61 74 61 | 0d 09 2e 2e 20 20 20 20 |een data|.... |
|00002140| 84 52 20 20 20 20 20 72 | 35 2c 72 35 2c 72 39 20 |.R r|5,r5,r9 |
|00002150| 20 20 20 20 20 3b 20 66 | 72 6f 6d 20 74 68 65 20 | ; f|rom the |
|00002160| 73 70 72 69 74 65 0d 09 | 38 18 20 20 20 20 84 52 |sprite..|8. .R|
|00002170| 20 20 20 20 20 72 36 2c | 72 36 2c 72 31 30 0d 09 | r6,|r6,r10..|
|00002180| 42 42 20 20 20 20 53 54 | 4d 49 41 20 20 20 72 32 |BB ST|MIA r2|
|00002190| 2c 7b 72 33 2d 72 36 7d | 20 20 20 20 3b 20 73 74 |,{r3-r6}| ; st|
|000021a0| 6f 72 65 20 72 65 73 75 | 6c 74 69 6e 67 20 64 61 |ore resu|lting da|
|000021b0| 74 61 20 6f 6e 20 74 68 | 65 20 73 63 72 65 65 6e |ta on th|e screen|
|000021c0| 0d 09 4c 04 0d 09 56 05 | 5d 0d 09 60 32 e7 20 73 |..L...V.|]..`2. s|
|000021d0| 70 6c 6f 74 5f 6c 6f 6f | 70 3c 31 36 20 8c 20 5b |plot_loo|p<16 . [|
|000021e0| 4f 50 54 20 70 61 73 73 | 3a 20 41 44 44 20 72 32 |OPT pass|: ADD r2|
|000021f0| 2c 72 32 2c 23 33 32 30 | 20 3a 5d 0d 09 6a 04 0d |,r2,#320| :]..j..|
|00002200| 09 74 10 ed 20 73 70 6c | 6f 74 5f 6c 6f 6f 70 0d |.t.. spl|ot_loop.|
|00002210| 09 7e 04 0d 09 88 14 5b | 20 20 20 4f 50 54 20 20 |.~.....[| OPT |
|00002220| 20 20 20 70 61 73 73 0d | 09 92 1e 20 20 20 20 4c | pass.|... L|
|00002230| 44 52 20 20 20 20 20 72 | 31 33 2c 74 65 6d 70 5f |DR r|13,temp_|
|00002240| 73 74 61 63 6b 0d 09 9c | 25 20 20 20 20 4c 44 4d |stack...|% LDM|
|00002250| 46 44 20 20 20 28 73 74 | 61 63 6b 29 21 2c 7b 72 |FD (st|ack)!,{r|
|00002260| 30 2d 72 31 32 2c 50 43 | 7d 5e 0d 09 a6 04 0d 09 |0-r12,PC|}^......|
|00002270| b0 42 20 3b 20 20 74 68 | 65 20 61 62 6f 76 65 20 |.B ; th|e above |
|00002280| 42 49 43 2f 84 52 20 73 | 65 63 74 69 6f 6e 20 77 |BIC/.R s|ection w|
|00002290| 6f 72 6b 73 20 62 79 20 | 63 6c 65 61 72 69 6e 67 |orks by |clearing|
|000022a0| 20 28 42 49 43 3d 62 69 | 74 20 63 6c 65 61 72 29 | (BIC=bi|t clear)|
|000022b0| 0d 09 ba 3a 20 3b 20 20 | 74 68 65 20 73 63 72 65 |...: ; |the scre|
|000022c0| 65 6e 20 77 69 74 68 20 | 74 68 65 20 73 68 61 70 |en with |the shap|
|000022d0| 65 20 6f 66 20 74 68 65 | 20 73 70 72 69 74 65 20 |e of the| sprite |
|000022e0| 28 74 68 65 20 6d 61 73 | 6b 29 0d 09 c4 3e 20 3b |(the mas|k)...> ;|
|000022f0| 20 20 74 68 65 72 65 66 | 6f 72 65 20 79 6f 75 20 | theref|ore you |
|00002300| 65 6e 64 20 75 70 20 77 | 69 74 68 20 77 68 61 74 |end up w|ith what|
|00002310| 20 77 61 73 20 6f 6e 20 | 74 68 65 20 73 63 72 65 | was on |the scre|
|00002320| 65 6e 2c 20 77 69 74 68 | 0d 09 ce 3e 20 3b 20 20 |en, with|...> ; |
|00002330| 61 20 62 6c 61 63 6b 20 | 68 6f 6c 65 20 69 6e 20 |a black |hole in |
|00002340| 74 68 65 20 6d 69 64 64 | 6c 65 20 69 6e 20 74 68 |the midd|le in th|
|00002350| 65 20 73 68 61 70 65 20 | 6f 66 20 74 68 65 20 73 |e shape |of the s|
|00002360| 70 72 69 74 65 2e 0d 09 | d8 3c 20 3b 20 20 74 68 |prite...|.< ; th|
|00002370| 65 6e 20 79 6f 75 20 84 | 52 20 28 62 69 74 20 73 |en you .|R (bit s|
|00002380| 65 74 29 20 74 68 65 20 | 72 65 73 75 6c 74 69 6e |et) the |resultin|
|00002390| 67 20 73 63 72 65 65 6e | 2b 68 6f 6c 65 20 77 69 |g screen|+hole wi|
|000023a0| 74 68 0d 09 e2 3f 20 3b | 20 20 74 68 65 20 73 70 |th...? ;| the sp|
|000023b0| 72 69 74 65 2c 20 73 6f | 20 74 68 61 74 20 74 68 |rite, so| that th|
|000023c0| 65 20 72 65 73 75 6c 74 | 20 69 73 20 77 68 61 74 |e result| is what|
|000023d0| 20 69 73 20 6f 6e 20 74 | 68 65 20 73 63 72 65 65 | is on t|he scree|
|000023e0| 6e 0d 09 ec 42 20 3b 20 | 20 62 69 74 20 77 69 74 |n...B ; | bit wit|
|000023f0| 68 20 74 68 65 20 73 70 | 72 69 74 65 20 70 6c 6f |h the sp|rite plo|
|00002400| 74 74 65 64 20 ee 20 b8 | 50 20 6f 66 20 77 68 61 |tted . .|P of wha|
|00002410| 74 20 77 61 73 20 74 68 | 65 72 65 20 62 65 66 6f |t was th|ere befo|
|00002420| 72 65 2e 0d 09 f6 04 0d | 0a 00 41 20 3b 20 20 50 |re......|..A ; P|
|00002430| 6c 65 61 73 65 20 6e 6f | 74 65 20 74 68 61 74 20 |lease no|te that |
|00002440| 74 68 65 20 42 49 43 2f | 84 52 20 73 65 63 74 69 |the BIC/|.R secti|
|00002450| 6f 6e 20 69 73 20 6e 6f | 74 20 72 65 61 6c 6c 79 |on is no|t really|
|00002460| 20 6e 65 65 64 65 64 2c | 0d 0a 0a 43 20 3b 20 20 | needed,|...C ; |
|00002470| 65 78 63 65 70 74 20 66 | 6f 72 20 74 68 65 20 66 |except f|or the f|
|00002480| 61 63 74 20 74 68 61 74 | 20 74 68 65 20 62 61 6c |act that| the bal|
|00002490| 6c 73 20 73 68 6f 75 6c | 64 20 62 65 20 72 6f 75 |ls shoul|d be rou|
|000024a0| 6e 64 2c 20 61 6e 64 20 | 79 6f 75 0d 0a 14 42 20 |nd, and |you...B |
|000024b0| 3b 20 20 64 6f 6e 27 74 | 20 72 65 61 6c 6c 79 20 |; don't| really |
|000024c0| 77 61 6e 74 20 61 20 62 | 6c 61 63 6b 20 6f 75 74 |want a b|lack out|
|000024d0| 6c 69 6e 65 20 69 6e 20 | 74 68 65 20 73 68 61 70 |line in |the shap|
|000024e0| 65 20 6f 66 20 61 20 73 | 71 75 61 72 65 0d 0a 1e |e of a s|quare...|
|000024f0| 1a 20 3b 20 20 61 72 6f | 75 6e 64 20 74 68 65 20 |. ; aro|und the |
|00002500| 73 70 72 69 74 65 2e 0d | 0a 28 04 0d 0a 32 04 0d |sprite..|.(...2..|
|00002510| 0a 3c 41 20 3b 20 20 55 | 6e 66 6f 72 74 75 6e 61 |.<A ; U|nfortuna|
|00002520| 74 65 6c 79 20 4c 44 4d | 49 41 2f 53 54 4d 49 41 |tely LDM|IA/STMIA|
|00002530| 73 20 64 6f 6e 27 74 20 | 77 6f 72 6b 20 74 6f 20 |s don't |work to |
|00002540| 69 6e 64 69 76 69 64 75 | 61 6c 20 70 69 78 65 6c |individu|al pixel|
|00002550| 0d 0a 46 36 20 3b 20 20 | 69 6e 74 65 72 76 61 6c |..F6 ; |interval|
|00002560| 73 2c 20 62 75 74 20 74 | 68 65 79 20 64 6f 20 77 |s, but t|hey do w|
|00002570| 6f 72 6b 20 74 6f 20 69 | 6e 74 65 72 76 61 6c 73 |ork to i|ntervals|
|00002580| 20 6f 66 20 34 2e 0d 0a | 50 32 20 3b 20 20 54 68 | of 4...|P2 ; Th|
|00002590| 65 20 67 6f 6f 64 20 74 | 68 69 6e 67 20 69 73 20 |e good t|hing is |
|000025a0| 74 68 61 74 20 74 68 65 | 79 20 61 72 65 20 56 45 |that the|y are VE|
|000025b0| 52 59 20 66 61 73 74 21 | 0d 0a 5a 42 20 3b 20 20 |RY fast!|..ZB ; |
|000025c0| 69 66 20 79 6f 75 20 72 | 65 71 75 69 72 65 20 73 |if you r|equire s|
|000025d0| 74 65 70 73 20 6f 66 20 | 6f 6e 65 20 70 69 78 65 |teps of |one pixe|
|000025e0| 6c 2c 20 74 68 65 6e 20 | 74 68 65 72 65 20 61 72 |l, then |there ar|
|000025f0| 65 20 74 77 6f 20 77 61 | 79 73 0d 0a 64 14 20 3b |e two wa|ys..d. ;|
|00002600| 20 20 6f 66 20 64 6f 69 | 6e 67 20 73 6f 3a 0d 0a | of doi|ng so:..|
|00002610| 6e 41 20 3b 20 20 61 3e | 20 20 55 73 65 20 4c 44 |nA ; a>| Use LD|
|00002620| 52 42 2f 53 54 52 42 73 | 20 77 68 69 63 68 20 61 |RB/STRBs| which a|
|00002630| 72 65 20 56 45 52 59 20 | 73 6c 6f 77 2c 20 61 73 |re VERY |slow, as|
|00002640| 20 74 68 65 79 20 6f 6e | 6c 79 20 6c 6f 61 64 0d | they on|ly load.|
|00002650| 0a 78 3f 20 3b 20 20 20 | 20 20 20 6f 72 20 73 61 |.x? ; | or sa|
|00002660| 76 65 20 31 20 62 79 74 | 65 2c 20 77 68 65 72 65 |ve 1 byt|e, where|
|00002670| 2d 61 73 20 4c 44 4d 49 | 41 2f 53 54 4d 49 41 73 |-as LDMI|A/STMIAs|
|00002680| 20 63 61 6e 20 6c 6f 61 | 64 2f 73 61 76 65 0d 0a | can loa|d/save..|
|00002690| 82 1a 20 3b 20 20 20 20 | 20 20 75 70 74 6f 20 36 |.. ; | upto 6|
|000026a0| 34 20 62 79 74 65 73 2e | 0d 0a 8c 42 20 3b 20 20 |4 bytes.|...B ; |
|000026b0| 62 3e 20 20 44 6f 20 63 | 6f 6d 70 6c 65 78 20 73 |b> Do c|omplex s|
|000026c0| 68 69 66 74 73 20 61 6e | 64 20 74 68 65 6e 20 75 |hifts an|d then u|
|000026d0| 73 65 20 4c 44 4d 49 41 | 2f 53 54 4d 49 41 73 20 |se LDMIA|/STMIAs |
|000026e0| 61 73 20 62 65 66 6f 72 | 65 2e 0d 0a 96 3b 20 3b |as befor|e....; ;|
|000026f0| 20 20 20 20 20 20 54 68 | 65 79 20 61 72 65 20 6f | Th|ey are o|
|00002700| 66 20 63 6f 75 72 73 65 | 20 73 6c 6f 77 65 72 2c |f course| slower,|
|00002710| 20 62 75 74 20 73 74 69 | 6c 6c 20 76 65 72 79 20 | but sti|ll very |
|00002720| 66 61 73 74 2e 0d 0a a0 | 04 0d 0a aa 0c 20 20 2e |fast....|..... .|
|00002730| 62 61 6c 6c 78 0d 0a b4 | 42 20 20 20 20 5d 3a 62 |ballx...|B ]:b|
|00002740| 61 6c 6c 78 5f 73 70 72 | 69 4f 3d 4f 25 3a 50 25 |allx_spr|iO=O%:P%|
|00002750| 2b 3d 28 28 32 35 36 2a | 32 29 2a 35 29 3a 4f 25 |+=((256*|2)*5):O%|
|00002760| 2b 3d 28 28 32 35 36 2a | 32 29 2a 35 29 3a 5b 4f |+=((256*|2)*5):[O|
|00002770| 50 54 20 70 61 73 73 0d | 0a be 0e 20 20 20 20 a4 |PT pass.|... .|
|00002780| 61 6c 69 67 6e 0d 0a c8 | 04 0d 0a d2 0c 20 20 2e |align...|..... .|
|00002790| 62 61 6c 6c 73 0d 0a dc | 04 0d 0a e6 05 5d 0d 0a |balls...|.....]..|
|000027a0| f0 04 0d 0a fa 2d e7 20 | 28 70 61 73 73 20 80 20 |.....-. |(pass . |
|000027b0| 32 29 3c 3e 30 20 8c 20 | f1 22 47 65 6e 65 72 61 |2)<>0 . |."Genera|
|000027c0| 74 69 6e 67 20 73 74 61 | 72 73 2e 2e 2e 22 3b 0d |ting sta|rs...";.|
|000027d0| 0b 04 04 0d 0b 0e 19 e3 | 20 6c 6f 6f 70 62 61 6c |........| loopbal|
|000027e0| 6c 3d 31 20 b8 20 62 61 | 6c 6c 6e 6f 0d 0b 18 20 |l=1 . ba|llno... |
|000027f0| 4f 25 21 30 20 20 3d 20 | b3 28 33 32 30 29 2d 31 |O%!0 = |.(320)-1|
|00002800| 20 20 20 20 20 3a f4 20 | 78 70 6f 73 0d 0b 22 20 | :. |xpos.." |
|00002810| 4f 25 21 34 20 20 3d 20 | b3 28 32 35 36 29 2d 31 |O%!4 = |.(256)-1|
|00002820| 20 20 20 20 20 3a f4 20 | 79 70 6f 73 0d 0b 2c 35 | :. |ypos..,5|
|00002830| e7 20 b3 28 32 29 3d 31 | 20 8c 20 4f 25 21 38 3d |. .(2)=1| . O%!8=|
|00002840| 34 20 20 20 20 20 20 20 | 8b 20 4f 25 21 38 20 3d |4 |. O%!8 =|
|00002850| 34 20 20 20 20 20 20 20 | 20 20 3a f4 20 78 69 6e |4 | :. xin|
|00002860| 63 0d 0b 36 31 e7 20 b3 | 28 32 29 3d 31 20 8c 20 |c..61. .|(2)=1 . |
|00002870| 4f 25 21 31 32 3d b3 28 | 33 29 20 8b 20 4f 25 21 |O%!12=.(|3) . O%!|
|00002880| 31 32 3d 30 2d b3 28 33 | 29 20 20 3a f4 20 79 69 |12=0-.(3|) :. yi|
|00002890| 6e 63 0d 0b 40 1c 50 25 | 2b 3d 31 36 3a 4f 25 2b |nc..@.P%|+=16:O%+|
|000028a0| 3d 31 36 3a ed 20 6c 6f | 6f 70 62 61 6c 6c 0d 0b |=16:. lo|opball..|
|000028b0| 4a 0e 4f 25 21 30 20 20 | 3d 20 2d 31 0d 0b 54 0e |J.O%!0 |= -1..T.|
|000028c0| 4f 25 21 34 20 20 3d 20 | 2d 31 0d 0b 5e 0e 4f 25 |O%!4 = |-1..^.O%|
|000028d0| 21 38 20 20 3d 20 2d 31 | 0d 0b 68 0e 4f 25 21 31 |!8 = -1|..h.O%!1|
|000028e0| 32 20 3d 20 2d 31 0d 0b | 72 11 50 25 2b 3d 31 36 |2 = -1..|r.P%+=16|
|000028f0| 3a 4f 25 2b 3d 31 36 0d | 0b 7c 04 0d 0b 86 28 77 |:O%+=16.|.|....(w|
|00002900| 6f 72 6b 5f 6d 65 6d 25 | 20 20 20 20 20 20 3d 20 |ork_mem%| = |
|00002910| 20 20 50 25 20 20 20 20 | 20 20 20 20 20 20 20 2b | P% | +|
|00002920| 20 20 30 0d 0b 90 33 73 | 70 61 72 65 5f 6d 65 6d | 0...3s|pare_mem|
|00002930| 25 20 20 20 20 20 3d 20 | 20 20 77 6f 72 6b 5f 6d |% = | work_m|
|00002940| 65 6d 25 20 20 20 20 2b | 20 20 77 6f 72 6b 5f 6c |em% +| work_l|
|00002950| 65 6e 67 74 68 25 0d 0b | 9a 04 0d 0b a4 05 ed 0d |ength%..|........|
|00002960| 0b ae 04 0d 0b b8 3a ff | 28 22 4c 4f 41 44 20 22 |......:.|("LOAD "|
|00002970| 2b 64 69 72 24 2b 22 2e | 44 61 74 61 46 69 6c 65 |+dir$+".|DataFile|
|00002980| 73 2e 42 6f 75 6e 63 79 | 53 70 72 73 20 22 2b c3 |s.Bouncy|Sprs "+.|
|00002990| 7e 62 61 6c 6c 78 5f 73 | 70 72 69 4f 29 0d 0b c2 |~ballx_s|priO)...|
|000029a0| 04 0d 0b cc 34 f1 22 41 | 6c 6c 20 6c 6f 61 64 65 |....4."A|ll loade|
|000029b0| 64 2c 20 63 6f 64 65 3d | 22 3b 7e 63 6f 64 65 3b |d, code=|";~code;|
|000029c0| 22 20 50 25 3d 22 3b 7e | 50 25 3b 22 20 4f 25 3d |" P%=";~|P%;" O%=|
|000029d0| 22 3b 7e 4f 25 0d 0b d6 | 31 f1 22 57 69 6d 70 53 |";~O%...|1."WimpS|
|000029e0| 6c 6f 74 20 6e 65 65 64 | 65 64 3d 22 3b 28 73 70 |lot need|ed=";(sp|
|000029f0| 61 72 65 5f 6d 65 6d 25 | 2d 50 25 29 2b 28 4f 25 |are_mem%|-P%)+(O%|
|00002a00| 2d 63 6f 64 65 29 0d 0b | e0 1e 24 66 69 6c 65 3d |-code)..|..$file=|
|00002a10| 64 69 72 24 2b 22 2e 21 | 52 75 6e 49 6d 61 67 65 |dir$+".!|RunImage|
|00002a20| 22 2b bd 30 0d 0b ea 27 | c8 99 20 22 4f 53 5f 46 |"+.0...'|.. "OS_F|
|00002a30| 69 6c 65 22 2c 31 30 2c | 66 69 6c 65 2c 26 46 46 |ile",10,|file,&FF|
|00002a40| 38 2c 30 2c 63 6f 64 65 | 2c 4f 25 0d 0b f4 23 f1 |8,0,code|,O%...#.|
|00002a50| 20 22 4c 65 6e 67 74 68 | 20 28 69 6e 20 62 79 74 | "Length| (in byt|
|00002a60| 65 73 29 20 3d 22 3b 4f | 25 2d 63 6f 64 65 0d 0b |es) =";O|%-code..|
|00002a70| fe 05 e0 0d 0c 08 04 0d | 0c 12 0b dd a4 61 6c 69 |........|.....ali|
|00002a80| 67 6e 0d 0c 1c 08 ea 20 | 69 25 0d 0c 26 14 20 20 |gn..... |i%..&. |
|00002a90| e7 20 28 50 25 20 80 20 | 33 29 3e 30 20 8c 0d 0c |. (P% . |3)>0 ...|
|00002aa0| 30 1b 20 20 20 20 e3 20 | 69 25 3d 31 20 b8 20 34 |0. . |i%=1 . 4|
|00002ab0| 2d 28 50 25 20 80 20 33 | 29 0d 0c 3a 13 20 20 20 |-(P% . 3|)..:. |
|00002ac0| 20 20 20 5b 4f 50 54 20 | 70 61 73 73 0d 0c 44 16 | [OPT |pass..D.|
|00002ad0| 20 20 20 20 20 20 20 20 | 45 51 55 42 20 20 20 20 | |EQUB |
|00002ae0| 20 30 0d 0c 4e 0b 20 20 | 20 20 20 20 5d 0d 0c 58 | 0..N. | ]..X|
|00002af0| 0c 20 20 20 20 ed 20 69 | 25 0d 0c 62 07 20 20 cd |. . i|%..b. .|
|00002b00| 0d 0c 6c 09 3d 70 61 73 | 73 0d 0c 76 04 0d 0c 80 |..l.=pas|s..v....|
|00002b10| 11 dd 20 a4 77 6f 72 6b | 28 72 65 73 25 29 0d 0c |.. .work|(res%)..|
|00002b20| 8a 35 20 20 e7 20 72 65 | 73 25 20 81 34 20 3c 3e |.5 . re|s% .4 <>|
|00002b30| 20 72 65 73 25 2f 34 20 | 8c 20 f1 22 53 74 75 70 | res%/4 |. ."Stup|
|00002b40| 69 64 20 77 6f 72 6b 2d | 6c 65 6e 67 74 68 21 21 |id work-|length!!|
|00002b50| 22 3a e0 0d 0c 94 10 20 | 20 77 6f 72 6b 2b 3d 72 |":..... | work+=r|
|00002b60| 65 73 25 0d 0c 9e 0e 3d | 77 6f 72 6b 2d 72 65 73 |es%....=|work-res|
|00002b70| 25 0d ff | |%.. | |
+--------+-------------------------+-------------------------+--------+--------+