home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / da / insect.sit / Insect.asm < prev    next >
MacBinary  |  1987-03-07  |  15.8 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sat Mar 7 10:58:24 1987, modified Sat Mar 7 10:58:24 1987, creator Macintosh Edit, type ASCII, 15503 bytes "Insect.asm" , at 0x3d0f 348 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 49 6e 73 65 63 74 | 2e 61 73 6d 00 00 00 00 |..Insect|.asm....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 3c 8f 00 | 00 01 5c 9c 75 f4 20 9c |.....<..|..\.u. .|
|00000060| 75 f4 20 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |u. .....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 1f c8 00 00 |........|........|
|00000080| 0d 3b 09 54 68 69 73 20 | 69 73 20 74 68 65 20 63 |.;.This |is the c|
|00000090| 72 61 77 6c 69 6e 67 20 | 69 6e 73 65 63 74 20 44 |rawling |insect D|
|000000a0| 41 2c 20 64 69 73 61 73 | 73 65 6d 62 6c 65 64 20 |A, disas|sembled |
|000000b0| 61 6e 64 20 74 77 65 61 | 6b 65 64 2e 0d 3b 09 53 |and twea|ked..;.S|
|000000c0| 68 6f 75 6c 64 20 77 6f | 72 6b 20 6f 6e 20 61 6c |hould wo|rk on al|
|000000d0| 6c 20 6b 69 6e 64 73 20 | 6f 66 20 73 63 72 65 65 |l kinds |of scree|
|000000e0| 6e 73 20 6e 6f 77 2e 0d | 3b 09 46 69 78 65 64 20 |ns now..|;.Fixed |
|000000f0| 63 72 61 73 68 65 73 20 | 64 75 65 20 74 6f 20 63 |crashes |due to c|
|00000100| 61 6c 6c 69 6e 67 20 5f | 52 61 6e 64 6f 6d 20 69 |alling _|Random i|
|00000110| 6e 20 56 42 4c 20 77 69 | 74 68 20 69 6e 76 61 6c |n VBL wi|th inval|
|00000120| 69 64 20 41 35 2e 0d 3b | 09 41 64 64 65 64 20 6f |id A5..;|.Added o|
|00000130| 70 74 69 6f 6e 2d 6f 70 | 65 6e 20 61 6e 64 20 63 |ption-op|en and c|
|00000140| 6d 64 2d 6f 70 74 2d 6f | 70 65 6e 20 66 65 61 74 |md-opt-o|pen feat|
|00000150| 75 72 65 73 20 74 6f 20 | 6b 69 6c 6c 20 62 75 67 |ures to |kill bug|
|00000160| 73 2e 0d 0d 3b 09 45 2e | 4d 2e 56 69 73 68 6e 69 |s...;.E.|M.Vishni|
|00000170| 61 63 0d 3b 09 50 2e 4f | 2e 20 42 6f 78 20 31 33 |ac.;.P.O|. Box 13|
|00000180| 35 37 0d 3b 09 45 61 73 | 74 20 41 72 6c 69 6e 67 |57.;.Eas|t Arling|
|00000190| 74 6f 6e 2c 20 4d 41 20 | 30 32 31 37 34 0d 0d 3b |ton, MA |02174..;|
|000001a0| 09 4d 61 72 63 68 20 37 | 2c 20 31 39 38 37 0d 0d |.March 7|, 1987..|
|000001b0| 3b 09 54 68 61 6e 6b 73 | 20 74 6f 20 4d 61 63 4e |;.Thanks| to MacN|
|000001c0| 6f 73 79 20 66 6f 72 20 | 69 6e 76 61 6c 75 61 62 |osy for |invaluab|
|000001d0| 6c 65 20 61 73 73 69 73 | 74 61 6e 63 65 2e 0d 0d |le assis|tance...|
|000001e0| 3b 09 57 68 65 6e 20 6f | 70 65 6e 65 64 2c 20 74 |;.When o|pened, t|
|000001f0| 68 65 20 63 72 61 77 6c | 69 6e 67 20 69 6e 73 65 |he crawl|ing inse|
|00000200| 63 74 20 44 41 20 73 74 | 61 72 74 73 20 61 20 62 |ct DA st|arts a b|
|00000210| 75 67 20 77 6f 72 6b 69 | 6e 67 20 69 74 73 20 77 |ug worki|ng its w|
|00000220| 61 79 0d 3b 09 75 70 20 | 74 68 65 20 73 63 72 65 |ay.;.up |the scre|
|00000230| 65 6e 2e 20 20 4f 70 65 | 6e 69 6e 67 20 74 68 65 |en. Ope|ning the|
|00000240| 20 44 41 20 72 65 70 65 | 61 74 65 64 6c 79 20 63 | DA repe|atedly c|
|00000250| 72 65 61 74 65 73 20 6d | 6f 72 65 20 62 75 67 73 |reates m|ore bugs|
|00000260| 2e 0d 3b 09 4f 70 74 69 | 6f 6e 2d 6f 70 65 6e 69 |..;.Opti|on-openi|
|00000270| 6e 67 20 74 68 65 20 44 | 41 20 6b 69 6c 6c 73 20 |ng the D|A kills |
|00000280| 6f 6e 65 20 62 75 67 20 | 28 74 68 65 20 79 6f 75 |one bug |(the you|
|00000290| 6e 67 65 73 74 29 2e 0d | 3b 09 43 6f 6d 6d 61 6e |ngest)..|;.Comman|
|000002a0| 64 2d 6f 70 74 69 6f 6e | 2d 6f 70 65 6e 69 6e 67 |d-option|-opening|
|000002b0| 20 74 68 65 20 44 41 20 | 6b 69 6c 6c 73 20 61 6c | the DA |kills al|
|000002c0| 6c 20 74 68 65 20 62 75 | 67 73 2e 0d 0d 3b 09 54 |l the bu|gs...;.T|
|000002d0| 68 6f 75 67 68 20 74 68 | 65 20 44 41 20 69 73 20 |hough th|e DA is |
|000002e0| 75 73 65 6c 65 73 73 2c | 20 65 78 63 65 70 74 20 |useless,| except |
|000002f0| 66 6f 72 20 6c 61 75 67 | 68 73 2c 20 69 74 20 69 |for laug|hs, it i|
|00000300| 73 20 61 6e 20 69 6e 74 | 65 72 65 73 74 69 6e 67 |s an int|eresting|
|00000310| 0d 3b 09 65 78 61 6d 70 | 6c 65 20 6f 66 20 61 20 |.;.examp|le of a |
|00000320| 56 42 4c 20 74 61 73 6b | 2e 0d 0d 3b 20 41 20 6c |VBL task|...; A l|
|00000330| 65 73 73 6f 6e 3a 0d 3b | 09 54 68 65 20 6f 72 69 |esson:.;|.The ori|
|00000340| 67 69 6e 61 6c 20 49 6e | 73 65 63 74 20 44 41 20 |ginal In|sect DA |
|00000350| 63 72 61 73 68 65 64 20 | 61 74 20 52 61 6e 64 6f |crashed |at Rando|
|00000360| 6d 20 74 69 6d 65 73 2e | 20 20 54 68 65 0d 3b 09 |m times.| The.;.|
|00000370| 72 65 61 73 6f 6e 20 77 | 61 73 20 74 68 61 74 20 |reason w|as that |
|00000380| 52 65 73 65 74 42 75 67 | 20 63 61 6c 6c 73 20 5f |ResetBug| calls _|
|00000390| 52 61 6e 64 6f 6d 2c 20 | 77 68 69 63 68 0d 3b 09 |Random, |which.;.|
|000003a0| 75 73 65 73 20 74 68 65 | 20 71 75 69 63 6b 64 72 |uses the| quickdr|
|000003b0| 61 77 20 67 6c 6f 62 61 | 6c 73 2e 20 20 49 6e 20 |aw globa|ls. In |
|000003c0| 61 20 56 42 4c 20 74 61 | 73 6b 2c 20 41 35 20 6d |a VBL ta|sk, A5 m|
|000003d0| 61 79 20 6e 6f 74 0d 3b | 09 62 65 20 63 75 72 72 |ay not.;|.be curr|
|000003e0| 65 6e 74 2e 20 20 54 6f | 20 67 75 61 72 64 20 61 |ent. To| guard a|
|000003f0| 67 61 69 6e 73 74 20 70 | 72 6f 62 6c 65 6d 73 2c |gainst p|roblems,|
|00000400| 20 6c 6f 61 64 20 41 35 | 20 77 69 74 68 0d 3b 09 | load A5| with.;.|
|00000410| 43 75 72 72 65 6e 74 41 | 35 20 69 6e 20 74 68 65 |CurrentA|5 in the|
|00000420| 20 56 42 4c 2e 0d 0d 09 | 49 6e 63 6c 75 64 65 09 | VBL....|Include.|
|00000430| 54 72 61 70 73 2e 44 0d | 09 49 6e 63 6c 75 64 65 |Traps.D.|.Include|
|00000440| 09 53 79 73 45 71 75 58 | 2e 44 0d 09 49 6e 63 6c |.SysEquX|.D..Incl|
|00000450| 75 64 65 09 51 75 69 63 | 6b 45 71 75 58 2e 44 0d |ude.Quic|kEquX.D.|
|00000460| 09 49 6e 63 6c 75 64 65 | 09 54 6f 6f 6c 45 71 75 |.Include|.ToolEqu|
|00000470| 2e 44 0d 09 49 6e 63 6c | 75 64 65 09 53 79 73 45 |.D..Incl|ude.SysE|
|00000480| 72 72 2e 44 0d 0d 6d 61 | 63 72 6f 09 50 4f 50 09 |rr.D..ma|cro.POP.|
|00000490| 70 31 20 3d 0d 09 6d 6f | 76 65 09 28 41 37 29 2b |p1 =..mo|ve.(A7)+|
|000004a0| 2c 7b 50 31 7d 09 7c 0d | 0d 6d 61 63 72 6f 09 50 |,{P1}.|.|.macro.P|
|000004b0| 4f 50 2e 4c 09 70 31 20 | 3d 0d 09 6d 6f 76 65 2e |OP.L.p1 |=..move.|
|000004c0| 4c 09 28 41 37 29 2b 2c | 7b 50 31 7d 09 7c 0d 0d |L.(A7)+,|{P1}.|..|
|000004d0| 6d 61 63 72 6f 09 50 55 | 53 48 09 70 31 20 3d 0d |macro.PU|SH.p1 =.|
|000004e0| 09 6d 6f 76 65 09 7b 50 | 31 7d 2c 2d 28 61 37 29 |.move.{P|1},-(a7)|
|000004f0| 09 7c 0d 0d 6d 61 63 72 | 6f 09 50 55 53 48 2e 4c |.|..macr|o.PUSH.L|
|00000500| 09 70 31 20 3d 0d 09 6d | 6f 76 65 2e 4c 09 7b 50 |.p1 =..m|ove.L.{P|
|00000510| 31 7d 2c 2d 28 61 37 29 | 09 7c 0d 0d 0d 6a 48 69 |1},-(a7)|.|...jHi|
|00000520| 64 65 43 75 72 73 6f 72 | 09 65 71 75 09 24 38 30 |deCursor|.equ.$80|
|00000530| 30 09 3b 20 61 64 64 72 | 65 73 73 20 6f 66 20 48 |0.; addr|ess of H|
|00000540| 69 64 65 43 75 72 73 6f | 72 20 72 6f 75 74 69 6e |ideCurso|r routin|
|00000550| 65 0d 0d 42 75 67 49 6e | 74 65 72 76 61 6c 09 65 |e..BugIn|terval.e|
|00000560| 71 75 09 37 09 3b 20 74 | 69 63 6b 73 20 62 65 74 |qu.7.; t|icks bet|
|00000570| 77 65 65 6e 20 56 42 4c | 20 74 61 73 6b 20 72 75 |ween VBL| task ru|
|00000580| 6e 73 0d 42 75 67 48 65 | 69 67 68 74 09 65 71 75 |ns.BugHe|ight.equ|
|00000590| 09 31 36 09 3b 20 62 75 | 67 20 69 73 20 31 36 20 |.16.; bu|g is 16 |
|000005a0| 72 6f 77 73 20 68 69 67 | 68 0d 0d 0d 09 52 45 53 |rows hig|h....RES|
|000005b0| 4f 55 52 43 45 09 27 44 | 52 56 52 27 20 33 31 20 |OURCE.'D|RVR' 31 |
|000005c0| 27 49 6e 73 65 63 74 27 | 20 30 30 0d 0d 49 6e 73 |'Insect'| 00..Ins|
|000005d0| 65 63 74 0d 09 44 43 2e | 57 09 24 34 46 2c 30 2c |ect..DC.|W.$4F,0,|
|000005e0| 30 2c 30 09 3b 20 66 6c | 61 67 73 2c 20 64 65 6c |0,0.; fl|ags, del|
|000005f0| 61 79 2c 20 65 6d 61 73 | 6b 2c 20 6d 65 6e 75 0d |ay, emas|k, menu.|
|00000600| 0d 09 44 43 2e 57 09 4f | 70 65 6e 09 09 3b 20 6f |..DC.W.O|pen..; o|
|00000610| 70 65 6e 20 72 6f 75 74 | 69 6e 65 0d 09 44 43 2e |pen rout|ine..DC.|
|00000620| 57 09 43 6c 6f 73 65 09 | 09 3b 20 6e 6f 20 70 72 |W.Close.|.; no pr|
|00000630| 69 6d 65 0d 09 44 43 2e | 57 09 43 6c 6f 73 65 09 |ime..DC.|W.Close.|
|00000640| 09 3b 20 6e 6f 20 63 6f | 6e 74 72 6f 6c 0d 09 44 |.; no co|ntrol..D|
|00000650| 43 2e 57 09 43 6c 6f 73 | 65 09 09 3b 20 6e 6f 20 |C.W.Clos|e..; no |
|00000660| 73 74 61 74 75 73 0d 09 | 44 43 2e 57 09 43 6c 6f |status..|DC.W.Clo|
|00000670| 73 65 09 09 3b 20 6e 6f | 20 63 6c 6f 73 65 0d 09 |se..; no| close..|
|00000680| 09 09 09 3b 20 4e 6f 20 | 6e 61 6d 65 3f 0d 0d 09 |...; No |name?...|
|00000690| 3b 20 49 6e 20 63 61 73 | 65 20 73 6f 6d 65 6f 6e |; In cas|e someon|
|000006a0| 65 20 67 65 74 73 20 74 | 68 65 20 44 41 20 77 69 |e gets t|he DA wi|
|000006b0| 74 68 6f 75 74 20 73 6f | 75 72 63 65 20 63 6f 64 |thout so|urce cod|
|000006c0| 65 2e 2e 2e 0d 09 44 43 | 2e 42 09 27 20 20 20 20 |e.....DC|.B.' |
|000006d0| 46 6f 72 20 73 6f 75 72 | 63 65 20 63 6f 64 65 2c |For sour|ce code,|
|000006e0| 20 73 65 6e 64 20 61 20 | 64 69 73 6b 65 74 74 65 | send a |diskette|
|000006f0| 20 27 0d 09 44 43 2e 42 | 09 27 61 6e 64 20 61 20 | '..DC.B|.'and a |
|00000700| 73 65 6c 66 2d 61 64 64 | 72 65 73 73 65 64 2c 20 |self-add|ressed, |
|00000710| 73 74 61 6d 70 65 64 20 | 65 6e 76 65 6c 6f 70 65 |stamped |envelope|
|00000720| 20 74 6f 3a 20 27 0d 09 | 44 43 2e 42 09 27 45 70 | to: '..|DC.B.'Ep|
|00000730| 68 72 61 69 6d 20 56 69 | 73 68 6e 69 61 63 20 2f |hraim Vi|shniac /|
|00000740| 20 50 2e 4f 2e 20 42 6f | 78 20 31 33 35 37 20 27 | P.O. Bo|x 1357 '|
|00000750| 0d 09 44 43 2e 42 09 27 | 2f 20 45 61 73 74 20 41 |..DC.B.'|/ East A|
|00000760| 72 6c 69 6e 67 74 6f 6e | 2c 20 4d 41 20 30 32 31 |rlington|, MA 021|
|00000770| 37 34 2e 20 27 0d 09 44 | 43 2e 42 09 27 4e 6f 20 |74. '..D|C.B.'No |
|00000780| 70 6f 73 74 61 67 65 20 | 3d 20 6e 6f 20 72 65 70 |postage |= no rep|
|00000790| 6c 79 2e 20 20 20 20 20 | 20 27 0d 09 2e 61 6c 69 |ly. | '...ali|
|000007a0| 67 6e 09 32 0d 0d 3b 20 | 53 74 61 72 74 69 6e 67 |gn.2..; |Starting|
|000007b0| 20 68 65 72 65 2c 20 74 | 68 65 20 63 6f 64 65 20 | here, t|he code |
|000007c0| 61 6e 64 20 64 61 74 61 | 20 61 72 65 20 63 6f 70 |and data| are cop|
|000007d0| 69 65 64 0d 3b 20 69 6e | 74 6f 20 74 68 65 20 73 |ied.; in|to the s|
|000007e0| 79 73 74 65 6d 20 68 65 | 61 70 20 77 68 65 6e 20 |ystem he|ap when |
|000007f0| 74 68 65 20 44 41 20 69 | 73 20 6f 70 65 6e 65 64 |the DA i|s opened|
|00000800| 2e 0d 0d 42 75 67 42 61 | 73 65 0d 09 44 43 2e 42 |...BugBa|se..DC.B|
|00000810| 09 27 42 55 47 20 27 09 | 09 3b 20 73 69 67 6e 61 |.'BUG '.|.; signa|
|00000820| 74 75 72 65 0d 0d 0d 4d | 79 56 42 4c 54 61 73 6b |ture...M|yVBLTask|
|00000830| 0d 09 44 43 2e 4c 09 30 | 09 09 3b 20 71 4c 69 6e |..DC.L.0|..; qLin|
|00000840| 6b 0d 09 44 43 2e 57 09 | 31 09 09 3b 20 71 54 79 |k..DC.W.|1..; qTy|
|00000850| 70 65 0d 09 44 43 2e 4c | 09 30 09 09 3b 20 76 62 |pe..DC.L|.0..; vb|
|00000860| 6c 41 64 64 72 0d 09 44 | 43 2e 57 09 42 75 67 49 |lAddr..D|C.W.BugI|
|00000870| 6e 74 65 72 76 61 6c 09 | 3b 20 76 62 6c 43 6f 75 |nterval.|; vblCou|
|00000880| 6e 74 0d 09 44 43 2e 57 | 09 30 09 09 3b 20 76 62 |nt..DC.W|.0..; vb|
|00000890| 6c 50 68 61 73 65 0d 0d | 0d 6f 6c 64 48 69 64 65 |lPhase..|.oldHide|
|000008a0| 09 09 44 43 2e 4c 09 30 | 09 3b 20 6a 48 69 64 65 |..DC.L.0|.; jHide|
|000008b0| 43 75 72 73 6f 72 0d 6f | 6c 64 53 68 6f 77 09 09 |Cursor.o|ldShow..|
|000008c0| 44 43 2e 4c 09 30 09 3b | 20 6a 53 68 6f 77 43 75 |DC.L.0.;| jShowCu|
|000008d0| 72 73 6f 72 0d 6f 6c 64 | 53 68 69 65 6c 64 09 44 |rsor.old|Shield.D|
|000008e0| 43 2e 4c 09 30 09 3b 20 | 6a 53 68 69 65 6c 64 43 |C.L.0.; |jShieldC|
|000008f0| 75 72 73 6f 72 0d 0d 3b | 20 48 65 72 65 27 73 20 |ursor..;| Here's |
|00000900| 74 68 65 20 6c 6f 63 61 | 6c 20 64 61 74 61 20 75 |the loca|l data u|
|00000910| 73 65 64 20 62 79 20 74 | 68 65 20 56 42 4c 20 74 |sed by t|he VBL t|
|00000920| 61 73 6b 2e 0d 4c 6f 63 | 61 6c 44 61 74 61 09 65 |ask..Loc|alData.e|
|00000930| 71 75 09 2a 0d 0d 50 61 | 69 6e 74 4c 6f 63 09 65 |qu.*..Pa|intLoc.e|
|00000940| 71 75 09 2a 2d 4c 6f 63 | 61 6c 44 61 74 61 0d 09 |qu.*-Loc|alData..|
|00000950| 09 44 43 2e 4c 09 30 09 | 09 3b 20 5b 6c 6f 6e 67 |.DC.L.0.|.; [long|
|00000960| 5d 20 61 64 64 72 65 73 | 73 20 74 6f 20 70 61 69 |] addres|s to pai|
|00000970| 6e 74 20 62 75 67 0d 47 | 65 6e 65 72 61 74 69 6f |nt bug.G|eneratio|
|00000980| 6e 09 65 71 75 09 2a 2d | 4c 6f 63 61 6c 44 61 74 |n.equ.*-|LocalDat|
|00000990| 61 0d 09 09 44 43 2e 57 | 09 30 09 09 3b 20 5b 77 |a...DC.W|.0..; [w|
|000009a0| 6f 72 64 5d 20 62 75 67 | 20 67 65 6e 65 72 61 74 |ord] bug| generat|
|000009b0| 69 6f 6e 0d 53 61 76 65 | 64 09 09 65 71 75 09 2a |ion.Save|d..equ.*|
|000009c0| 2d 4c 6f 63 61 6c 44 61 | 74 61 0d 09 09 44 43 2e |-LocalDa|ta...DC.|
|000009d0| 42 09 30 09 09 3b 20 5b | 62 79 74 65 5d 20 57 65 |B.0..; [|byte] We|
|000009e0| 27 76 65 20 73 61 76 65 | 64 20 74 68 65 20 73 63 |'ve save|d the sc|
|000009f0| 72 65 65 6e 20 64 61 74 | 61 0d 09 09 44 43 2e 42 |reen dat|a...DC.B|
|00000a00| 09 30 09 09 3b 20 5b 62 | 79 74 65 5d 20 66 6f 72 |.0..; [b|yte] for|
|00000a10| 20 61 6c 69 67 6d 65 6e | 74 0d 4d 79 53 63 72 6e | aligmen|t.MyScrn|
|00000a20| 42 61 73 65 09 65 71 75 | 09 2a 2d 4c 6f 63 61 6c |Base.equ|.*-Local|
|00000a30| 44 61 74 61 0d 09 09 44 | 43 2e 4c 09 30 09 09 3b |Data...D|C.L.0..;|
|00000a40| 20 5b 6c 6f 6e 67 5d 20 | 73 74 61 72 74 20 6f 66 | [long] |start of|
|00000a50| 20 73 63 72 65 65 6e 20 | 62 69 74 6d 61 70 0d 4d | screen |bitmap.M|
|00000a60| 79 53 63 72 6e 52 6f 77 | 09 65 71 75 09 2a 2d 4c |yScrnRow|.equ.*-L|
|00000a70| 6f 63 61 6c 44 61 74 61 | 0d 09 09 44 43 2e 57 09 |ocalData|...DC.W.|
|00000a80| 30 09 09 3b 20 5b 77 6f | 72 64 5d 20 73 69 7a 65 |0..; [wo|rd] size|
|00000a90| 20 6f 66 20 73 63 72 65 | 65 6e 20 6c 6f 77 20 69 | of scre|en low i|
|00000aa0| 6e 20 62 79 74 65 73 0d | 4d 79 53 63 72 6e 52 65 |n bytes.|MyScrnRe|
|00000ab0| 63 74 09 65 71 75 09 2a | 2d 4c 6f 63 61 6c 44 61 |ct.equ.*|-LocalDa|
|00000ac0| 74 61 0d 09 09 44 43 2e | 57 09 30 2c 30 2c 30 2c |ta...DC.|W.0,0,0,|
|00000ad0| 30 09 09 3b 20 5b 72 65 | 63 74 5d 20 73 63 72 65 |0..; [re|ct] scre|
|00000ae0| 65 6e 20 72 65 63 74 61 | 6e 67 6c 65 0d 0d 53 68 |en recta|ngle..Sh|
|00000af0| 69 65 6c 64 52 65 63 74 | 09 65 71 75 09 2a 2d 4c |ieldRect|.equ.*-L|
|00000b00| 6f 63 61 6c 44 61 74 61 | 0d 09 09 44 43 2e 57 09 |ocalData|...DC.W.|
|00000b10| 30 2c 30 2c 30 2c 30 09 | 09 3b 20 5b 72 65 63 74 |0,0,0,0.|.; [rect|
|00000b20| 5d 20 72 65 63 74 61 6e | 67 6c 65 20 66 6f 72 20 |] rectan|gle for |
|00000b30| 53 68 69 65 6c 64 43 75 | 72 73 6f 72 0d 53 68 69 |ShieldCu|rsor.Shi|
|00000b40| 65 6c 64 52 65 74 75 72 | 6e 09 65 71 75 09 2a 2d |eldRetur|n.equ.*-|
|00000b50| 4c 6f 63 61 6c 44 61 74 | 61 0d 09 09 44 43 2e 4c |LocalDat|a...DC.L|
|00000b60| 09 30 09 09 3b 20 5b 6c | 6f 6e 67 5d 20 72 65 74 |.0..; [l|ong] ret|
|00000b70| 75 72 6e 20 61 64 64 72 | 20 66 72 6f 6d 20 53 68 |urn addr| from Sh|
|00000b80| 69 65 6c 64 43 75 72 73 | 6f 72 0d 53 68 69 65 6c |ieldCurs|or.Shiel|
|00000b90| 64 53 52 09 65 71 75 09 | 2a 2d 4c 6f 63 61 6c 44 |dSR.equ.|*-LocalD|
|00000ba0| 61 74 61 0d 09 09 44 43 | 2e 57 09 30 09 09 3b 20 |ata...DC|.W.0..; |
|00000bb0| 5b 77 6f 72 64 5d 20 53 | 52 20 69 6e 20 53 68 69 |[word] S|R in Shi|
|00000bc0| 65 6c 64 43 75 72 73 6f | 72 0d 53 63 72 65 65 6e |eldCurso|r.Screen|
|00000bd0| 44 61 74 61 09 65 71 75 | 09 2a 2d 4c 6f 63 61 6c |Data.equ|.*-Local|
|00000be0| 44 61 74 61 0d 09 09 44 | 43 42 2e 57 09 31 36 2c |Data...D|CB.W.16,|
|00000bf0| 30 09 09 3b 20 5b 31 36 | 20 77 6f 72 64 73 5d 20 |0..; [16| words] |
|00000c00| 73 61 76 65 64 20 73 63 | 72 65 65 6e 20 64 61 74 |saved sc|reen dat|
|00000c10| 61 0d 0d 0d 3b 20 54 68 | 69 73 20 69 73 20 74 68 |a...; Th|is is th|
|00000c20| 65 20 6d 61 69 6e 20 62 | 75 67 20 74 61 73 6b 2c |e main b|ug task,|
|00000c30| 20 63 61 6c 6c 65 64 20 | 65 76 65 72 79 20 42 75 | called |every Bu|
|00000c40| 67 49 6e 74 65 72 76 61 | 6c 20 63 6c 6f 63 6b 20 |gInterva|l clock |
|00000c50| 74 69 63 6b 73 0d 3b 20 | 62 79 20 74 68 65 20 56 |ticks.; |by the V|
|00000c60| 42 4c 20 6d 61 6e 61 67 | 65 72 2e 0d 0d 4d 79 56 |BL manag|er...MyV|
|00000c70| 42 4c 70 72 6f 63 0d 09 | 4d 6f 76 65 09 53 52 2c |BLproc..|Move.SR,|
|00000c80| 2d 28 41 37 29 09 09 3b | 20 73 61 76 65 20 73 74 |-(A7)..;| save st|
|00000c90| 61 74 75 73 0d 09 4f 72 | 49 09 23 24 31 30 30 2c |atus..Or|I.#$100,|
|00000ca0| 53 52 09 09 3b 20 6d 61 | 73 6b 20 6f 66 66 20 73 |SR..; ma|sk off s|
|00000cb0| 6f 6d 65 20 69 6e 74 65 | 72 72 75 70 74 73 2e 20 |ome inte|rrupts. |
|00000cc0| 6e 65 65 64 65 64 3f 0d | 0d 09 4c 65 61 09 4d 79 |needed?.|..Lea.My|
|00000cd0| 56 42 4c 54 61 73 6b 2c | 41 30 0d 09 4d 6f 76 65 |VBLTask,|A0..Move|
|00000ce0| 09 23 31 2c 76 62 6c 43 | 6f 75 6e 74 28 41 30 29 |.#1,vblC|ount(A0)|
|00000cf0| 09 09 3b 20 77 65 20 6d | 69 67 68 74 20 68 61 76 |..; we m|ight hav|
|00000d00| 65 20 74 6f 20 64 65 66 | 65 72 2e 2e 2e 0d 09 54 |e to def|er.....T|
|00000d10| 73 74 2e 42 09 43 72 73 | 72 42 75 73 79 09 09 3b |st.B.Crs|rBusy..;|
|00000d20| 20 43 75 72 73 6f 72 20 | 62 75 73 79 3f 0d 09 42 | Cursor |busy?..B|
|00000d30| 6e 65 09 40 30 09 09 09 | 3b 20 65 78 69 74 20 69 |ne.@0...|; exit i|
|00000d40| 66 20 73 6f 0d 0d 09 4d | 6f 76 65 09 23 42 75 67 |f so...M|ove.#Bug|
|00000d50| 49 6e 74 65 72 76 61 6c | 2c 76 62 6c 43 6f 75 6e |Interval|,vblCoun|
|00000d60| 74 28 41 30 29 09 3b 20 | 72 65 6e 65 77 20 6f 75 |t(A0).; |renew ou|
|00000d70| 72 20 74 61 73 6b 0d 09 | 42 73 72 09 47 65 6e 65 |r task..|Bsr.Gene|
|00000d80| 72 61 74 65 09 09 3b 20 | 64 6f 20 6f 75 72 20 73 |rate..; |do our s|
|00000d90| 74 75 66 66 0d 0d 40 30 | 09 4d 6f 76 65 09 28 41 |tuff..@0|.Move.(A|
|00000da0| 37 29 2b 2c 53 52 09 09 | 3b 20 72 65 73 74 6f 72 |7)+,SR..|; restor|
|00000db0| 65 20 73 74 61 74 75 73 | 0d 09 52 74 73 09 09 09 |e status|..Rts...|
|00000dc0| 09 3b 20 61 6e 64 20 65 | 78 69 74 0d 0d 0d 3b 20 |.; and e|xit...; |
|00000dd0| 54 68 69 73 20 72 6f 75 | 74 69 6e 65 20 70 72 6f |This rou|tine pro|
|00000de0| 64 75 63 65 73 20 61 20 | 6e 65 77 20 67 65 6e 65 |duces a |new gene|
|00000df0| 72 61 74 69 6f 6e 20 6f | 66 20 74 68 65 20 62 75 |ration o|f the bu|
|00000e00| 67 2e 0d 0d 47 65 6e 65 | 72 61 74 65 0d 09 4d 6f |g...Gene|rate..Mo|
|00000e10| 76 65 4d 2e 4c 09 44 37 | 2f 41 32 2d 41 35 2c 2d |veM.L.D7|/A2-A5,-|
|00000e20| 28 41 37 29 09 09 3b 20 | 73 61 76 65 20 72 65 67 |(A7)..; |save reg|
|00000e30| 69 73 74 65 72 73 0d 0d | 09 4c 65 61 09 4c 6f 63 |isters..|.Lea.Loc|
|00000e40| 61 6c 44 61 74 61 2c 41 | 34 0d 09 4d 6f 76 65 2e |alData,A|4..Move.|
|00000e50| 4c 09 43 75 72 72 65 6e | 74 41 35 2c 41 35 09 09 |L.Curren|tA5,A5..|
|00000e60| 3b 20 5f 52 61 6e 64 6f | 6d 20 6e 65 65 64 73 20 |; _Rando|m needs |
|00000e70| 71 64 20 67 6c 6f 62 61 | 6c 73 21 0d 0d 09 4d 6f |qd globa|ls!...Mo|
|00000e80| 76 65 09 43 72 73 72 53 | 74 61 74 65 2c 44 37 09 |ve.CrsrS|tate,D7.|
|00000e90| 09 3b 20 44 37 20 3d 20 | 43 75 72 73 6f 72 20 73 |.; D7 = |Cursor s|
|00000ea0| 74 61 74 65 0d 09 54 73 | 74 2e 4c 09 28 41 34 29 |tate..Ts|t.L.(A4)|
|00000eb0| 09 09 09 3b 20 61 6e 79 | 74 68 69 6e 67 20 64 6f |...; any|thing do|
|00000ec0| 69 6e 67 3f 0d 09 42 65 | 71 09 40 33 09 09 09 3b |ing?..Be|q.@3...;|
|00000ed0| 20 65 78 69 74 20 69 66 | 20 6e 6f 74 0d 0d 09 42 | exit if| not...B|
|00000ee0| 73 72 09 44 6f 4f 6c 64 | 48 69 64 65 09 09 3b 20 |sr.DoOld|Hide..; |
|00000ef0| 68 69 64 65 20 74 68 65 | 20 63 75 72 73 6f 72 0d |hide the| cursor.|
|00000f00| 0d 09 42 73 72 09 50 61 | 69 6e 74 4f 76 65 72 42 |..Bsr.Pa|intOverB|
|00000f10| 75 67 09 09 3b 20 72 65 | 73 74 6f 72 65 20 74 68 |ug..; re|store th|
|00000f20| 65 20 73 63 72 65 65 6e | 0d 0d 09 4d 6f 76 65 09 |e screen|...Move.|
|00000f30| 47 65 6e 65 72 61 74 69 | 6f 6e 28 41 34 29 2c 44 |Generati|on(A4),D|
|00000f40| 30 09 3b 20 44 30 2e 57 | 20 3d 20 62 75 67 20 67 |0.; D0.W| = bug g|
|00000f50| 65 6e 65 72 61 74 69 6f | 6e 0d 09 41 64 64 51 09 |eneratio|n..AddQ.|
|00000f60| 23 31 2c 44 30 09 09 09 | 3b 20 69 6e 63 72 65 6d |#1,D0...|; increm|
|00000f70| 65 6e 74 20 67 65 6e 65 | 72 61 74 69 6f 6e 0d 09 |ent gene|ration..|
|00000f80| 43 6d 70 49 09 23 36 2c | 44 30 09 09 09 3b 20 74 |CmpI.#6,|D0...; t|
|00000f90| 68 65 72 65 20 61 72 65 | 20 73 69 78 20 67 65 6e |here are| six gen|
|00000fa0| 65 72 61 74 69 6f 6e 73 | 0d 09 42 6e 65 09 40 31 |erations|..Bne.@1|
|00000fb0| 09 09 09 3b 20 73 6b 69 | 70 20 69 66 20 6e 6f 74 |...; ski|p if not|
|00000fc0| 20 77 72 61 70 70 65 64 | 0d 09 43 6c 72 09 44 30 | wrapped|..Clr.D0|
|00000fd0| 09 09 09 3b 20 65 6c 73 | 65 20 77 72 61 70 20 74 |...; els|e wrap t|
|00000fe0| 6f 20 7a 65 72 6f 0d 40 | 31 09 4d 6f 76 65 09 44 |o zero.@|1.Move.D|
|00000ff0| 30 2c 47 65 6e 65 72 61 | 74 69 6f 6e 28 41 34 29 |0,Genera|tion(A4)|
|00001000| 09 3b 20 75 70 64 61 74 | 65 20 67 65 6e 65 72 61 |.; updat|e genera|
|00001010| 74 69 6f 6e 0d 0d 09 4d | 6f 76 65 2e 4c 09 28 41 |tion...M|ove.L.(A|
|00001020| 34 29 2c 41 30 09 09 09 | 3b 20 41 30 20 3d 20 70 |4),A0...|; A0 = p|
|00001030| 6c 61 63 65 20 74 6f 20 | 70 61 69 6e 74 0d 09 53 |lace to |paint..S|
|00001040| 75 62 2e 57 09 4d 79 53 | 63 72 6e 52 6f 77 28 41 |ub.W.MyS|crnRow(A|
|00001050| 34 29 2c 41 30 09 3b 20 | 70 72 65 76 69 6f 75 73 |4),A0.; |previous|
|00001060| 20 72 6f 77 0d 09 4d 6f | 76 65 2e 4c 09 41 30 2c | row..Mo|ve.L.A0,|
|00001070| 28 41 34 29 09 09 09 3b | 20 75 70 64 61 74 65 0d |(A4)...;| update.|
|00001080| 0d 09 43 6d 70 41 2e 4c | 09 4d 79 53 63 72 6e 42 |..CmpA.L|.MyScrnB|
|00001090| 61 73 65 28 41 34 29 2c | 41 30 09 3b 20 6f 66 66 |ase(A4),|A0.; off|
|000010a0| 20 74 6f 70 3f 0d 09 42 | 67 65 09 40 32 09 09 09 | top?..B|ge.@2...|
|000010b0| 3b 20 73 6b 69 70 20 69 | 66 20 6e 6f 74 0d 09 42 |; skip i|f not..B|
|000010c0| 73 72 09 52 65 73 65 74 | 42 75 67 09 09 3b 20 65 |sr.Reset|Bug..; e|
|000010d0| 6c 73 65 20 70 69 63 6b | 20 61 20 6e 65 77 20 6c |lse pick| a new l|
|000010e0| 6f 63 61 74 69 6f 6e 0d | 0d 40 32 09 42 73 72 09 |ocation.|.@2.Bsr.|
|000010f0| 44 72 61 77 42 75 67 50 | 6c 75 73 09 09 3b 20 44 |DrawBugP|lus..; D|
|00001100| 72 61 77 20 62 75 67 20 | 69 66 20 63 75 72 73 6f |raw bug |if curso|
|00001110| 72 20 77 61 73 6e 27 74 | 20 6f 62 73 63 75 72 65 |r wasn't| obscure|
|00001120| 0d 0d 09 42 73 72 09 44 | 6f 4f 6c 64 53 68 6f 77 |...Bsr.D|oOldShow|
|00001130| 09 09 3b 20 73 68 6f 77 | 20 74 68 65 20 63 75 72 |..; show| the cur|
|00001140| 73 6f 72 0d 0d 40 33 09 | 4d 6f 76 65 4d 2e 4c 09 |sor..@3.|MoveM.L.|
|00001150| 28 41 37 29 2b 2c 44 37 | 2f 41 32 2d 41 35 09 09 |(A7)+,D7|/A2-A5..|
|00001160| 3b 20 72 65 73 74 6f 72 | 65 20 72 65 67 69 73 74 |; restor|e regist|
|00001170| 65 72 73 0d 09 4d 6f 76 | 65 51 09 23 30 2c 44 30 |ers..Mov|eQ.#0,D0|
|00001180| 09 09 09 3b 20 61 6e 64 | 20 65 6e 64 20 75 70 64 |...; and| end upd|
|00001190| 61 74 65 0d 09 52 74 73 | 0d 0d 0d 3b 20 54 68 69 |ate..Rts|...; Thi|
|000011a0| 73 20 73 75 62 73 74 69 | 74 75 74 65 20 66 6f 72 |s substi|tute for|
|000011b0| 20 48 69 64 65 43 75 72 | 73 6f 72 20 6d 61 6b 65 | HideCur|sor make|
|000011c0| 73 20 73 75 72 65 20 74 | 68 61 74 20 74 68 65 20 |s sure t|hat the |
|000011d0| 62 75 67 20 69 73 20 68 | 69 64 64 65 6e 0d 3b 20 |bug is h|idden.; |
|000011e0| 77 68 65 6e 65 76 65 72 | 20 74 68 65 20 63 75 72 |whenever| the cur|
|000011f0| 73 6f 72 20 69 73 20 68 | 69 64 64 65 6e 2e 0d 0d |sor is h|idden...|
|00001200| 4d 79 48 69 64 65 0d 09 | 4d 6f 76 65 09 53 52 2c |MyHide..|Move.SR,|
|00001210| 2d 28 41 37 29 09 09 3b | 20 73 69 6d 75 6c 61 74 |-(A7)..;| simulat|
|00001220| 65 20 65 78 63 65 70 74 | 69 6f 6e 0d 09 4f 72 49 |e except|ion..OrI|
|00001230| 09 23 24 31 30 30 2c 53 | 52 09 09 3b 20 64 69 73 |.#$100,S|R..; dis|
|00001240| 61 62 6c 65 20 73 6f 6d | 65 20 69 6e 74 65 72 72 |able som|e interr|
|00001250| 75 70 74 73 0d 0d 09 42 | 73 72 09 44 6f 4f 6c 64 |upts...B|sr.DoOld|
|00001260| 48 69 64 65 09 09 3b 20 | 68 69 64 65 20 74 68 65 |Hide..; |hide the|
|00001270| 20 63 75 72 73 6f 72 0d | 0d 09 4d 6f 76 65 4d 2e | cursor.|..MoveM.|
|00001280| 4c 09 44 30 2d 44 31 2f | 41 30 2d 41 34 2c 2d 28 |L.D0-D1/|A0-A4,-(|
|00001290| 41 37 29 09 3b 20 73 61 | 76 65 20 72 65 67 69 73 |A7).; sa|ve regis|
|000012a0| 74 65 72 73 0d 0d 09 4c | 65 61 09 4c 6f 63 61 6c |ters...L|ea.Local|
|000012b0| 44 61 74 61 2c 41 34 09 | 09 3b 20 57 65 20 68 69 |Data,A4.|.; We hi|
|000012c0| 64 65 20 77 68 65 6e 20 | 74 68 65 20 63 75 72 73 |de when |the curs|
|000012d0| 6f 72 20 68 69 64 65 73 | 0d 09 54 73 74 2e 4c 09 |or hides|..Tst.L.|
|000012e0| 28 41 34 29 09 09 09 3b | 20 61 72 65 20 77 65 20 |(A4)...;| are we |
|000012f0| 61 63 74 69 76 65 3f 0d | 09 42 65 71 09 40 31 09 |active?.|.Beq.@1.|
|00001300| 09 09 3b 20 65 78 69 74 | 20 69 66 20 6e 6f 74 0d |..; exit| if not.|
|00001310| 0d 09 42 73 72 09 50 61 | 69 6e 74 4f 76 65 72 42 |..Bsr.Pa|intOverB|
|00001320| 75 67 09 09 3b 20 72 65 | 73 74 6f 72 65 20 74 68 |ug..; re|store th|
|00001330| 65 20 73 63 72 65 65 6e | 0d 0d 40 31 09 4d 6f 76 |e screen|..@1.Mov|
|00001340| 65 4d 2e 4c 09 28 41 37 | 29 2b 2c 44 30 2d 44 31 |eM.L.(A7|)+,D0-D1|
|00001350| 2f 41 30 2d 41 34 09 3b | 20 72 65 73 74 6f 72 65 |/A0-A4.;| restore|
|00001360| 20 72 65 67 69 73 74 65 | 72 73 0d 09 4d 6f 76 65 | registe|rs..Move|
|00001370| 09 28 41 37 29 2b 2c 53 | 52 09 09 3b 20 72 65 73 |.(A7)+,S|R..; res|
|00001380| 74 6f 72 65 20 73 74 61 | 74 75 73 20 72 65 67 69 |tore sta|tus regi|
|00001390| 73 74 65 72 0d 09 52 74 | 73 0d 0d 44 6f 4f 6c 64 |ster..Rt|s..DoOld|
|000013a0| 48 69 64 65 0d 09 50 75 | 73 68 2e 4c 09 6f 6c 64 |Hide..Pu|sh.L.old|
|000013b0| 48 69 64 65 09 09 3b 20 | 72 75 6e 20 74 68 65 20 |Hide..; |run the |
|000013c0| 6f 72 69 67 69 6e 61 6c | 20 48 69 64 65 43 75 72 |original| HideCur|
|000013d0| 73 6f 72 0d 09 52 74 73 | 0d 0d 0d 3b 20 54 68 69 |sor..Rts|...; Thi|
|000013e0| 73 20 73 75 62 73 74 69 | 74 75 74 65 20 66 6f 72 |s substi|tute for|
|000013f0| 20 53 68 6f 77 43 75 72 | 73 6f 72 20 6d 61 6b 65 | ShowCur|sor make|
|00001400| 73 20 73 75 72 65 20 74 | 68 61 74 20 74 68 65 20 |s sure t|hat the |
|00001410| 62 75 67 20 69 73 20 76 | 69 73 69 62 6c 65 0d 3b |bug is v|isible.;|
|00001420| 20 77 68 65 6e 65 76 65 | 72 20 74 68 65 20 63 75 | wheneve|r the cu|
|00001430| 72 73 6f 72 20 69 73 20 | 76 69 73 69 62 6c 65 2e |rsor is |visible.|
|00001440| 0d 0d 4d 79 53 68 6f 77 | 0d 09 4d 6f 76 65 09 53 |..MyShow|..Move.S|
|00001450| 52 2c 2d 28 41 37 29 09 | 09 3b 20 73 69 6d 75 6c |R,-(A7).|.; simul|
|00001460| 61 74 65 20 65 78 63 65 | 70 74 69 6f 6e 0d 09 4f |ate exce|ption..O|
|00001470| 72 49 09 23 24 31 30 30 | 2c 53 52 09 09 3b 20 64 |rI.#$100|,SR..; d|
|00001480| 69 73 61 62 6c 65 20 69 | 6e 74 65 72 72 75 70 74 |isable i|nterrupt|
|00001490| 73 0d 0d 09 4d 6f 76 65 | 4d 2e 4c 09 44 30 2d 44 |s...Move|M.L.D0-D|
|000014a0| 31 2f 41 30 2d 41 34 2c | 2d 28 41 37 29 09 3b 20 |1/A0-A4,|-(A7).; |
|000014b0| 73 61 76 65 20 72 65 67 | 69 73 74 65 72 73 0d 09 |save reg|isters..|
|000014c0| 4c 65 61 09 4c 6f 63 61 | 6c 44 61 74 61 2c 41 34 |Lea.Loca|lData,A4|
|000014d0| 0d 09 54 73 74 2e 4c 09 | 28 41 34 29 09 09 09 3b |..Tst.L.|(A4)...;|
|000014e0| 20 61 72 65 20 77 65 20 | 61 63 74 69 76 65 3f 0d | are we |active?.|
|000014f0| 09 42 65 71 09 40 32 09 | 09 09 3b 20 65 78 69 74 |.Beq.@2.|..; exit|
|00001500| 20 69 66 20 6e 6f 74 0d | 09 4d 6f 76 65 09 43 72 | if not.|.Move.Cr|
|00001510| 73 72 53 74 61 74 65 2c | 44 30 09 09 3b 20 44 30 |srState,|D0..; D0|
|00001520| 20 3d 20 43 75 72 73 6f | 72 20 53 74 61 74 65 0d | = Curso|r State.|
|00001530| 09 42 65 71 09 40 31 09 | 09 09 3b 20 62 72 61 6e |.Beq.@1.|..; bran|
|00001540| 63 68 20 69 66 20 53 74 | 61 74 65 20 3d 20 56 69 |ch if St|ate = Vi|
|00001550| 73 69 62 6c 65 0d 09 43 | 6d 70 49 09 23 2d 31 2c |sible..C|mpI.#-1,|
|00001560| 44 30 09 09 09 3b 20 53 | 74 61 74 65 20 3d 20 6f |D0...; S|tate = o|
|00001570| 62 73 63 75 72 65 3f 0d | 09 42 6e 65 09 40 32 09 |bscure?.|.Bne.@2.|
|00001580| 09 09 3b 20 65 78 69 74 | 20 69 66 20 6e 6f 74 0d |..; exit| if not.|
|00001590| 0d 40 31 09 42 73 72 09 | 44 72 61 77 42 75 67 09 |.@1.Bsr.|DrawBug.|
|000015a0| 09 09 3b 20 63 75 72 73 | 6f 72 20 73 74 61 74 65 |..; curs|or state|
|000015b0| 20 69 73 20 56 69 73 69 | 62 6c 65 20 6f 72 20 4f | is Visi|ble or O|
|000015c0| 62 73 63 75 72 65 0d 0d | 40 32 09 4d 6f 76 65 4d |bscure..|@2.MoveM|
|000015d0| 2e 4c 09 28 41 37 29 2b | 2c 44 30 2d 44 31 2f 41 |.L.(A7)+|,D0-D1/A|
|000015e0| 30 2d 41 34 09 3b 20 72 | 65 73 74 6f 72 65 20 72 |0-A4.; r|estore r|
|000015f0| 65 67 69 73 74 65 72 73 | 0d 09 42 73 72 09 44 6f |egisters|..Bsr.Do|
|00001600| 4f 6c 64 53 68 6f 77 09 | 09 3b 20 72 65 73 74 6f |OldShow.|.; resto|
|00001610| 72 65 20 63 75 72 73 6f | 72 0d 09 4d 6f 76 65 09 |re curso|r..Move.|
|00001620| 28 41 37 29 2b 2c 53 52 | 09 09 3b 20 72 65 73 74 |(A7)+,SR|..; rest|
|00001630| 6f 72 65 20 53 52 0d 09 | 52 74 73 0d 0d 44 6f 4f |ore SR..|Rts..DoO|
|00001640| 6c 64 53 68 6f 77 0d 09 | 50 75 73 68 2e 4c 09 6f |ldShow..|Push.L.o|
|00001650| 6c 64 53 68 6f 77 09 09 | 3b 20 72 75 6e 20 74 68 |ldShow..|; run th|
|00001660| 65 20 6f 72 69 67 69 6e | 61 6c 20 53 68 6f 77 43 |e origin|al ShowC|
|00001670| 75 72 73 6f 72 0d 09 52 | 74 73 0d 0d 0d 3b 20 54 |ursor..R|ts...; T|
|00001680| 68 69 73 20 73 75 62 73 | 74 69 74 75 74 65 20 66 |his subs|titute f|
|00001690| 6f 72 20 53 68 69 65 6c | 64 43 75 72 73 6f 72 20 |or Shiel|dCursor |
|000016a0| 64 6f 65 73 20 66 6f 72 | 20 74 68 65 20 62 75 67 |does for| the bug|
|000016b0| 20 77 68 61 74 0d 3b 20 | 53 68 69 65 6c 64 43 75 | what.; |ShieldCu|
|000016c0| 72 73 6f 72 20 64 6f 65 | 73 20 66 6f 72 20 74 68 |rsor doe|s for th|
|000016d0| 65 20 63 75 72 73 6f 72 | 2e 0d 0d 76 61 6b 5f 31 |e cursor|...vak_1|
|000016e0| 09 45 51 55 09 34 0d 70 | 61 72 61 6d 32 09 45 51 |.EQU.4.p|aram2.EQ|
|000016f0| 55 09 38 0d 70 61 72 61 | 6d 31 09 45 51 55 09 31 |U.8.para|m1.EQU.1|
|00001700| 32 0d 0d 4d 79 53 68 69 | 65 6c 64 0d 09 4c 69 6e |2..MyShi|eld..Lin|
|00001710| 6b 09 41 36 2c 23 30 0d | 09 50 75 73 68 2e 4c 09 |k.A6,#0.|.Push.L.|
|00001720| 41 34 0d 09 4c 65 61 09 | 4c 6f 63 61 6c 44 61 74 |A4..Lea.|LocalDat|
|00001730| 61 2c 41 34 0d 09 4d 6f | 76 65 09 53 52 2c 53 68 |a,A4..Mo|ve.SR,Sh|
|00001740| 69 65 6c 64 53 52 28 41 | 34 29 09 09 09 3b 20 73 |ieldSR(A|4)...; s|
|00001750| 61 76 65 20 53 52 0d 09 | 4f 72 49 09 23 24 31 30 |ave SR..|OrI.#$10|
|00001760| 30 2c 53 52 0d 09 4d 6f | 76 65 2e 4c 09 76 61 6b |0,SR..Mo|ve.L.vak|
|00001770| 5f 31 28 41 36 29 2c 53 | 68 69 65 6c 64 52 65 74 |_1(A6),S|hieldRet|
|00001780| 75 72 6e 28 41 34 29 09 | 3b 20 73 61 76 65 20 72 |urn(A4).|; save r|
|00001790| 65 74 75 72 6e 20 61 64 | 64 72 65 73 73 0d 09 4d |eturn ad|dress..M|
|000017a0| 6f 76 65 2e 4c 09 70 61 | 72 61 6d 32 28 41 36 29 |ove.L.pa|ram2(A6)|
|000017b0| 2c 53 68 69 65 6c 64 52 | 65 63 74 28 41 34 29 09 |,ShieldR|ect(A4).|
|000017c0| 3b 20 73 61 76 65 20 72 | 65 63 74 61 6e 67 6c 65 |; save r|ectangle|
|000017d0| 0d 09 4d 6f 76 65 2e 4c | 09 70 61 72 61 6d 31 28 |..Move.L|.param1(|
|000017e0| 41 36 29 2c 53 68 69 65 | 6c 64 52 65 63 74 2b 34 |A6),Shie|ldRect+4|
|000017f0| 28 41 34 29 0d 09 50 6f | 70 2e 4c 09 41 34 09 09 |(A4)..Po|p.L.A4..|
|00001800| 3b 20 65 6e 64 20 75 73 | 65 20 6f 66 20 6c 6f 63 |; end us|e of loc|
|00001810| 61 6c 20 76 61 72 73 0d | 09 55 6e 4c 6b 09 41 36 |al vars.|.UnLk.A6|
|00001820| 0d 0d 09 41 64 64 51 2e | 4c 09 23 34 2c 41 37 09 |...AddQ.|L.#4,A7.|
|00001830| 09 3b 20 74 72 61 73 68 | 20 72 65 74 75 72 6e 20 |.; trash| return |
|00001840| 61 64 64 72 65 73 73 20 | 73 6f 20 53 68 69 65 6c |address |so Shiel|
|00001850| 64 43 75 72 73 6f 72 20 | 63 61 6e 20 77 6f 72 6b |dCursor |can work|
|00001860| 0d 0d 09 42 73 72 09 44 | 6f 4f 6c 64 53 68 69 65 |...Bsr.D|oOldShie|
|00001870| 6c 64 09 09 3b 20 73 68 | 69 65 6c 64 20 74 68 65 |ld..; sh|ield the|
|00001880| 20 63 75 72 73 6f 72 0d | 0d 09 4d 6f 76 65 4d 2e | cursor.|..MoveM.|
|00001890| 4c 09 44 30 2d 44 31 2f | 41 31 2d 41 34 2c 2d 28 |L.D0-D1/|A1-A4,-(|
|000018a0| 41 37 29 09 3b 20 73 61 | 76 65 20 72 65 67 73 0d |A7).; sa|ve regs.|
|000018b0| 09 4c 65 61 09 4c 6f 63 | 61 6c 44 61 74 61 2c 41 |.Lea.Loc|alData,A|
|000018c0| 34 0d 09 54 73 74 2e 4c | 09 28 41 34 29 09 09 09 |4..Tst.L|.(A4)...|
|000018d0| 3b 20 61 72 65 20 77 65 | 20 61 63 74 69 76 65 3f |; are we| active?|
|000018e0| 0d 09 42 65 71 09 40 32 | 09 09 09 3b 20 65 78 69 |..Beq.@2|...; exi|
|000018f0| 74 20 69 66 20 6e 6f 74 | 0d 0d 09 42 73 72 09 47 |t if not|...Bsr.G|
|00001900| 65 74 42 75 67 52 65 63 | 74 09 09 3b 20 67 65 74 |etBugRec|t..; get|
|00001910| 20 62 75 67 20 72 65 63 | 74 61 6e 67 6c 65 20 6f | bug rec|tangle o|
|00001920| 6e 20 73 74 61 63 6b 0d | 0d 09 4d 6f 76 65 09 28 |n stack.|..Move.(|
|00001930| 41 37 29 2c 44 30 09 09 | 09 3b 20 44 30 20 3d 20 |A7),D0..|.; D0 = |
|00001940| 62 75 67 20 62 6f 74 74 | 6f 6d 0d 09 43 6d 70 2e |bug bott|om..Cmp.|
|00001950| 57 09 53 68 69 65 6c 64 | 52 65 63 74 2b 34 28 41 |W.Shield|Rect+4(A|
|00001960| 34 29 2c 44 30 09 3b 20 | 63 6f 6d 70 61 72 65 20 |4),D0.; |compare |
|00001970| 74 6f 20 53 68 69 65 6c | 64 52 65 63 74 20 74 6f |to Shiel|dRect to|
|00001980| 70 0d 09 42 6c 65 09 40 | 31 09 09 09 3b 20 65 78 |p..Ble.@|1...; ex|
|00001990| 69 74 20 69 66 20 62 75 | 67 27 73 20 63 6c 65 61 |it if bu|g's clea|
|000019a0| 72 20 61 62 6f 76 65 0d | 0d 09 4d 6f 76 65 09 32 |r above.|..Move.2|
|000019b0| 28 41 37 29 2c 44 30 09 | 09 3b 20 44 30 20 3d 20 |(A7),D0.|.; D0 = |
|000019c0| 62 75 67 20 72 69 67 68 | 74 0d 09 43 6d 70 2e 57 |bug righ|t..Cmp.W|
|000019d0| 09 53 68 69 65 6c 64 52 | 65 63 74 2b 36 28 41 34 |.ShieldR|ect+6(A4|
|000019e0| 29 2c 44 30 09 3b 20 63 | 6f 6d 70 61 72 65 20 74 |),D0.; c|ompare t|
|000019f0| 6f 20 53 68 69 65 6c 64 | 52 65 63 74 20 6c 65 66 |o Shield|Rect lef|
|00001a00| 74 0d 09 42 6c 65 09 40 | 31 09 09 09 3b 20 65 78 |t..Ble.@|1...; ex|
|00001a10| 69 74 20 69 66 20 62 75 | 67 27 73 20 63 6c 65 61 |it if bu|g's clea|
|00001a20| 72 20 6c 65 66 74 0d 0d | 09 4d 6f 76 65 09 34 28 |r left..|.Move.4(|
|00001a30| 41 37 29 2c 44 30 09 09 | 3b 20 44 30 20 3d 20 62 |A7),D0..|; D0 = b|
|00001a40| 75 67 20 74 6f 70 0d 09 | 43 6d 70 2e 57 09 53 68 |ug top..|Cmp.W.Sh|
|00001a50| 69 65 6c 64 52 65 63 74 | 28 41 34 29 2c 44 30 09 |ieldRect|(A4),D0.|
|00001a60| 3b 20 63 6f 6d 70 61 72 | 65 20 74 6f 20 53 68 69 |; compar|e to Shi|
|00001a70| 65 6c 64 52 65 63 74 20 | 62 6f 74 74 6f 6d 0d 09 |eldRect |bottom..|
|00001a80| 42 67 65 09 40 31 09 09 | 09 3b 20 65 78 69 74 20 |Bge.@1..|.; exit |
|00001a90| 69 66 20 62 75 67 27 73 | 20 63 6c 65 61 72 20 62 |if bug's| clear b|
|00001aa0| 65 6c 6f 77 0d 0d 09 4d | 6f 76 65 09 36 28 41 37 |elow...M|ove.6(A7|
|00001ab0| 29 2c 44 30 09 09 3b 20 | 44 30 20 3d 20 62 75 67 |),D0..; |D0 = bug|
|00001ac0| 20 6c 65 66 74 0d 09 43 | 6d 70 2e 57 09 53 68 69 | left..C|mp.W.Shi|
|00001ad0| 65 6c 64 52 65 63 74 2b | 32 28 41 34 29 2c 44 30 |eldRect+|2(A4),D0|
|00001ae0| 09 3b 20 63 6f 6d 70 61 | 72 65 20 74 6f 20 53 68 |.; compa|re to Sh|
|00001af0| 69 65 6c 64 52 65 63 74 | 20 72 69 67 68 74 0d 09 |ieldRect| right..|
|00001b00| 42 67 65 09 40 31 09 09 | 09 3b 20 65 78 69 74 20 |Bge.@1..|.; exit |
|00001b10| 69 66 20 62 75 67 27 73 | 20 63 6c 65 61 72 20 72 |if bug's| clear r|
|00001b20| 69 67 68 74 0d 0d 09 3b | 20 42 75 67 27 73 20 69 |ight...;| Bug's i|
|00001b30| 6e 20 74 68 65 20 61 66 | 66 65 63 74 65 64 20 72 |n the af|fected r|
|00001b40| 65 63 74 61 6e 67 6c 65 | 0d 09 42 73 72 09 44 6f |ectangle|..Bsr.Do|
|00001b50| 4f 6c 64 48 69 64 65 09 | 09 3b 20 68 69 64 65 20 |OldHide.|.; hide |
|00001b60| 74 68 65 20 63 75 72 73 | 6f 72 0d 09 42 73 72 09 |the curs|or..Bsr.|
|00001b70| 50 61 69 6e 74 4f 76 65 | 72 42 75 67 09 09 3b 20 |PaintOve|rBug..; |
|00001b80| 72 65 73 74 6f 72 65 20 | 74 68 65 20 73 63 72 65 |restore |the scre|
|00001b90| 65 6e 0d 09 42 73 72 09 | 44 6f 4f 6c 64 53 68 6f |en..Bsr.|DoOldSho|
|00001ba0| 77 09 09 3b 20 72 65 73 | 74 6f 72 65 20 74 68 65 |w..; res|tore the|
|00001bb0| 20 63 75 72 73 6f 72 0d | 0d 40 31 09 41 64 64 51 | cursor.|.@1.AddQ|
|00001bc0| 2e 4c 09 23 38 2c 41 37 | 09 09 09 3b 20 72 65 6d |.L.#8,A7|...; rem|
|00001bd0| 6f 76 65 20 72 65 63 74 | 20 66 72 6f 6d 20 73 74 |ove rect| from st|
|00001be0| 61 63 6b 0d 40 32 09 4d | 6f 76 65 41 2e 4c 09 53 |ack.@2.M|oveA.L.S|
|00001bf0| 68 69 65 6c 64 52 65 74 | 75 72 6e 28 41 34 29 2c |hieldRet|urn(A4),|
|00001c00| 41 30 09 3b 20 41 30 20 | 3d 20 72 65 74 75 72 6e |A0.; A0 |= return|
|00001c10| 20 61 64 64 72 65 73 73 | 0d 09 4d 6f 76 65 09 53 | address|..Move.S|
|00001c20| 68 69 65 6c 64 53 52 28 | 41 34 29 2c 53 52 09 09 |hieldSR(|A4),SR..|
|00001c30| 3b 20 72 65 73 74 6f 72 | 65 20 53 52 0d 09 4d 6f |; restor|e SR..Mo|
|00001c40| 76 65 4d 2e 4c 09 28 41 | 37 29 2b 2c 44 30 2d 44 |veM.L.(A|7)+,D0-D|
|00001c50| 31 2f 41 31 2d 41 34 09 | 3b 20 72 65 73 74 6f 72 |1/A1-A4.|; restor|
|00001c60| 65 20 72 65 67 69 73 74 | 65 72 73 0d 09 4a 6d 70 |e regist|ers..Jmp|
|00001c70| 09 28 41 30 29 0d 0d 44 | 6f 4f 6c 64 53 68 69 65 |.(A0)..D|oOldShie|
|00001c80| 6c 64 0d 09 50 75 73 68 | 2e 4c 09 6f 6c 64 53 68 |ld..Push|.L.oldSh|
|00001c90| 69 65 6c 64 09 09 3b 20 | 63 61 6c 6c 20 6f 6c 64 |ield..; |call old|
|00001ca0| 20 53 68 69 65 6c 64 43 | 75 72 73 6f 72 0d 09 52 | ShieldC|ursor..R|
|00001cb0| 74 73 0d 0d 0d 3b 20 43 | 6f 6e 73 74 72 75 63 74 |ts...; C|onstruct|
|00001cc0| 20 74 68 65 20 52 65 63 | 74 20 66 6f 72 20 74 68 | the Rec|t for th|
|00001cd0| 65 20 62 75 67 27 73 20 | 63 75 72 72 65 6e 74 20 |e bug's |current |
|00001ce0| 6c 6f 63 61 74 69 6f 6e | 20 61 6e 64 20 72 65 74 |location| and ret|
|00001cf0| 75 72 6e 20 69 74 0d 3b | 20 6f 6e 20 74 68 65 20 |urn it.;| on the |
|00001d00| 73 74 61 63 6b 2c 20 6f | 66 20 61 6c 6c 20 70 6c |stack, o|f all pl|
|00001d10| 61 63 65 73 2e 0d 0d 47 | 65 74 42 75 67 52 65 63 |aces...G|etBugRec|
|00001d20| 74 0d 09 50 6f 70 2e 4c | 09 41 30 09 09 09 3b 20 |t..Pop.L|.A0...; |
|00001d30| 41 30 20 3d 20 72 65 74 | 75 72 6e 20 61 64 64 72 |A0 = ret|urn addr|
|00001d40| 65 73 73 0d 09 4d 6f 76 | 65 2e 4c 09 28 41 34 29 |ess..Mov|e.L.(A4)|
|00001d50| 2c 44 31 09 09 09 3b 20 | 44 31 20 3d 20 70 6c 61 |,D1...; |D1 = pla|
|00001d60| 63 65 20 74 6f 20 70 61 | 69 6e 74 20 73 63 72 65 |ce to pa|int scre|
|00001d70| 65 6e 0d 09 53 75 62 2e | 4c 09 4d 79 53 63 72 6e |en..Sub.|L.MyScrn|
|00001d80| 42 61 73 65 28 41 34 29 | 2c 44 31 09 3b 20 44 31 |Base(A4)|,D1.; D1|
|00001d90| 20 3d 20 73 63 72 65 65 | 6e 20 6f 66 66 73 65 74 | = scree|n offset|
|00001da0| 0d 09 44 69 76 55 09 4d | 79 53 63 72 6e 52 6f 77 |..DivU.M|yScrnRow|
|00001db0| 28 41 34 29 2c 44 31 09 | 3b 20 44 31 2e 57 20 3d |(A4),D1.|; D1.W =|
|00001dc0| 20 72 6f 77 3b 20 68 69 | 67 68 20 77 6f 72 64 20 | row; hi|gh word |
|00001dd0| 3d 20 63 6f 6c 75 6d 6e | 0d 09 4d 6f 76 65 09 44 |= column|..Move.D|
|00001de0| 31 2c 44 30 09 09 09 3b | 20 44 30 2e 57 20 3d 20 |1,D0...;| D0.W = |
|00001df0| 72 6f 77 0d 09 53 77 61 | 70 09 44 31 09 09 09 3b |row..Swa|p.D1...;|
|00001e00| 20 6c 6f 77 20 77 6f 72 | 64 20 3d 20 63 6f 6c 75 | low wor|d = colu|
|00001e10| 6d 6e 20 62 79 74 65 0d | 09 45 78 74 2e 4c 09 44 |mn byte.|.Ext.L.D|
|00001e20| 31 09 09 09 3b 20 44 31 | 20 3d 20 6c 65 66 74 20 |1...; D1| = left |
|00001e30| 65 64 67 65 2c 20 62 79 | 74 65 20 6f 66 66 73 65 |edge, by|te offse|
|00001e40| 74 0d 09 4c 53 4c 09 23 | 33 2c 44 31 09 09 09 3b |t..LSL.#|3,D1...;|
|00001e50| 20 44 31 20 3d 20 6c 65 | 66 74 20 65 64 67 65 2c | D1 = le|ft edge,|
|00001e60| 20 62 69 74 20 6f 66 66 | 73 65 74 0d 09 50 75 73 | bit off|set..Pus|
|00001e70| 68 09 44 31 09 09 09 3b | 20 70 75 73 68 20 66 6f |h.D1...;| push fo|
|00001e80| 72 20 63 61 6c 6c 65 72 | 0d 09 41 64 64 49 09 23 |r caller|..AddI.#|
|00001e90| 31 36 2c 44 31 09 09 09 | 3b 20 44 31 20 3d 20 72 |16,D1...|; D1 = r|
|00001ea0| 69 67 68 74 20 65 64 67 | 65 2c 20 62 69 74 20 6f |ight edg|e, bit o|
|00001eb0| 66 66 73 65 74 0d 0d 09 | 45 78 74 2e 4c 09 44 30 |ffset...|Ext.L.D0|
|00001ec0| 09 09 09 3b 20 44 30 20 | 3d 20 74 6f 70 20 65 64 |...; D0 |= top ed|
|00001ed0| 67 65 2c 20 72 6f 77 20 | 6e 75 6d 62 65 72 0d 09 |ge, row |number..|
|00001ee0| 50 75 73 68 09 44 30 09 | 09 09 3b 20 70 75 73 68 |Push.D0.|..; push|
|00001ef0| 20 66 6f 72 20 63 61 6c | 6c 65 72 0d 09 41 64 64 | for cal|ler..Add|
|00001f00| 49 09 23 31 36 2c 44 30 | 09 09 09 3b 20 44 30 2e |I.#16,D0|...; D0.|
|00001f10| 4c 20 3d 20 62 6f 74 74 | 6f 6d 20 65 64 67 65 2c |L = bott|om edge,|
|00001f20| 20 72 6f 77 20 23 0d 09 | 50 75 73 68 09 44 31 09 | row #..|Push.D1.|
|00001f30| 09 09 3b 20 70 75 73 68 | 20 72 69 67 68 74 20 65 |..; push| right e|
|00001f40| 64 67 65 0d 09 50 75 73 | 68 09 44 30 09 09 09 3b |dge..Pus|h.D0...;|
|00001f50| 20 70 75 73 68 20 62 6f | 74 74 6f 6d 20 65 64 67 | push bo|ttom edg|
|00001f60| 65 0d 09 4a 6d 70 09 28 | 41 30 29 09 09 09 3b 20 |e..Jmp.(|A0)...; |
|00001f70| 72 65 74 75 72 6e 20 77 | 69 74 68 20 52 65 63 74 |return w|ith Rect|
|00001f80| 20 6f 6e 20 73 74 61 63 | 6b 0d 0d 0d 3b 20 50 69 | on stac|k...; Pi|
|00001f90| 63 6b 20 61 20 73 74 61 | 72 74 69 6e 67 20 6c 6f |ck a sta|rting lo|
|00001fa0| 63 61 74 69 6f 6e 20 66 | 6f 72 20 74 68 65 20 62 |cation f|or the b|
|00001fb0| 75 67 20 61 6e 64 20 72 | 65 73 65 74 20 74 68 65 |ug and r|eset the|
|00001fc0| 20 62 75 67 20 67 65 6e | 65 72 61 74 69 6f 6e 2e | bug gen|eration.|
|00001fd0| 0d 0d 52 65 73 65 74 42 | 75 67 0d 09 43 6c 72 09 |..ResetB|ug..Clr.|
|00001fe0| 2d 28 41 37 29 09 09 09 | 3b 20 66 6f 72 20 72 61 |-(A7)...|; for ra|
|00001ff0| 6e 64 6f 6d 20 6e 75 6d | 62 65 72 0d 09 5f 52 61 |ndom num|ber.._Ra|
|00002000| 6e 64 6f 6d 20 3b 20 3a | 49 4e 54 45 47 45 52 0d |ndom ; :|INTEGER.|
|00002010| 09 43 6c 72 2e 4c 09 44 | 30 09 09 09 3b 20 63 6c |.Clr.L.D|0...; cl|
|00002020| 65 61 72 20 68 69 67 68 | 20 77 6f 72 64 0d 09 50 |ear high| word..P|
|00002030| 6f 70 09 44 30 09 09 09 | 3b 20 44 30 2e 57 20 3d |op.D0...|; D0.W =|
|00002040| 20 72 61 6e 64 6f 6d 20 | 6e 75 6d 62 65 72 0d 09 | random |number..|
|00002050| 44 69 76 55 09 4d 79 53 | 63 72 6e 52 6f 77 28 41 |DivU.MyS|crnRow(A|
|00002060| 34 29 2c 44 30 09 3b 20 | 70 69 63 6b 20 72 61 6e |4),D0.; |pick ran|
|00002070| 64 6f 6d 20 63 6f 6c 75 | 6d 6e 0d 09 53 77 61 70 |dom colu|mn..Swap|
|00002080| 09 44 30 09 09 09 3b 20 | 44 30 2e 57 20 3d 20 73 |.D0...; |D0.W = s|
|00002090| 6f 6d 65 20 72 61 6e 64 | 6f 6d 20 63 6f 6c 75 6d |ome rand|om colum|
|000020a0| 6e 0d 09 42 43 6c 72 09 | 23 30 2c 44 30 09 09 09 |n..BClr.|#0,D0...|
|000020b0| 3b 20 66 6f 72 63 65 20 | 77 6f 72 64 20 61 6c 69 |; force |word ali|
|000020c0| 67 6e 6d 65 6e 74 0d 09 | 45 78 74 2e 4c 09 44 30 |gnment..|Ext.L.D0|
|000020d0| 0d 09 41 64 64 2e 4c 09 | 4d 79 53 63 72 6e 42 61 |..Add.L.|MyScrnBa|
|000020e0| 73 65 28 41 34 29 2c 44 | 30 09 3b 20 61 64 64 20 |se(A4),D|0.; add |
|000020f0| 73 74 61 72 74 20 6f 66 | 20 73 63 72 65 65 6e 0d |start of| screen.|
|00002100| 09 4d 6f 76 65 2e 57 09 | 4d 79 53 63 72 6e 52 65 |.Move.W.|MyScrnRe|
|00002110| 63 74 2b 62 6f 74 52 69 | 67 68 74 28 41 34 29 2c |ct+botRi|ght(A4),|
|00002120| 44 31 09 3b 20 64 65 70 | 74 68 20 6f 66 20 73 63 |D1.; dep|th of sc|
|00002130| 72 65 65 6e 0d 09 53 75 | 62 2e 57 09 23 31 36 2c |reen..Su|b.W.#16,|
|00002140| 44 31 09 09 09 3b 20 6c | 65 73 73 20 68 65 69 67 |D1...; l|ess heig|
|00002150| 68 74 20 6f 66 20 62 75 | 67 0d 09 4d 75 6c 55 09 |ht of bu|g..MulU.|
|00002160| 4d 79 53 63 72 6e 52 6f | 77 28 41 34 29 2c 44 31 |MyScrnRo|w(A4),D1|
|00002170| 09 3b 20 6f 66 66 73 65 | 74 20 74 68 61 74 20 6d |.; offse|t that m|
|00002180| 61 6e 79 20 62 79 74 65 | 73 0d 09 41 64 64 2e 4c |any byte|s..Add.L|
|00002190| 09 44 31 2c 44 30 09 09 | 09 3b 20 73 63 72 65 65 |.D1,D0..|.; scree|
|000021a0| 6e 20 2b 20 6c 69 6e 65 | 73 0d 09 4d 6f 76 65 2e |n + line|s..Move.|
|000021b0| 4c 09 44 30 2c 28 41 34 | 29 09 09 09 3b 20 73 61 |L.D0,(A4|)...; sa|
|000021c0| 76 65 20 61 73 20 70 6c | 61 63 65 20 74 6f 20 70 |ve as pl|ace to p|
|000021d0| 61 69 6e 74 0d 09 43 6c | 72 09 47 65 6e 65 72 61 |aint..Cl|r.Genera|
|000021e0| 74 69 6f 6e 28 41 34 29 | 09 09 3b 20 73 74 61 72 |tion(A4)|..; star|
|000021f0| 74 20 61 74 20 66 69 72 | 73 74 20 67 65 6e 65 72 |t at fir|st gener|
|00002200| 61 74 69 6f 6e 0d 09 52 | 74 73 0d 0d 0d 3b 20 53 |ation..R|ts...; S|
|00002210| 61 76 65 20 74 68 65 20 | 73 63 72 65 65 6e 20 69 |ave the |screen i|
|00002220| 6d 61 67 65 20 77 68 69 | 63 68 20 77 6f 75 6c 64 |mage whi|ch would|
|00002230| 20 62 65 20 63 6f 76 65 | 72 65 64 20 62 79 20 74 | be cove|red by t|
|00002240| 68 65 20 62 75 67 2e 0d | 0d 53 61 76 65 55 6e 64 |he bug..|.SaveUnd|
|00002250| 65 72 42 75 67 0d 09 4c | 65 61 09 53 63 72 65 65 |erBug..L|ea.Scree|
|00002260| 6e 44 61 74 61 28 41 34 | 29 2c 41 30 09 3b 20 41 |nData(A4|),A0.; A|
|00002270| 30 20 3d 20 70 6f 69 6e | 74 65 72 20 74 6f 20 73 |0 = poin|ter to s|
|00002280| 63 72 65 65 6e 20 64 61 | 74 61 20 61 72 65 61 0d |creen da|ta area.|
|00002290| 09 4d 6f 76 65 41 2e 4c | 09 28 41 34 29 2c 41 31 |.MoveA.L|.(A4),A1|
|000022a0| 09 09 09 3b 20 41 31 20 | 3d 20 70 6c 61 63 65 20 |...; A1 |= place |
|000022b0| 74 6f 20 70 61 69 6e 74 | 20 62 75 67 0d 0d 09 4d |to paint| bug...M|
|000022c0| 6f 76 65 09 23 42 75 67 | 48 65 69 67 68 74 2d 31 |ove.#Bug|Height-1|
|000022d0| 2c 44 31 0d 40 31 09 4d | 6f 76 65 09 28 41 31 29 |,D1.@1.M|ove.(A1)|
|000022e0| 2c 28 41 30 29 2b 09 09 | 3b 20 73 61 76 65 20 61 |,(A0)+..|; save a|
|000022f0| 20 6c 6f 6e 67 0d 09 41 | 64 64 41 2e 57 09 4d 79 | long..A|ddA.W.My|
|00002300| 53 63 72 6e 52 6f 77 28 | 41 34 29 2c 41 31 09 3b |ScrnRow(|A4),A1.;|
|00002310| 20 6e 65 78 74 20 72 6f | 77 0d 09 44 42 72 61 09 | next ro|w..DBra.|
|00002320| 44 31 2c 40 31 09 09 09 | 3b 20 61 6c 6c 20 74 68 |D1,@1...|; all th|
|00002330| 65 20 72 6f 77 73 0d 09 | 52 74 73 0d 0d 0d 3b 20 |e rows..|Rts...; |
|00002340| 44 72 61 77 20 74 68 65 | 20 62 75 67 20 69 66 20 |Draw the| bug if |
|00002350| 74 68 65 20 63 75 72 73 | 6f 72 20 69 73 20 6e 6f |the curs|or is no|
|00002360| 74 20 6f 62 73 63 75 72 | 65 64 2e 0d 0d 44 72 61 |t obscur|ed...Dra|
|00002370| 77 42 75 67 50 6c 75 73 | 0d 09 54 73 74 2e 42 09 |wBugPlus|..Tst.B.|
|00002380| 44 37 09 09 09 3b 20 63 | 75 72 73 6f 72 20 6f 62 |D7...; c|ursor ob|
|00002390| 73 63 75 72 65 3f 20 28 | 6f 62 73 63 75 72 65 20 |scure? (|obscure |
|000023a0| 3d 20 2d 31 29 0d 09 42 | 70 6c 09 44 72 61 77 42 |= -1)..B|pl.DrawB|
|000023b0| 75 67 09 09 09 3b 20 62 | 72 61 6e 63 68 20 69 66 |ug...; b|ranch if|
|000023c0| 20 76 69 73 69 62 6c 65 | 20 6f 72 20 6e 65 73 74 | visible| or nest|
|000023d0| 65 64 0d 09 52 74 73 09 | 09 09 09 3b 20 65 78 69 |ed..Rts.|...; exi|
|000023e0| 74 20 69 66 20 6f 62 73 | 63 75 72 65 0d 0d 3b 20 |t if obs|cure..; |
|000023f0| 44 72 61 77 20 74 68 65 | 20 62 75 67 20 69 66 20 |Draw the| bug if |
|00002400| 69 74 27 73 20 6e 6f 74 | 20 64 72 61 77 6e 20 61 |it's not| drawn a|
|00002410| 6c 72 65 61 64 79 2e 0d | 3b 20 28 50 72 65 76 69 |lready..|; (Previ|
|00002420| 6f 75 73 6c 79 20 73 61 | 76 65 64 20 73 63 72 65 |ously sa|ved scre|
|00002430| 65 6e 20 64 61 74 61 20 | 6d 65 61 6e 73 20 74 68 |en data |means th|
|00002440| 65 20 62 75 67 20 69 73 | 20 6f 75 74 20 74 68 65 |e bug is| out the|
|00002450| 72 65 2e 29 0d 0d 44 72 | 61 77 42 75 67 0d 09 42 |re.)..Dr|awBug..B|
|00002460| 53 65 74 2e 42 09 23 30 | 2c 53 61 76 65 64 28 41 |Set.B.#0|,Saved(A|
|00002470| 34 29 09 09 3b 20 73 61 | 76 65 64 20 73 63 72 65 |4)..; sa|ved scre|
|00002480| 65 6e 20 64 61 74 61 3f | 0d 09 42 6e 65 09 40 32 |en data?|..Bne.@2|
|00002490| 09 09 09 3b 20 65 78 69 | 74 20 69 66 20 61 6c 72 |...; exi|t if alr|
|000024a0| 65 61 64 79 20 73 61 76 | 65 64 0d 0d 09 42 73 72 |eady sav|ed...Bsr|
|000024b0| 09 53 61 76 65 55 6e 64 | 65 72 42 75 67 09 09 3b |.SaveUnd|erBug..;|
|000024c0| 20 73 61 76 65 20 73 63 | 72 65 65 6e 20 64 61 74 | save sc|reen dat|
|000024d0| 61 0d 0d 09 4c 65 61 09 | 42 75 67 49 6d 61 67 65 |a...Lea.|BugImage|
|000024e0| 73 2c 41 30 0d 09 4c 65 | 61 09 42 75 67 4d 61 73 |s,A0..Le|a.BugMas|
|000024f0| 6b 73 2c 41 32 0d 09 4d | 6f 76 65 09 47 65 6e 65 |ks,A2..M|ove.Gene|
|00002500| 72 61 74 69 6f 6e 28 41 | 34 29 2c 44 30 09 3b 20 |ration(A|4),D0.; |
|00002510| 44 30 2e 57 20 3d 20 62 | 75 67 20 67 65 6e 65 72 |D0.W = b|ug gener|
|00002520| 61 74 69 6f 6e 0d 09 45 | 78 74 2e 4c 09 44 30 09 |ation..E|xt.L.D0.|
|00002530| 09 09 3b 20 44 30 2e 4c | 20 3d 20 64 69 74 74 6f |..; D0.L| = ditto|
|00002540| 0d 09 41 53 4c 09 23 35 | 2c 44 30 09 09 09 3b 20 |..ASL.#5|,D0...; |
|00002550| 67 65 6e 65 72 61 74 69 | 6f 6e 20 2a 20 33 32 0d |generati|on * 32.|
|00002560| 09 41 64 64 41 2e 4c 09 | 44 30 2c 41 30 09 09 09 |.AddA.L.|D0,A0...|
|00002570| 3b 20 6f 66 66 73 65 74 | 20 69 6e 74 6f 20 62 75 |; offset| into bu|
|00002580| 67 20 69 6d 61 67 65 73 | 0d 09 41 64 64 41 2e 4c |g images|..AddA.L|
|00002590| 09 44 30 2c 41 32 09 09 | 09 3b 20 6f 66 66 73 65 |.D0,A2..|.; offse|
|000025a0| 74 20 69 6e 74 6f 20 62 | 75 67 20 6d 61 73 6b 73 |t into b|ug masks|
|000025b0| 0d 09 4d 6f 76 65 41 2e | 4c 09 28 41 34 29 2c 41 |..MoveA.|L.(A4),A|
|000025c0| 31 09 09 09 3b 20 41 31 | 20 3d 20 70 6c 61 63 65 |1...; A1| = place|
|000025d0| 20 74 6f 20 70 61 69 6e | 74 0d 0d 09 4d 6f 76 65 | to pain|t...Move|
|000025e0| 09 23 42 75 67 48 65 69 | 67 68 74 2d 31 2c 44 31 |.#BugHei|ght-1,D1|
|000025f0| 0d 40 31 09 4d 6f 76 65 | 09 28 41 32 29 2b 2c 44 |.@1.Move|.(A2)+,D|
|00002600| 30 09 09 3b 20 66 65 74 | 63 68 20 6d 61 73 6b 0d |0..; fet|ch mask.|
|00002610| 09 4e 6f 74 09 44 30 0d | 09 41 6e 64 09 44 30 2c |.Not.D0.|.And.D0,|
|00002620| 28 41 31 29 0d 09 4d 6f | 76 65 09 28 41 30 29 2b |(A1)..Mo|ve.(A0)+|
|00002630| 2c 44 30 09 09 3b 20 66 | 65 74 63 68 20 69 6d 61 |,D0..; f|etch ima|
|00002640| 67 65 0d 09 45 6f 72 09 | 44 30 2c 28 41 31 29 0d |ge..Eor.|D0,(A1).|
|00002650| 09 41 64 64 41 2e 57 09 | 4d 79 53 63 72 6e 52 6f |.AddA.W.|MyScrnRo|
|00002660| 77 28 41 34 29 2c 41 31 | 09 3b 20 6e 65 78 74 20 |w(A4),A1|.; next |
|00002670| 72 6f 77 0d 09 44 42 72 | 61 09 44 31 2c 40 31 0d |row..DBr|a.D1,@1.|
|00002680| 40 32 09 52 74 73 0d 0d | 0d 3b 20 52 65 73 74 6f |@2.Rts..|.; Resto|
|00002690| 72 65 20 74 68 65 20 73 | 63 72 65 65 6e 20 64 61 |re the s|creen da|
|000026a0| 74 61 20 74 68 61 74 20 | 74 68 65 20 62 75 67 20 |ta that |the bug |
|000026b0| 73 74 65 70 70 65 64 20 | 6f 6e 2e 0d 0d 50 61 69 |stepped |on...Pai|
|000026c0| 6e 74 4f 76 65 72 42 75 | 67 0d 09 42 43 6c 72 2e |ntOverBu|g..BClr.|
|000026d0| 42 09 23 30 2c 53 61 76 | 65 64 28 41 34 29 09 09 |B.#0,Sav|ed(A4)..|
|000026e0| 3b 20 53 63 72 65 65 6e | 20 73 61 76 65 64 20 62 |; Screen| saved b|
|000026f0| 65 66 6f 72 65 3f 20 28 | 49 74 27 73 20 6e 6f 74 |efore? (|It's not|
|00002700| 20 6e 6f 77 2e 29 0d 09 | 42 65 71 09 40 32 09 09 | now.)..|Beq.@2..|
|00002710| 09 3b 20 65 78 69 74 20 | 69 66 20 6e 6f 20 73 63 |.; exit |if no sc|
|00002720| 72 65 65 6e 20 64 61 74 | 61 0d 0d 09 4c 65 61 09 |reen dat|a...Lea.|
|00002730| 53 63 72 65 65 6e 44 61 | 74 61 28 41 34 29 2c 41 |ScreenDa|ta(A4),A|
|00002740| 30 09 3b 20 41 30 20 3d | 20 70 6f 69 6e 74 65 72 |0.; A0 =| pointer|
|00002750| 20 74 6f 20 73 61 76 65 | 64 20 73 63 72 65 65 6e | to save|d screen|
|00002760| 20 64 61 74 61 0d 09 4d | 6f 76 65 41 2e 4c 09 28 | data..M|oveA.L.(|
|00002770| 41 34 29 2c 41 31 09 09 | 09 3b 20 41 31 20 3d 20 |A4),A1..|.; A1 = |
|00002780| 70 6c 61 63 65 20 74 6f | 20 73 74 61 72 74 20 70 |place to| start p|
|00002790| 61 69 6e 74 69 6e 67 20 | 6f 6e 20 73 63 72 65 65 |ainting |on scree|
|000027a0| 6e 0d 0d 09 4d 6f 76 65 | 09 23 42 75 67 48 65 69 |n...Move|.#BugHei|
|000027b0| 67 68 74 2d 31 2c 44 31 | 0d 40 31 09 4d 6f 76 65 |ght-1,D1|.@1.Move|
|000027c0| 09 28 41 30 29 2b 2c 28 | 41 31 29 09 09 3b 20 63 |.(A0)+,(|A1)..; c|
|000027d0| 6f 70 79 20 61 20 77 6f | 72 64 0d 09 41 64 64 41 |opy a wo|rd..AddA|
|000027e0| 2e 57 09 4d 79 53 63 72 | 6e 52 6f 77 28 41 34 29 |.W.MyScr|nRow(A4)|
|000027f0| 2c 41 31 09 3b 20 73 6b | 69 70 20 74 6f 20 6e 65 |,A1.; sk|ip to ne|
|00002800| 78 74 20 72 6f 77 0d 09 | 44 42 72 61 09 44 31 2c |xt row..|DBra.D1,|
|00002810| 40 31 09 09 09 3b 20 61 | 6e 64 20 63 6f 70 79 20 |@1...; a|nd copy |
|00002820| 74 68 65 6d 20 61 6c 6c | 0d 40 32 09 52 74 73 0d |them all|.@2.Rts.|
|00002830| 0d 0d 3b 20 48 65 72 65 | 27 73 20 74 68 65 20 61 |..; Here|'s the a|
|00002840| 63 74 75 61 6c 20 62 75 | 67 20 64 61 74 61 2e 0d |ctual bu|g data..|
|00002850| 3b 20 46 69 72 73 74 20 | 61 72 65 20 74 68 65 20 |; First |are the |
|00002860| 62 75 67 20 69 6d 61 67 | 65 73 2c 20 74 68 65 6e |bug imag|es, then|
|00002870| 20 74 68 65 20 62 75 67 | 20 6d 61 73 6b 73 2e 0d | the bug| masks..|
|00002880| 3b 20 54 68 65 72 65 20 | 61 72 65 20 73 69 78 20 |; There |are six |
|00002890| 73 65 74 73 20 6f 66 20 | 64 61 74 61 20 66 6f 72 |sets of |data for|
|000028a0| 20 73 69 78 20 62 75 67 | 20 67 65 6e 65 72 61 74 | six bug| generat|
|000028b0| 69 6f 6e 73 2e 0d 42 75 | 67 49 6d 61 67 65 73 0d |ions..Bu|gImages.|
|000028c0| 09 44 43 2e 4c 09 24 30 | 30 31 30 32 30 31 30 2c |.DC.L.$0|0102010,|
|000028d0| 24 31 31 41 30 30 45 34 | 30 2c 24 30 32 34 30 30 |$11A00E4|0,$02400|
|000028e0| 31 38 31 2c 24 38 36 36 | 32 37 38 31 43 0d 09 44 |181,$866|2781C..D|
|000028f0| 43 2e 4c 09 24 30 38 31 | 30 30 38 31 31 2c 24 37 |C.L.$081|00811,$7|
|00002900| 38 31 45 38 38 31 30 2c | 24 30 38 31 30 33 38 31 |81E8810,|$0810381|
|00002910| 45 2c 24 34 34 32 31 38 | 33 43 30 0d 0d 09 44 43 |E,$44218|3C0...DC|
|00002920| 2e 4c 09 24 32 30 30 34 | 31 30 30 38 2c 24 30 39 |.L.$2004|1008,$09|
|00002930| 39 30 30 36 36 30 2c 24 | 30 32 34 30 30 31 38 30 |900660,$|02400180|
|00002940| 2c 24 30 36 36 31 37 38 | 31 45 0d 09 44 43 2e 4c |,$066178|1E..DC.L|
|00002950| 09 24 38 38 31 30 38 38 | 31 30 2c 24 37 38 31 45 |.$881088|10,$781E|
|00002960| 30 38 31 31 2c 24 38 38 | 31 30 37 38 31 43 2c 24 |0811,$88|10781C,$|
|00002970| 30 34 32 32 30 33 43 31 | 0d 0d 09 44 43 2e 4c 09 |042203C1|...DC.L.|
|00002980| 24 30 38 30 30 30 38 30 | 34 2c 24 30 35 38 38 30 |$0800080|4,$05880|
|00002990| 32 37 30 2c 24 30 32 34 | 30 38 31 38 30 2c 24 34 |270,$024|08180,$4|
|000029a0| 36 36 30 33 38 31 45 0d | 09 44 43 2e 4c 09 24 30 |660381E.|.DC.L.$0|
|000029b0| 38 31 31 30 38 31 31 2c | 24 37 38 31 45 38 38 31 |8110811,|$781E881|
|000029c0| 30 2c 24 30 38 31 31 37 | 38 31 45 2c 24 38 34 32 |0,$08117|81E,$842|
|000029d0| 30 30 33 43 30 0d 0d 09 | 44 43 2e 4c 09 24 32 30 |003C0...|DC.L.$20|
|000029e0| 30 30 31 30 30 30 2c 24 | 30 39 38 30 30 36 37 38 |001000,$|09800678|
|000029f0| 2c 24 30 32 34 34 30 31 | 38 31 2c 24 38 36 36 32 |,$024401|81,$8662|
|00002a00| 37 38 31 43 0d 09 44 43 | 2e 4c 09 24 30 38 31 30 |781C..DC|.L.$0810|
|00002a10| 38 38 31 30 2c 24 37 38 | 31 45 30 38 31 31 2c 24 |8810,$78|1E0811,$|
|00002a20| 30 38 31 30 33 38 31 45 | 2c 24 34 34 32 31 38 33 |0810381E|,$442183|
|00002a30| 43 30 0d 0d 09 44 43 2e | 4c 09 24 30 30 30 30 32 |C0...DC.|L.$00002|
|00002a40| 30 30 34 2c 24 31 31 38 | 38 30 45 37 30 2c 24 30 |004,$118|80E70,$0|
|00002a50| 32 34 30 30 31 38 30 2c | 24 30 36 36 31 37 38 31 |2400180,|$0661781|
|00002a60| 45 0d 09 44 43 2e 4c 09 | 24 38 38 31 30 30 38 31 |E..DC.L.|$8810081|
|00002a70| 31 2c 24 37 38 31 45 38 | 38 31 30 2c 24 38 38 31 |1,$781E8|810,$881|
|00002a80| 30 37 38 31 43 2c 24 30 | 34 32 32 30 33 43 31 0d |0781C,$0|42203C1.|
|00002a90| 0d 09 44 43 2e 4c 09 24 | 30 30 30 34 30 30 30 38 |..DC.L.$|00040008|
|00002aa0| 2c 24 30 31 39 30 31 45 | 36 30 2c 24 32 32 34 30 |,$01901E|60,$2240|
|00002ab0| 38 31 38 30 2c 24 34 36 | 36 30 33 38 31 45 0d 09 |8180,$46|60381E..|
|00002ac0| 44 43 2e 4c 09 24 30 38 | 31 31 38 38 31 30 2c 24 |DC.L.$08|118810,$|
|00002ad0| 37 38 31 45 30 38 31 31 | 2c 24 30 38 31 31 37 38 |781E0811|,$081178|
|00002ae0| 31 45 2c 24 38 34 32 30 | 30 33 43 30 0d 0d 42 75 |1E,$8420|03C0..Bu|
|00002af0| 67 4d 61 73 6b 73 0d 09 | 44 43 2e 4c 09 24 30 30 |gMasks..|DC.L.$00|
|00002b00| 31 30 32 30 31 30 2c 24 | 31 31 41 30 30 46 43 30 |102010,$|11A00FC0|
|00002b10| 2c 24 30 33 43 30 30 31 | 38 31 2c 24 38 37 45 32 |,$03C001|81,$87E2|
|00002b20| 37 46 46 43 0d 09 44 43 | 2e 4c 09 24 30 46 46 30 |7FFC..DC|.L.$0FF0|
|00002b30| 30 46 46 31 2c 24 37 46 | 46 45 38 46 46 30 2c 24 |0FF1,$7F|FE8FF0,$|
|00002b40| 30 46 46 30 33 46 46 45 | 2c 24 34 37 45 31 38 33 |0FF03FFE|,$47E183|
|00002b50| 43 30 0d 0d 09 44 43 2e | 4c 09 24 32 30 30 34 31 |C0...DC.|L.$20041|
|00002b60| 30 30 38 2c 24 30 39 39 | 30 30 37 45 30 2c 24 30 |008,$099|007E0,$0|
|00002b70| 33 43 30 30 31 38 30 2c | 24 30 37 45 31 37 46 46 |3C00180,|$07E17FF|
|00002b80| 45 0d 09 44 43 2e 4c 09 | 24 38 46 46 30 38 46 46 |E..DC.L.|$8FF08FF|
|00002b90| 30 2c 24 37 46 46 45 30 | 46 46 31 2c 24 38 46 46 |0,$7FFE0|FF1,$8FF|
|00002ba0| 30 37 46 46 43 2c 24 30 | 37 45 32 30 33 43 31 0d |07FFC,$0|7E203C1.|
|00002bb0| 0d 09 44 43 2e 4c 09 24 | 30 38 30 30 30 38 30 34 |..DC.L.$|08000804|
|00002bc0| 2c 24 30 35 38 38 30 33 | 46 30 2c 24 30 33 43 30 |,$058803|F0,$03C0|
|00002bd0| 38 31 38 30 2c 24 34 37 | 45 30 33 46 46 45 0d 09 |8180,$47|E03FFE..|
|00002be0| 44 43 2e 4c 09 24 30 46 | 46 31 30 46 46 31 2c 24 |DC.L.$0F|F10FF1,$|
|00002bf0| 37 46 46 45 38 46 46 30 | 2c 24 30 46 46 31 37 46 |7FFE8FF0|,$0FF17F|
|00002c00| 46 45 2c 24 38 37 45 30 | 30 33 43 30 0d 0d 09 44 |FE,$87E0|03C0...D|
|00002c10| 43 2e 4c 09 24 32 30 30 | 30 31 30 30 30 2c 24 30 |C.L.$200|01000,$0|
|00002c20| 39 38 30 30 37 46 38 2c | 24 30 33 43 34 30 31 38 |98007F8,|$03C4018|
|00002c30| 31 2c 24 38 37 45 32 37 | 46 46 43 0d 09 44 43 2e |1,$87E27|FFC..DC.|
|00002c40| 4c 09 24 30 46 46 30 38 | 46 46 30 2c 24 37 46 46 |L.$0FF08|FF0,$7FF|
|00002c50| 45 30 46 46 31 2c 24 30 | 46 46 30 33 46 46 45 2c |E0FF1,$0|FF03FFE,|
|00002c60| 24 34 37 45 31 38 33 43 | 30 0d 0d 09 44 43 2e 4c |$47E183C|0...DC.L|
|00002c70| 09 24 30 30 30 30 32 30 | 30 34 2c 24 31 31 38 38 |.$000020|04,$1188|
|00002c80| 30 46 46 30 2c 24 30 33 | 43 30 30 31 38 30 2c 24 |0FF0,$03|C00180,$|
|00002c90| 30 37 45 31 37 46 46 45 | 0d 09 44 43 2e 4c 09 24 |07E17FFE|..DC.L.$|
|00002ca0| 38 46 46 30 30 46 46 31 | 2c 24 37 46 46 45 38 46 |8FF00FF1|,$7FFE8F|
|00002cb0| 46 30 2c 24 38 46 46 30 | 37 46 46 43 2c 24 30 37 |F0,$8FF0|7FFC,$07|
|00002cc0| 45 32 30 33 43 31 0d 0d | 09 44 43 2e 4c 09 24 30 |E203C1..|.DC.L.$0|
|00002cd0| 30 30 34 30 30 30 38 2c | 24 30 31 39 30 31 46 45 |0040008,|$01901FE|
|00002ce0| 30 2c 24 32 33 43 30 38 | 31 38 30 2c 24 34 37 45 |0,$23C08|180,$47E|
|00002cf0| 30 33 46 46 45 0d 09 44 | 43 2e 4c 09 24 30 46 46 |03FFE..D|C.L.$0FF|
|00002d00| 31 38 46 46 30 2c 24 37 | 46 46 45 30 46 46 31 2c |18FF0,$7|FFE0FF1,|
|00002d10| 24 30 46 46 31 37 46 46 | 45 2c 24 38 37 45 30 30 |$0FF17FF|E,$87E00|
|00002d20| 33 43 30 0d 0d 53 74 61 | 74 69 63 53 69 7a 65 09 |3C0..Sta|ticSize.|
|00002d30| 65 71 75 09 2a 2d 4d 79 | 56 42 4c 50 72 6f 63 09 |equ.*-My|VBLProc.|
|00002d40| 3b 20 73 69 7a 65 20 6f | 66 20 6e 6f 6e 2d 76 61 |; size o|f non-va|
|00002d50| 72 69 61 62 6c 65 20 73 | 74 75 66 66 0d 46 75 6c |riable s|tuff.Ful|
|00002d60| 6c 53 69 7a 65 09 65 71 | 75 09 2a 2d 42 75 67 42 |lSize.eq|u.*-BugB|
|00002d70| 61 73 65 09 3b 20 73 69 | 7a 65 20 6f 66 20 65 76 |ase.; si|ze of ev|
|00002d80| 65 72 79 74 68 69 6e 67 | 0d 0d 3b 20 4f 70 65 6e |erything|..; Open|
|00002d90| 3a 20 49 6e 73 74 61 6c | 6c 20 74 68 65 20 62 75 |: Instal|l the bu|
|00002da0| 67 20 69 6e 20 74 68 65 | 20 73 79 73 74 65 6d 20 |g in the| system |
|00002db0| 68 65 61 70 2c 20 68 6f | 6f 6b 20 69 74 20 69 6e |heap, ho|ok it in|
|00002dc0| 74 6f 20 74 68 65 20 63 | 75 72 73 6f 72 0d 3b 09 |to the c|ursor.;.|
|00002dd0| 72 6f 75 74 69 6e 65 73 | 2c 20 61 6e 64 20 70 75 |routines|, and pu|
|00002de0| 74 20 69 74 20 69 6e 20 | 74 68 65 20 56 42 4c 20 |t it in |the VBL |
|00002df0| 71 75 65 75 65 2e 0d 0d | 4f 70 65 6e 09 4d 6f 76 |queue...|Open.Mov|
|00002e00| 65 4d 2e 4c 09 41 33 2d | 41 35 2f 44 37 2c 2d 28 |eM.L.A3-|A5/D7,-(|
|00002e10| 41 37 29 09 09 3b 20 73 | 61 76 65 20 72 65 67 69 |A7)..; s|ave regi|
|00002e20| 73 74 65 72 73 0d 09 4d | 6f 76 65 2e 4c 09 43 75 |sters..M|ove.L.Cu|
|00002e30| 72 72 65 6e 74 41 35 2c | 41 35 09 09 3b 20 6d 61 |rrentA5,|A5..; ma|
|00002e40| 6b 65 20 73 75 72 65 20 | 41 35 20 69 73 20 4f 4b |ke sure |A5 is OK|
|00002e50| 0d 0d 09 3b 20 57 68 79 | 20 61 72 65 20 77 65 20 |...; Why| are we |
|00002e60| 68 65 72 65 3f 0d 09 4c | 69 6e 6b 09 41 36 2c 23 |here?..L|ink.A6,#|
|00002e70| 2d 65 76 74 42 6c 6b 53 | 69 7a 65 09 09 3b 20 73 |-evtBlkS|ize..; s|
|00002e80| 70 61 63 65 20 66 6f 72 | 20 65 76 65 6e 74 20 72 |pace for| event r|
|00002e90| 65 63 6f 72 64 0d 09 43 | 6c 72 2e 57 09 2d 28 41 |ecord..C|lr.W.-(A|
|00002ea0| 37 29 09 09 09 3b 20 66 | 6f 72 20 65 76 65 6e 74 |7)...; f|or event|
|00002eb0| 2d 61 76 61 69 6c 20 72 | 65 73 75 6c 74 0d 09 43 |-avail r|esult..C|
|00002ec0| 6c 72 2e 57 09 2d 28 41 | 37 29 09 09 09 3b 20 77 |lr.W.-(A|7)...; w|
|00002ed0| 65 20 77 61 6e 74 20 6e | 6f 20 65 76 65 6e 74 73 |e want n|o events|
|00002ee0| 21 0d 09 50 65 61 09 2d | 65 76 74 42 6c 6b 53 69 |!..Pea.-|evtBlkSi|
|00002ef0| 7a 65 28 41 36 29 09 09 | 3b 20 6f 75 72 20 65 76 |ze(A6)..|; our ev|
|00002f00| 65 6e 74 20 62 6c 6f 63 | 6b 0d 09 5f 45 76 65 6e |ent bloc|k.._Even|
|00002f10| 74 41 76 61 69 6c 09 09 | 09 3b 20 73 65 65 20 77 |tAvail..|.; see w|
|00002f20| 68 61 74 27 73 20 67 6f | 69 6e 67 20 64 6f 77 6e |hat's go|ing down|
|00002f30| 0d 09 54 73 74 2e 57 09 | 28 41 37 29 2b 09 09 09 |..Tst.W.|(A7)+...|
|00002f40| 3b 20 74 6f 73 73 20 72 | 65 73 75 6c 74 0d 09 4d |; toss r|esult..M|
|00002f50| 6f 76 65 2e 57 09 65 76 | 74 4d 65 74 61 28 41 37 |ove.W.ev|tMeta(A7|
|00002f60| 29 2c 44 37 09 09 3b 20 | 73 61 76 65 20 6d 6f 64 |),D7..; |save mod|
|00002f70| 69 66 69 65 72 73 0d 09 | 55 6e 4c 6b 09 41 36 09 |ifiers..|UnLk.A6.|
|00002f80| 09 09 3b 20 64 69 73 63 | 61 72 64 20 65 76 65 6e |..; disc|ard even|
|00002f90| 74 20 72 65 63 6f 72 64 | 0d 09 42 54 73 74 2e 4c |t record|..BTst.L|
|00002fa0| 09 23 6f 70 74 69 6f 6e | 4b 65 79 2c 44 37 09 09 |.#option|Key,D7..|
|00002fb0| 3b 20 6f 70 74 69 6f 6e | 20 6b 65 79 20 64 6f 77 |; option| key dow|
|00002fc0| 6e 3f 0d 09 42 6e 65 09 | 4b 69 6c 6c 42 75 67 09 |n?..Bne.|KillBug.|
|00002fd0| 09 09 3b 20 69 66 20 73 | 6f 2c 20 67 6f 20 6b 69 |..; if s|o, go ki|
|00002fe0| 6c 6c 20 61 20 62 75 67 | 0d 0d 09 3b 20 4e 6f 20 |ll a bug|...; No |
|00002ff0| 6f 70 74 69 6f 6e 20 6b | 65 79 2c 20 73 6f 20 69 |option k|ey, so i|
|00003000| 74 27 73 20 74 69 6d 65 | 20 74 6f 20 73 70 61 77 |t's time| to spaw|
|00003010| 6e 20 61 20 62 75 67 0d | 09 3b 20 47 65 74 20 73 |n a bug.|.; Get s|
|00003020| 6f 6d 65 20 73 79 73 68 | 65 61 70 20 73 70 61 63 |ome sysh|eap spac|
|00003030| 65 0d 09 4d 6f 76 65 2e | 4c 09 23 46 75 6c 6c 53 |e..Move.|L.#FullS|
|00003040| 69 7a 65 2c 44 30 09 09 | 3b 20 73 74 75 66 66 20 |ize,D0..|; stuff |
|00003050| 74 6f 20 63 6f 70 79 20 | 69 6e 74 6f 20 73 79 73 |to copy |into sys|
|00003060| 68 65 61 70 0d 09 4d 6f | 76 65 2e 4c 09 44 30 2c |heap..Mo|ve.L.D0,|
|00003070| 44 34 0d 09 5f 4e 65 77 | 50 74 72 20 2c 53 59 53 |D4.._New|Ptr ,SYS|
|00003080| 2b 43 4c 45 41 52 09 3b | 20 28 44 30 2f 62 79 74 |+CLEAR.;| (D0/byt|
|00003090| 65 43 6f 75 6e 74 3a 53 | 69 7a 65 29 3a 41 30 5c |eCount:S|ize):A0\|
|000030a0| 50 74 72 0d 09 54 73 74 | 09 44 30 09 09 09 3b 20 |Ptr..Tst|.D0...; |
|000030b0| 67 6f 74 20 74 68 65 20 | 73 74 6f 72 61 67 65 3f |got the |storage?|
|000030c0| 0d 09 42 6d 69 09 63 6f | 6d 5f 32 09 09 09 3b 20 |..Bmi.co|m_2...; |
|000030d0| 62 65 65 70 20 69 66 20 | 65 72 72 6f 72 0d 0d 09 |beep if |error...|
|000030e0| 3b 20 41 30 20 3d 20 6f | 75 72 20 70 6f 69 6e 74 |; A0 = o|ur point|
|000030f0| 65 72 20 69 6e 20 53 79 | 73 48 65 61 70 0d 09 4d |er in Sy|sHeap..M|
|00003100| 6f 76 65 2e 4c 09 41 30 | 2c 41 33 09 09 09 3b 20 |ove.L.A0|,A3...; |
|00003110| 73 61 76 65 20 6f 75 72 | 20 70 6f 69 6e 74 65 72 |save our| pointer|
|00003120| 0d 0d 09 3b 20 73 61 76 | 65 20 74 68 65 20 61 64 |...; sav|e the ad|
|00003130| 64 72 65 73 73 65 73 20 | 6f 66 20 74 68 65 20 63 |dresses |of the c|
|00003140| 75 72 73 6f 72 20 72 6f | 75 74 69 6e 65 73 0d 09 |ursor ro|utines..|
|00003150| 4c 65 61 09 6a 48 69 64 | 65 43 75 72 73 6f 72 2c |Lea.jHid|eCursor,|
|00003160| 41 30 09 09 3b 20 41 30 | 20 3d 20 61 64 64 72 20 |A0..; A0| = addr |
|00003170| 6f 66 20 6a 48 69 64 65 | 43 75 72 73 6f 72 0d 09 |of jHide|Cursor..|
|00003180| 4c 65 61 09 6f 6c 64 48 | 69 64 65 2c 41 31 09 09 |Lea.oldH|ide,A1..|
|00003190| 3b 20 6f 75 72 20 73 74 | 6f 72 61 67 65 20 66 6f |; our st|orage fo|
|000031a0| 72 20 6f 6c 64 20 68 6f | 6f 6b 73 0d 09 4d 6f 76 |r old ho|oks..Mov|
|000031b0| 65 2e 4c 09 28 41 30 29 | 2b 2c 28 41 31 29 2b 09 |e.L.(A0)|+,(A1)+.|
|000031c0| 09 3b 20 6a 48 69 64 65 | 43 75 72 73 6f 72 0d 09 |.; jHide|Cursor..|
|000031d0| 4d 6f 76 65 2e 4c 09 28 | 41 30 29 2b 2c 28 41 31 |Move.L.(|A0)+,(A1|
|000031e0| 29 2b 09 09 3b 20 6a 53 | 68 6f 77 43 75 72 73 6f |)+..; jS|howCurso|
|000031f0| 72 0d 09 4d 6f 76 65 2e | 4c 09 28 41 30 29 2c 28 |r..Move.|L.(A0),(|
|00003200| 41 31 29 09 09 3b 20 6a | 53 68 69 65 6c 64 43 75 |A1)..; j|ShieldCu|
|00003210| 72 73 6f 72 0d 0d 09 3b | 20 69 6e 69 74 69 61 6c |rsor...;| initial|
|00003220| 69 7a 65 20 62 75 67 27 | 73 20 6c 6f 63 61 6c 20 |ize bug'|s local |
|00003230| 64 61 74 61 0d 09 4c 65 | 61 09 4c 6f 63 61 6c 44 |data..Le|a.LocalD|
|00003240| 61 74 61 2c 41 34 09 09 | 3b 20 41 34 20 3d 20 6c |ata,A4..|; A4 = l|
|00003250| 6f 63 61 6c 20 64 61 74 | 61 20 66 6f 72 20 62 75 |ocal dat|a for bu|
|00003260| 67 0d 0d 09 4d 6f 76 65 | 2e 4c 09 28 41 35 29 2c |g...Move|.L.(A5),|
|00003270| 41 31 09 09 09 3b 20 41 | 31 20 3d 20 71 64 20 67 |A1...; A|1 = qd g|
|00003280| 6c 6f 62 61 6c 73 0d 09 | 50 75 73 68 2e 4c 09 74 |lobals..|Push.L.t|
|00003290| 68 65 50 6f 72 74 28 41 | 31 29 09 09 3b 20 73 61 |hePort(A|1)..; sa|
|000032a0| 76 65 20 63 75 72 72 65 | 6e 74 20 70 6f 72 74 0d |ve curre|nt port.|
|000032b0| 0d 09 4c 69 6e 6b 09 41 | 36 2c 23 2d 47 72 61 66 |..Link.A|6,#-Graf|
|000032c0| 53 69 7a 65 09 09 3b 20 | 73 70 61 63 65 20 66 6f |Size..; |space fo|
|000032d0| 72 20 61 20 47 72 61 66 | 50 6f 72 74 0d 09 50 75 |r a Graf|Port..Pu|
|000032e0| 73 68 2e 4c 09 41 37 09 | 09 09 3b 20 6f 75 72 20 |sh.L.A7.|..; our |
|000032f0| 47 72 61 66 50 6f 72 74 | 0d 09 5f 4f 70 65 6e 50 |GrafPort|.._OpenP|
|00003300| 6f 72 74 09 09 09 3b 20 | 67 65 74 20 61 20 66 75 |ort...; |get a fu|
|00003310| 6c 6c 2d 73 63 72 65 65 | 6e 20 70 6f 72 74 0d 09 |ll-scree|n port..|
|00003320| 4d 6f 76 65 2e 4c 09 70 | 6f 72 74 42 69 74 73 2b |Move.L.p|ortBits+|
|00003330| 42 61 73 65 41 64 64 72 | 28 41 37 29 2c 4d 79 53 |BaseAddr|(A7),MyS|
|00003340| 63 72 6e 42 61 73 65 28 | 41 34 29 0d 09 09 09 09 |crnBase(|A4).....|
|00003350| 09 3b 20 73 74 61 72 74 | 20 6f 66 20 73 63 72 65 |.; start| of scre|
|00003360| 65 6e 0d 09 4d 6f 76 65 | 2e 57 09 70 6f 72 74 42 |en..Move|.W.portB|
|00003370| 69 74 73 2b 52 6f 77 42 | 79 74 65 73 28 41 37 29 |its+RowB|ytes(A7)|
|00003380| 2c 4d 79 53 63 72 6e 52 | 6f 77 28 41 34 29 0d 09 |,MyScrnR|ow(A4)..|
|00003390| 09 09 09 09 3b 20 62 79 | 74 65 73 20 69 6e 20 72 |....; by|tes in r|
|000033a0| 6f 77 0d 09 4d 6f 76 65 | 2e 4c 09 70 6f 72 74 42 |ow..Move|.L.portB|
|000033b0| 69 74 73 2b 62 6f 75 6e | 64 73 2b 74 6f 70 4c 65 |its+boun|ds+topLe|
|000033c0| 66 74 28 41 37 29 2c 4d | 79 53 63 72 6e 52 65 63 |ft(A7),M|yScrnRec|
|000033d0| 74 28 41 34 29 0d 09 4d | 6f 76 65 2e 4c 09 70 6f |t(A4)..M|ove.L.po|
|000033e0| 72 74 42 69 74 73 2b 62 | 6f 75 6e 64 73 2b 62 6f |rtBits+b|ounds+bo|
|000033f0| 74 52 69 67 68 74 28 41 | 37 29 2c 4d 79 53 63 72 |tRight(A|7),MyScr|
|00003400| 6e 52 65 63 74 2b 34 28 | 41 34 29 0d 09 09 09 09 |nRect+4(|A4).....|
|00003410| 09 3b 20 74 68 65 20 73 | 63 72 65 65 6e 27 73 20 |.; the s|creen's |
|00003420| 72 65 63 74 61 6e 67 6c | 65 0d 09 50 75 73 68 2e |rectangl|e..Push.|
|00003430| 4c 09 41 37 09 09 09 3b | 20 6f 75 72 20 73 68 6f |L.A7...;| our sho|
|00003440| 72 74 2d 6c 69 76 65 64 | 20 47 72 61 66 50 6f 72 |rt-lived| GrafPor|
|00003450| 74 0d 09 5f 43 6c 6f 73 | 65 50 6f 72 74 09 09 09 |t.._Clos|ePort...|
|00003460| 3b 20 73 61 79 20 67 6f | 6f 64 62 79 65 21 0d 09 |; say go|odbye!..|
|00003470| 55 6e 4c 6b 09 41 36 09 | 09 09 3b 20 72 65 73 74 |UnLk.A6.|..; rest|
|00003480| 6f 72 65 20 73 74 61 63 | 6b 0d 0d 09 5f 53 65 74 |ore stac|k..._Set|
|00003490| 50 6f 72 74 09 09 09 3b | 20 72 65 73 74 6f 72 65 |Port...;| restore|
|000034a0| 20 75 73 65 72 27 73 20 | 70 6f 72 74 0d 0d 09 4a | user's |port...J|
|000034b0| 73 72 09 52 65 73 65 74 | 42 75 67 09 09 3b 20 73 |sr.Reset|Bug..; s|
|000034c0| 65 74 20 62 75 67 27 73 | 20 73 74 61 72 74 69 6e |et bug's| startin|
|000034d0| 67 20 70 6f 69 6e 74 0d | 0d 09 3b 20 63 6f 70 79 |g point.|..; copy|
|000034e0| 20 74 68 65 20 65 73 73 | 65 6e 74 69 61 6c 20 73 | the ess|ential s|
|000034f0| 74 75 66 66 20 69 6e 74 | 6f 20 6f 75 72 20 73 79 |tuff int|o our sy|
|00003500| 73 68 65 61 70 20 62 6c | 6f 63 6b 0d 09 4d 6f 76 |sheap bl|ock..Mov|
|00003510| 65 41 2e 4c 09 41 33 2c | 41 31 09 09 09 3b 20 41 |eA.L.A3,|A1...; A|
|00003520| 31 20 3d 20 6f 75 72 20 | 73 79 73 68 65 61 70 20 |1 = our |sysheap |
|00003530| 70 6f 69 6e 74 65 72 0d | 09 4c 65 61 09 42 75 67 |pointer.|.Lea.Bug|
|00003540| 42 61 73 65 2c 41 30 0d | 09 4d 6f 76 65 2e 4c 09 |Base,A0.|.Move.L.|
|00003550| 44 34 2c 44 30 09 09 09 | 3b 20 44 30 20 3d 20 6f |D4,D0...|; D0 = o|
|00003560| 75 72 20 70 6f 69 6e 74 | 65 72 27 73 20 6c 65 6e |ur point|er's len|
|00003570| 67 74 68 0d 09 5f 42 6c | 6f 63 6b 4d 6f 76 65 09 |gth.._Bl|ockMove.|
|00003580| 3b 20 28 41 30 2f 73 72 | 63 50 74 72 2c 20 41 31 |; (A0/sr|cPtr, A1|
|00003590| 2f 64 65 73 74 50 74 72 | 3a 50 74 72 3b 20 44 30 |/destPtr|:Ptr; D0|
|000035a0| 2f 62 79 74 65 43 6f 75 | 6e 74 3a 53 69 7a 65 29 |/byteCou|nt:Size)|
|000035b0| 0d 0d 09 3b 20 72 65 70 | 6c 61 63 65 20 74 68 65 |...; rep|lace the|
|000035c0| 20 63 75 72 73 6f 72 20 | 68 6f 6f 6b 73 20 77 69 | cursor |hooks wi|
|000035d0| 74 68 20 6f 75 72 20 6f | 77 6e 0d 09 4c 65 61 09 |th our o|wn..Lea.|
|000035e0| 6a 48 69 64 65 43 75 72 | 73 6f 72 2c 41 30 09 09 |jHideCur|sor,A0..|
|000035f0| 3b 20 41 30 20 3d 20 61 | 64 64 72 20 6f 66 20 6a |; A0 = a|ddr of j|
|00003600| 48 69 64 65 43 75 72 73 | 6f 72 0d 09 4c 65 61 09 |HideCurs|or..Lea.|
|00003610| 4d 79 48 69 64 65 2d 42 | 75 67 42 61 73 65 28 41 |MyHide-B|ugBase(A|
|00003620| 33 29 2c 41 31 09 3b 20 | 6f 75 72 20 48 69 64 65 |3),A1.; |our Hide|
|00003630| 43 75 72 73 6f 72 0d 09 | 4d 6f 76 65 2e 4c 09 41 |Cursor..|Move.L.A|
|00003640| 31 2c 28 41 30 29 2b 09 | 09 3b 20 72 65 70 6c 61 |1,(A0)+.|.; repla|
|00003650| 63 65 20 6a 48 69 64 65 | 43 75 72 73 6f 72 0d 09 |ce jHide|Cursor..|
|00003660| 4c 65 61 09 4d 79 53 68 | 6f 77 2d 42 75 67 42 61 |Lea.MySh|ow-BugBa|
|00003670| 73 65 28 41 33 29 2c 41 | 31 09 3b 20 6f 75 72 20 |se(A3),A|1.; our |
|00003680| 53 68 6f 77 43 75 72 73 | 6f 72 0d 09 4d 6f 76 65 |ShowCurs|or..Move|
|00003690| 2e 4c 09 41 31 2c 28 41 | 30 29 2b 09 09 3b 20 72 |.L.A1,(A|0)+..; r|
|000036a0| 65 70 6c 61 63 65 20 6a | 53 68 6f 77 43 75 72 73 |eplace j|ShowCurs|
|000036b0| 6f 72 0d 09 4c 65 61 09 | 4d 79 53 68 69 65 6c 64 |or..Lea.|MyShield|
|000036c0| 2d 42 75 67 42 61 73 65 | 28 41 33 29 2c 41 31 09 |-BugBase|(A3),A1.|
|000036d0| 3b 20 6f 75 72 20 53 68 | 69 65 6c 64 43 75 72 73 |; our Sh|ieldCurs|
|000036e0| 6f 72 0d 09 4d 6f 76 65 | 2e 4c 09 41 31 2c 28 41 |or..Move|.L.A1,(A|
|000036f0| 30 29 09 09 09 3b 20 72 | 65 70 6c 61 63 65 20 6a |0)...; r|eplace j|
|00003700| 53 68 69 65 6c 64 43 75 | 72 73 6f 72 0d 0d 09 3b |ShieldCu|rsor...;|
|00003710| 20 73 74 61 72 74 20 6f | 75 72 20 56 42 4c 20 74 | start o|ur VBL t|
|00003720| 61 73 6b 0d 09 4c 65 61 | 09 4d 79 56 42 4c 54 61 |ask..Lea|.MyVBLTa|
|00003730| 73 6b 2d 42 75 67 42 61 | 73 65 28 41 33 29 2c 41 |sk-BugBa|se(A3),A|
|00003740| 30 09 3b 20 41 30 20 3d | 20 4d 79 56 42 4c 54 61 |0.; A0 =| MyVBLTa|
|00003750| 73 6b 0d 09 4c 65 61 09 | 4d 79 56 42 4c 70 72 6f |sk..Lea.|MyVBLpro|
|00003760| 63 2d 42 75 67 42 61 73 | 65 28 41 33 29 2c 41 31 |c-BugBas|e(A3),A1|
|00003770| 09 3b 20 41 31 20 3d 20 | 4d 79 56 42 4c 70 72 6f |.; A1 = |MyVBLpro|
|00003780| 63 0d 09 4d 6f 76 65 2e | 4c 09 41 31 2c 76 62 6c |c..Move.|L.A1,vbl|
|00003790| 41 64 64 72 28 41 30 29 | 09 09 3b 20 73 65 74 20 |Addr(A0)|..; set |
|000037a0| 56 42 4c 20 70 72 6f 63 | 65 64 75 72 65 0d 09 5f |VBL proc|edure.._|
|000037b0| 56 49 6e 73 74 61 6c 6c | 09 3b 20 28 41 30 2f 56 |VInstall|.; (A0/V|
|000037c0| 42 4c 54 61 73 6b 50 74 | 72 3a 51 45 6c 65 6d 50 |BLTaskPt|r:QElemP|
|000037d0| 74 72 29 3a 44 30 5c 4f | 53 45 72 72 0d 46 65 61 |tr):D0\O|SErr.Fea|
|000037e0| 74 75 72 65 0d 4f 70 65 | 6e 45 78 69 74 0d 09 4d |ture.Ope|nExit..M|
|000037f0| 6f 76 65 4d 2e 4c 09 28 | 41 37 29 2b 2c 41 33 2d |oveM.L.(|A7)+,A3-|
|00003800| 41 35 2f 44 37 09 09 3b | 20 72 65 73 74 6f 72 65 |A5/D7..;| restore|
|00003810| 20 72 65 67 69 73 74 65 | 72 73 0d 09 4d 6f 76 65 | registe|rs..Move|
|00003820| 2e 57 09 23 4f 70 65 6e | 45 72 72 2c 44 30 09 09 |.W.#Open|Err,D0..|
|00003830| 3b 20 72 65 74 75 72 6e | 20 61 6e 20 65 72 72 6f |; return| an erro|
|00003840| 72 20 28 77 65 27 72 65 | 20 6e 6f 74 20 6f 70 65 |r (we're| not ope|
|00003850| 6e 29 0d 09 52 74 73 0d | 0d 3b 2d 72 65 66 73 20 |n)..Rts.|.;-refs |
|00003860| 2d 20 4f 70 65 6e 0d 0d | 63 6f 6d 5f 32 09 50 75 |- Open..|com_2.Pu|
|00003870| 73 68 09 23 31 35 09 09 | 09 3b 20 67 69 76 65 20 |sh.#15..|.; give |
|00003880| 61 20 62 65 65 70 21 0d | 09 5f 53 79 73 42 65 65 |a beep!.|._SysBee|
|00003890| 70 20 3b 20 28 64 75 72 | 61 74 69 6f 6e 3a 49 4e |p ; (dur|ation:IN|
|000038a0| 54 45 47 45 52 29 0d 09 | 42 72 61 09 4f 70 65 6e |TEGER)..|Bra.Open|
|000038b0| 45 78 69 74 0d 0d 3b 20 | 4c 65 74 27 73 20 6b 69 |Exit..; |Let's ki|
|000038c0| 6c 6c 20 61 20 62 75 67 | 21 0d 4b 69 6c 6c 42 75 |ll a bug|!.KillBu|
|000038d0| 67 0d 09 4d 6f 76 65 2e | 4c 09 6a 48 69 64 65 43 |g..Move.|L.jHideC|
|000038e0| 75 72 73 6f 72 2c 41 33 | 09 09 3b 20 41 33 20 3d |ursor,A3|..; A3 =|
|000038f0| 20 48 69 64 65 43 75 72 | 73 6f 72 20 72 6f 75 74 | HideCur|sor rout|
|00003900| 69 6e 65 0d 09 43 6d 70 | 49 2e 4c 09 23 27 42 55 |ine..Cmp|I.L.#'BU|
|00003910| 47 20 27 2c 42 75 67 42 | 61 73 65 2d 4d 79 48 69 |G ',BugB|ase-MyHi|
|00003920| 64 65 28 41 33 29 09 3b | 20 63 68 65 63 6b 20 73 |de(A3).;| check s|
|00003930| 69 67 6e 61 74 75 72 65 | 0d 09 42 6e 65 09 46 65 |ignature|..Bne.Fe|
|00003940| 61 74 75 72 65 09 09 09 | 3b 20 62 72 61 6e 63 68 |ature...|; branch|
|00003950| 20 69 66 20 6e 6f 74 20 | 61 20 62 75 67 0d 0d 09 | if not |a bug...|
|00003960| 4c 65 61 09 4d 79 56 42 | 4c 50 72 6f 63 2d 4d 79 |Lea.MyVB|LProc-My|
|00003970| 48 69 64 65 28 41 33 29 | 2c 41 30 09 3b 20 73 74 |Hide(A3)|,A0.; st|
|00003980| 61 72 74 20 6f 66 20 73 | 74 61 74 69 63 20 73 74 |art of s|tatic st|
|00003990| 75 66 66 0d 09 4c 65 61 | 09 4d 79 56 42 4c 50 72 |uff..Lea|.MyVBLPr|
|000039a0| 6f 63 2c 41 31 09 09 3b | 20 63 6f 6d 70 61 72 65 |oc,A1..;| compare|
|000039b0| 20 74 6f 20 6f 75 72 20 | 63 6f 70 79 0d 09 4d 6f | to our |copy..Mo|
|000039c0| 76 65 2e 57 09 23 53 74 | 61 74 69 63 53 69 7a 65 |ve.W.#St|aticSize|
|000039d0| 2d 31 2c 44 30 09 3b 20 | 62 79 74 65 73 20 74 6f |-1,D0.; |bytes to|
|000039e0| 20 63 68 65 63 6b 0d 40 | 30 09 43 6d 70 4d 2e 42 | check.@|0.CmpM.B|
|000039f0| 09 28 41 30 29 2b 2c 28 | 41 31 29 2b 09 09 3b 20 |.(A0)+,(|A1)+..; |
|00003a00| 63 6f 6d 70 61 72 65 0d | 09 42 6e 65 09 46 65 61 |compare.|.Bne.Fea|
|00003a10| 74 75 72 65 09 09 09 3b | 20 65 78 69 74 20 69 66 |ture...;| exit if|
|00003a20| 20 6e 6f 74 20 6f 75 72 | 20 62 75 67 0d 09 44 42 | not our| bug..DB|
|00003a30| 72 61 09 44 30 2c 40 30 | 0d 0d 09 3b 20 49 74 20 |ra.D0,@0|...; It |
|00003a40| 6c 6f 6f 6b 73 20 6c 69 | 6b 65 20 6f 6e 65 20 6f |looks li|ke one o|
|00003a50| 66 20 6f 75 72 20 62 75 | 67 73 2e 20 20 4b 69 6c |f our bu|gs. Kil|
|00003a60| 6c 20 69 74 2e 0d 09 4c | 65 61 09 4d 79 56 42 4c |l it...L|ea.MyVBL|
|00003a70| 54 61 73 6b 2d 4d 79 48 | 69 64 65 28 41 33 29 2c |Task-MyH|ide(A3),|
|00003a80| 41 30 09 3b 20 6f 75 72 | 20 74 61 73 6b 20 70 6f |A0.; our| task po|
|00003a90| 69 6e 74 65 72 0d 09 5f | 56 52 65 6d 6f 76 65 09 |inter.._|VRemove.|
|00003aa0| 09 09 3b 20 73 74 6f 70 | 20 74 68 65 20 62 75 67 |..; stop| the bug|
|00003ab0| 21 0d 09 42 6e 65 09 63 | 6f 6d 5f 32 09 09 09 3b |!..Bne.c|om_2...;|
|00003ac0| 20 65 78 69 74 20 69 66 | 20 65 72 72 6f 72 0d 0d | exit if| error..|
|00003ad0| 09 5f 48 69 64 65 43 75 | 72 73 6f 72 09 09 09 3b |._HideCu|rsor...;|
|00003ae0| 20 48 69 64 65 73 20 62 | 75 67 73 20 74 6f 6f 21 | Hides b|ugs too!|
|00003af0| 0d 0d 09 3b 20 52 65 73 | 74 6f 72 65 20 74 68 65 |...; Res|tore the|
|00003b00| 20 6f 6c 64 20 63 75 72 | 73 6f 72 20 72 6f 75 74 | old cur|sor rout|
|00003b10| 69 6e 65 73 0d 09 4c 65 | 61 09 6f 6c 64 48 69 64 |ines..Le|a.oldHid|
|00003b20| 65 2d 4d 79 48 69 64 65 | 28 41 33 29 2c 41 30 09 |e-MyHide|(A3),A0.|
|00003b30| 3b 20 73 61 76 65 64 20 | 72 6f 75 74 69 6e 65 20 |; saved |routine |
|00003b40| 70 6f 69 6e 74 65 72 73 | 0d 09 4c 65 61 09 6a 48 |pointers|..Lea.jH|
|00003b50| 69 64 65 43 75 72 73 6f | 72 2c 41 31 09 09 3b 20 |ideCurso|r,A1..; |
|00003b60| 77 68 65 72 65 20 74 68 | 65 79 20 63 61 6d 65 20 |where th|ey came |
|00003b70| 66 72 6f 6d 0d 09 4d 6f | 76 65 2e 4c 09 28 41 30 |from..Mo|ve.L.(A0|
|00003b80| 29 2b 2c 28 41 31 29 2b | 09 09 3b 20 72 65 73 74 |)+,(A1)+|..; rest|
|00003b90| 6f 72 65 20 6f 6c 64 20 | 72 6f 75 74 69 6e 65 73 |ore old |routines|
|00003ba0| 0d 09 4d 6f 76 65 2e 4c | 09 28 41 30 29 2b 2c 28 |..Move.L|.(A0)+,(|
|00003bb0| 41 31 29 2b 0d 09 4d 6f | 76 65 2e 4c 09 28 41 30 |A1)+..Mo|ve.L.(A0|
|00003bc0| 29 2c 28 41 31 29 0d 0d | 09 3b 20 52 65 6c 65 61 |),(A1)..|.; Relea|
|00003bd0| 73 65 20 74 68 65 20 6d | 65 6d 6f 72 79 0d 09 4c |se the m|emory..L|
|00003be0| 65 61 09 42 75 67 42 61 | 73 65 2d 4d 79 48 69 64 |ea.BugBa|se-MyHid|
|00003bf0| 65 28 41 33 29 2c 41 30 | 09 3b 20 73 74 61 72 74 |e(A3),A0|.; start|
|00003c00| 20 6f 66 20 62 6c 6f 63 | 6b 0d 09 5f 44 69 73 70 | of bloc|k.._Disp|
|00003c10| 6f 73 50 74 72 0d 0d 09 | 5f 53 68 6f 77 43 75 72 |osPtr...|_ShowCur|
|00003c20| 73 6f 72 09 09 09 3b 20 | 72 65 73 74 6f 72 65 20 |sor...; |restore |
|00003c30| 63 75 72 73 6f 72 20 73 | 74 61 74 65 0d 0d 09 50 |cursor s|tate...P|
|00003c40| 75 73 68 09 23 35 09 09 | 09 3b 20 67 69 76 65 20 |ush.#5..|.; give |
|00003c50| 61 20 62 65 65 70 0d 09 | 5f 53 79 73 42 65 65 70 |a beep..|_SysBeep|
|00003c60| 20 3b 20 28 64 75 72 61 | 74 69 6f 6e 3a 49 4e 54 | ; (dura|tion:INT|
|00003c70| 45 47 45 52 29 0d 09 4d | 6f 76 65 2e 4c 09 23 31 |EGER)..M|ove.L.#1|
|00003c80| 30 2c 41 30 09 09 09 3b | 20 74 61 6b 65 20 61 20 |0,A0...;| take a |
|00003c90| 62 72 65 61 6b 0d 09 5f | 44 65 6c 61 79 0d 0d 09 |break.._|Delay...|
|00003ca0| 42 54 73 74 2e 4c 09 23 | 63 6d 64 4b 65 79 2c 44 |BTst.L.#|cmdKey,D|
|00003cb0| 37 09 09 3b 20 6b 69 6c | 6c 20 61 6c 6c 20 62 75 |7..; kil|l all bu|
|00003cc0| 67 73 3f 0d 09 42 6e 65 | 09 4b 69 6c 6c 42 75 67 |gs?..Bne|.KillBug|
|00003cd0| 09 09 09 3b 20 59 65 73 | 21 0d 0d 09 42 72 61 09 |...; Yes|!...Bra.|
|00003ce0| 4f 70 65 6e 45 78 69 74 | 09 09 3b 20 65 6c 73 65 |OpenExit|..; else|
|00003cf0| 20 65 78 69 74 0d 0d 0d | 43 6c 6f 73 65 09 4d 6f | exit...|Close.Mo|
|00003d00| 76 65 51 09 23 30 2c 44 | 30 0d 09 52 74 73 0d 00 |veQ.#0,D|0..Rts..|
|00003d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d80| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F|
|00003d90| 2f 10 a8 84 4e 75 20 3b | 50 04 4e 75 00 10 00 10 |/...Nu ;|P.Nu....|
|00003da0| 00 04 00 04 00 06 00 06 | 00 08 00 08 00 0a 00 0a |........|........|
|00003db0| 0a 49 6e 73 65 63 74 2e | 61 73 6d 73 02 00 00 00 |.Insect.|asms....|
|00003dc0| 54 45 58 54 45 44 49 54 | 01 00 00 00 00 c0 00 00 |TEXTEDIT|........|
|00003dd0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 00 00 c0 |..TEXTED|IT......|
|00003de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003df0| 00 00 9c 6d d2 af 00 00 | 3c 8f 00 00 01 5c 30 01 |...m....|<....\0.|
|00003e00| 51 40 60 0c 4a 6e 00 0a | 66 32 30 10 32 00 50 41 |Q@`.Jn..|f20.2.PA|
|00003e10| 43 f8 09 ce 32 c0 32 e8 | 00 02 32 c1 32 a8 00 06 |C...2.2.|..2.2...|
|00003e20| 42 a7 a8 d8 26 57 48 78 | 09 ce a8 df 2f 2e 00 14 |B...&WHx|..../...|
|00003e30| 2f 0b 2f 2e 00 14 a8 e5 | 2f 0b a8 d9 26 5f 4e 5e |/./.....|/...&_N^|
|00003e40| 20 5f de fc 00 10 4e d0 | 78 10 42 67 2f 03 2f 2b | _....N.|x.Bg/./+|
|00003e50| 00 76 a8 e8 4a 1f 67 04 | 70 01 60 6c 42 67 2f 03 |.v..J.g.|p.`lBg/.|
|00003e60| 2f 2b 00 72 a8 e8 4a 1f | 67 62 42 67 2f 03 28 6b |/+.r..J.|gbBg/.(k|
|00003e70| 00 76 28 54 54 4c 30 2e | ff fc 91 54 2f 0c a8 ad |.v(TTL0.|...T/...|
|00003e80| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 00 00 00 |.......M|onaco...|
|00003e90| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........|
|00003ea0| 00 16 00 00 00 46 00 00 | cc 24 02 36 00 00 00 1c |.....F..|.$.6....|
|00003eb0| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB|
|00003ec0| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 01 81 82 |........|........|
|00003ed0| 03 ec ff ff 00 00 00 0e | 00 01 81 7e 00 00 00 00 |........|...~....|
|00003ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+