DOS pCNJg @ hpNup`dos.library߃mNin the rotation mat. move.w d4,d2 move.w Matrix12,Rotx12 move.w Matrix22,Rotx22 ; The second column move.w Matrix32,Rotx32 ; of the starting matrix ; does not change. muls Matrix11,d1 muls Matrix13,d2 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx13 move.w d3,d1 move.w d4,d2 muls Matrix21,d1 muls Matrix23,d2 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx23 muls Matrix31,d3 muls Matrix33,d4 add.l d3,d4 lsl.l #2,d4 swap d4 move.w d4,Rotx33 moveq #8,d7 move.l #Rotx11,a1 7; Address of result matrix move.l #Matrix11,a2 ; Address of original matrix yrotlop1: move.w (a1)+,(a2)+ ; Copy result matrix dbra d7,yrotlop1 ; to original matrix rts ******************************************** * Z-axis - Rotation matrix multiplications * ******************************************** zrotate: move.w ZAngle,d0 jsr SinCos move.w d1,SinZ move.w d2,CosZ move.w d1,d3 move.w d2,d4 muls Matrix11,d2 muls Matrix12,d1 sub.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx115< move.w d3,d1 move.w d4,d2 muls Matrix21,d2 muls Matrix22,d1 sub.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx21 move.w d3,d1 move.w d4,d2 muls Matrix31,d2 muls Matrix32,d1 sub.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx31 move.w d3,d1 move.w d4,d2 muls Matrix11,d1 muls Matrix12,d2 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx12 move.w d3,d1 move.w d4,d2 muls Matrix21,d1 muls Matrix22,d2 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx22 muls Matrix31,d3 muls Matrix32,d4 add.l d3,d4  3lsl.l #2,d4 swap d4 move.w d4,Rotx32 move.w Matrix13,Rotx13 ; The third column remains move.w Matrix23,Rotx23 ; Unchanged move.w Matrix33,Rotx33 moveq #8,d7 move.l #Rotx11,a1 move.l #Matrix11,a2 zrotlop1: move.w (a1)+,(a2)+ ; Copy to general dbra d7,zrotlop1 ; rotation matrix rts ************************************************************** * Multiply every point whose Array address is in datx etc. * * by previous translation of the coordinate source to * * poinL;vSt [offx,offy,offz], with the general rotation matrix. * * The coordinate source of the result coordinates is then * * moved to point [xoffs,yoffs,zoffs] * ************************************************************** rotate: move.w NumMark,d0 ; Number of points to be ext.l d0 ; transformed as counter subq.l #1,d0 move.l datx,a1 move.l daty,a2 move.l datz,a3 move.l pointx,a4 move.l pointy,a5 move.l pointz,a6 rotate1: move.w (a1)+,d1 ; X-CoordinaE(te add.w Offx,d1 move.w d1,d4 move.w (a2)+,d2 ; Y-Coordinate add.w Offy,d2 ; Translation to point[offx,offy,offz] move.w d2,d5 move.w (a3)+,d3 ; Z-Coordinate add.w offz,d3 move.w d3,d6 muls Matrix11,d1 muls Matrix21,d2 muls Matrix31,d3 add.l d1,d2 add.l d2,d3 lsl.l #2,d3 swap d3 add.w xoffs,d3 move.w d3,(a4)+ ; Rotated X-Coordinate move.w d4,d1 move.w d5,d2 move.w d6,d3 muls Matrix12,d1 muls Matrix22,d2 muls Matrix32,d3 add.l d1,d2 add.l d2,d3 lsl.l #2,d3 swap d3 add.w  Gyoffs,d3 move.w d3,(a5)+ ; Rotated Y-Coordinate muls Matrix13,d4 muls Matrix23,d5 muls Matrix33,d6 add.l d4,d5 add.l d5,d6 lsl.l #2,d6 swap d6 add.w Zoffs,d6 move.w d6,(a6)+ ; Rotated Z-Coordinate dbra d0,rotate1 rts ********************************************************************* * Perspective, calculated from the transformed points in the arrays * * pointx, pointy and pointz the screen coordinates, which * * are then stored in the arrays xplot and yplot.   * ********************************************************************* pers: move.l pointx,a1 ; Beginning address of point arrays move.l pointy,a2 move.l pointz,a3 move.l xplot,a4 ; Start address of display coordinate move.l yplot,a5 ; array. move.w NumMark,d0 ; Number of points to be transformed ext.l d0 subq.l #1,d0 perlop: move.w (a3)+,d5 ; Z-coordinate of object move.w d5,d6 move.w Dist,d4 ; Enlargement factor sub.w d5,d4 ; Dist minus Z-coordinate of obj!0.coord ext.l d4 lsl.l #8,d4 ; Times 256 for value fitting move.w Zobs,d3 ; Projection center Z-coordinates ext.l d3 sub.l d6,d3 ; Minus z-coordinate of object bne.s pers1 moveq #0,d1 ; Catch division by zero addq.l #2,a1 addq.l #2,a2 move.w d1,(a4)+ move.w d1,(a5)+ bra.s perend1 pers1: divs d3,d4 move.w d4,d3 move.w (a1)+,d1 ; X-Coordinate of object move.w d1,d2 neg.w d1 muls d1,d3 ; Multiplied by perspective factor lsr.l #8,d3 ; /256 save value fitting add.w d3,d2  vn#$f,d4 and.w d2,d4 ; low 4 bits sub.w d3,d1 ; Height mulu #res/8,d3 ; Start address sub.w d2,d0 ; Width blt.s No1 tst.w d1 blt.s No2 cmp.w d0,d1 bge.s No3 moveq #$11,d7 bra.s OctSel ; Octant # No3: moveq #1,d7 exg d1,d0 OctSel: bra.s No4 No2: neg.w d1 cmp.w d0,d1 bge.s Skip moveq #$19,d7 bra.s No4 Skip: moveq #5,d7 exg d1,d0 No4: bra.s OctsSel No1: neg.w d0 tst.w d1 blt.s No11 cmp.w d0,d1 bge.s No12 moveq #$15,d7 bra.s OctSel2 No12: moveq #9,d7 exg d1,d0 OctSel2: bra. s OctsSel No11: neg.w d1 cmp.w d0,d1 bge.s No13 moveq #$1d,d7 bra.s OctsSel No13: moveq #$d,d7 exg d1,d0 OctsSel: add.w d1,d1 asr.w #3,d2 ext.l d2 add.l d2,d3 ; Total offset move.w d1,d2 sub.w d0,d2 bge.s NoMinus ori.w #$40,d7 ; Sign = - NoMinus: lea $dff000,a0 move.w d2,a3 move.w #$ffff,d6 ; LinePtrn WaitBl: btst #6,2(a0) bne.s WaitBl move.w d1,$62(a0) ; 4Y move.w d2,d1 sub.w d0,d1 move.w d1,$64(a0) ; 4Y-4X moveq #-1,d1 move.l d1,$44(a0) ; AFWM+ALWM move.w #res/8,$60(Γa0) ; BitMap Width in bytes move.w d7,d5 addq.w #1,d0 asl.w #6,d0 addq.w #2,d0 ; Blitsize move.w d4,d2 swap d4 asr.l #4,d4 ; First pixelpos ori.w #$b00,d4 ; Use ABD move.w #$8000,$74(a0) ; Index clr.w d1 NoSpesh: move.l DrawPlane,d7 ; Pointer swap d5 move.w d4,d5 move.b #$ca,d5 ; MinTerms swap d5 add.l d3,d7 WtBl2: btst #6,2(a0) bne.s WtBl2 move.l d5,$40(a0) ; BltCon0 & 1 move.w a3,$52(a0) ; 2Y-X move.l d7,$48(a0) move.l d7,$54(a0) ; Start address of line move.w d d6,$72(a0) ; Pattern move.w d0,$58(a0) ; Size movem.l (a7)+,d2-d7/a2-a3 rts ***************************************************** * Sine and cosine function, angle is passed in D0 * * and the sine and cosine are returned in D1 and D2 * ***************************************************** sincos: tst.w d0 ; Angle neg. add 360 bpl.s NoAddi add.w #360,d0 noaddi: move.l #sintab,a1 ; Beginning ad. of sinetable move.l d0,d2 ; Angle in d0 and d2 lsl.w #1,d0 ; Angle tim Xes 2 as index move.w 0(a1,d0.w),d1 ; Sine to D1 cmp.w #270,d2 ; Calc cosine through blt.s plus9 ; displacement of sine value sub.w #270,d2 ; by 90 degrees bra sendsin plus9: add.w #90,d2 sendsin: lsl.w #1,d2 move.w (a1,d2.w),d2 ; Cosine to D2 rts ; And return ***************************************************** * Sine function * * Angle is passed in d0 and the sine returned in D1 * ***************************************************** sin: move.l #sintab, ,;a1 tst.w d0 bpl.s sin1 add.w #360,d0 sin1: lsl.w #1,d0 move.w (a1,d0.w),d1 rts ************************************************************* * Init the main diagonal of the result matrix with * * ones which were multiplied by 2^14. This subroutine must * * be called at least once before the call by rotate, or the * * result matrix will only consist of zeros. * ************************************************************* matinit: moveq #0,d1 move.w #16384, /od2 ; The initial value for move.w d2,Matrix11 ; the main diagonal of move.w d1,Matrix12 ; the result matrix move.w d1,Matrix13 ; all other elements move.w d1,Matrix21 ; at zero. move.w d2,Matrix22 move.w d1,Matrix23 move.w d1,Matrix31 move.w d1,Matrix32 move.w d2,Matrix33 rts *************************************************************** * Multiplication of the rotation matrix by the rotation * * matrix for rotation about the X-Axis * ******* j******************************************************** xrotate: move.w XAngle,d0 ; Multiply matrix11-matrix33 jsr SinCos ; with the rotation matrix move.w d1,sinx ; for a rotation about the X-Axis move.w d2,cosx move.w d1,d3 move.w d2,d4 move.w Matrix11,Rotx11 ; The first column of the matrix move.w Matrix21,Rotx21 ; Does not change with X rotation move.w Matrix31,Rotx31 muls Matrix12,d2 muls Matrix13,d1 sub.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx12 move.w d3,d1 move.w d>4,d2 muls Matrix22,d2 muls Matrix23,d1 sub.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,rotx22 move.w d3,d1 move.w d4,d2 muls Matrix32,d2 muls Matrix33,d1 sub.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx32 move.w d3,d1 move.w d4,d2 muls Matrix12,d1 muls Matrix13,d2 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx13 move.w d3,d1 move.w d4,d2 muls Matrix22,d1 muls Matrix23,d2 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx23 muls Matrix32,d3 muls Matrix33,d4 add.l d3,d4 lsl.l #2,d4 swap d4 move.w  2-d4,Rotx33 move.l #Rotx11,a1 move.l #Matrix11,a2 moveq #8,d7 ; Number of matrix elements roxlop1: move.w (a1)+,(a2)+ ; Copy result matrix, which dbra d7,roxlop1 ; is still in ROTXnn, to MATRIXnn rts *********************************************************** * Multiply the general rotation matrix by the Y-axis * * rotation matrix. Results are stored in the general * * rotation matrix * *********************************************************** yrotate: move.w YAngle,)Hd0 ; Angle around which rotation is made jsr SinCos move.w d1,siny move.w d2,cosy move.w d1,d3 ; Sine of Y-Angle move.w d2,d4 ; Cosine of Y-angle muls Matrix11,d2 muls Matrix13,d1 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx11 move.w d3,d1 move.w d4,d2 muls Matrix21,d2 muls Matrix23,d1 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx21 move.w d3,d1 move.w d4,d2 muls Matrix31,d2 muls Matrix33,d1 add.l d1,d2 lsl.l #2,d2 swap d2 move.w d2,Rotx31 neg.w d3 move.w d3,d1 ; -siny 6dMgH  !'$*)+)!*" '' "               #"           " %&    6eW2   !                               6fEak                               6gQUK                        6hHXI                                            6iz    6j}T:                   <ߐ ; Init screen stuff bsr Main ; Do main stuff bsr Reset ; Reset screen stuff rts **************************** * Pass upper screen to VDC * * while drawing the other * **************************** pageup: move.l d0,-(a7) move.l #$70000,DrawPlane ; Rastport structure move.l #$78000,d0 ; BitMap pointer move.w d0,LowBMPtr swap d0 move.w d0,HiBMPtr ; Copper fixes the rest bsr WaitBot move.l (a7)+,d0 rts **************************** * Pass lower screen to VDC * * while dr?`awing the other * **************************** pagedown: move.l d0,-(a7) move.l #$78000,DrawPlane ; Rastport structure move.l #$70000,d0 ; BitMap pointer move.w d0,LowBMPtr swap d0 move.w d0,HiBMPtr ; Copper fixes the rest bsr Waitbot move.l (a7)+,d0 rts WaitBot: move.w #$222,color cmp.b #BotLine,$dff006 bne.s WaitBot move.w #$000,color rts ******************** * Clear the screen * ******************** clwork: btst #14,$dff002 bne.s ClWork move.l DrawPlane,$dff054 move.l # —$01000000,$dff040 move.w #0,$dff066 move.w #200*64+wpl,$dff058 move.w #$0f0,color rts **************************** * Initialize stuff routine * **************************** Start: move.l 4.w,a6 jsr -132(a6) lea GfxName,a1 moveq #0,d0 jsr -552(a6) ; Open Gfx Library move.l d0,GfxBase move.l d0,a6 move.l $32(a6),OldCop move.l #Coplist,$32(a6) ; Set coplist pointer rts Reset: move.l GfxBase,a6 move.l OldCop,$32(a6) move.l 4.w,a6 jsr -138(a6) rts ****************************** `A************************************* * Draw-line routine, The points are passed in D2,D3 (start point) * * and A2, A3 (end point) * ******************************************************************* Drawl: movem.l d0-d3/a0-a1,-(a7) move.l d2,d0 move.l d3,d1 ; X,y start move.l a2,d2 move.l a3,d3 ; X,y end bsr Draw movem.l (a7)+,d0-d3/a0-a1 rts **************** * Blitter Line * **************** Draw: movem.l d2-d7/a2-a3,-(a7) moveq 6Y"MVM         ! #"$          !!           6Z#WDK     $''& (!# $ $$  "$           "&&'*,( "$             #( !$   6[$jjK                "&$ !#    #%"   !( & %$      !#!$#   !!$ &!$6\%QR6    %%+()% !)"*%+(##       #           !'*$0,& ++   6]&@               $!$&(* '$"$                $ %,( -0+ -1.$ ,2. ",(  (& &*& %+( $,()!6^'J\Q             " # $#"        & (#&$ %          6_(`]T &'+(,))* &*          ! ! !              " !##          6`)G,B "*( !,& !+        % ($#  #          $ ('%"             6a*DP=      " !                 ! !$ !(                           6b+mfI             &$ '$%       *(-+!,,( %+$ %               6c8=+              $#)& #( & #(!&     ( %,(!+(''               6N-IJD         " ** -) &(    ($((#    ( ,&(*   % *% -*,,(!.*+&        6O.jM8      "   !!( !          '* .* --*&"           %"$&    ) 6P/K79$&#     !"$&#"( !) #)&+(*(&(!     !&*(+)%*  #                #6Q0=Wi #) ($#" ('&'((( (" &        !    !     !%%"+)*+,$)*"     " #&#!       6R1mR.                           !%'+$.*!,*!& !$ "   !6S2AOB '(),  %  %#*, #            &$ $&       &!'($*( !+' "               6T3<5              &" ++ !+ $        ! ! ## &$ #&# "$        ! 6U44Xg    !  !$% !% )"#!$     $$%)!'*)      !"& %0(.1 !/)#(!       "&" *"*) ))*$ 6V5cTG     '$%& )&+(&+( !&     & '& !%($%) $$%!   &$&"     & #) ++)& ' 6W648? & #& '%"#               % # '%)&)&)&#     "&%*%'+% (&$ ! "         6X!MeJ>   !* * "                               '( %"-$ &,  #*   6J?/M\!                   !"            !'## !     ! )$,*& .*$ --)0,""( 6K@EL7                !    &))  !    !  "!"+" '(!*%)'( &       '"+(,& 6LAFHE      "  !& ')$)*' ",(+* & '(,+,, (, !,#"    $$%&      &$ $      6M,B^f #).*+, &       !  $#-& .+&,$,(    $()                !# &!$"       68C2TN            " (%!'  (  )( ,(#,& '+$"     #   )*",% '*#  # !       69DHL@"# &   $(.*'-) *,( ',( *, &*'((&*#,$) ," %* &)##             $( )*)) +) ,($,("*'%$  6:E9G          "")" #)'                  !% "             6;Fki4  )(,((+&#)% )& !)$ )()!$" & '        #!!$ ($ ')*$ $(($$       !!& ( #%&$$ "     #(6<G5B1'!* ",$',$)*')((%$#* )()# ! # $)* %$ #)%&#       (  "( #$()'&% !          !#&)$6=HYM )(,(#,( '+  ++ -*&, ($  !! $   " "   $!               &",-( " ,$,)",)$,& #*6>I+KD                              !              6?J>OW     & "( "&   !&&'($##   )(.,.*,&&              !$     6@KHR6     #)+*$,*"++$++!(+ $)#          !   !           # & '!))*&(((! 6AL8LI     !!$$$      $#$                        6B7>]B      ( $"              "!    !()(*(') '*%      !         6-Ng/#(& ('#('  "!"!  # $(&.&0,-0$#0, )(&     !#'$ %* *),) -,(0,)0,2. ,0$.. %."'$    #( *(+) ') %(&      6.O. $ !$&$#( +( ,*''.*ɿ0,)ѽ20,'1-"1." '-  !+%,-0& '("  "(&+,".*0, %.)., &&  '(',(#.*1.(10, '1-00&.( #($ & %, ,)',( .* +-) .+!*   '" ',(6/PW0,/.* 0,"+.* -*'      )" '&"(#             *,( .*).*0, -,&         ,(0,&н20,຿+2.$Ž40,һ 41-11-60QK#0, 0, ,"     " '"       !#"(( !         #*%-%.*0, #."($    !),(,*$',(,* &   61R=|!      ($ *'+(-*'+-)0, 0,$',$("   $),& )(!%$!                 !   62SYO>    ! !&'*),$%-)-* %* #      ! !  "' %$$ #(*# '(,& .* ++ %)"              "63TGaT # ',%,$#,",* *)(*%*$,) ++$",( -+%,!#"              "($ '&($)&"(%(')$ $()$ "        64U81)         '# **#,%,("*&+(*$(&'                      65VLH  #  %)( (((+' +)$         !$!0 +&!* %(/(#, ,( &*(!           !$#'$''$+($)(%(% "$66WD_^          !!&$ "             "    # #+"%+(# !67B=;e#!)( %*' +)&,(#*' '($ "       !           #*(!+&(*,& " "       6"Y/Ae"%=% ( ЬϹ¹.EI2*2(  %8F=%  &'@5 4%*;A9,./$     ""/)       1210'%,-21 &26%    6%\&& %((.)   &$$$   "9FI<<7.+!$(&"##"  +-&  " &++" й  *(&((       !%',* .94#'0&ļ  "!$6&]n       495* "   "$  $&(*(##$!        6'^^o0   &) ($                  !   #!)!#,!6(_+), ,, ),&  "%') +*), "&  ! ,&,%!,""* *") #              #!(#&#     !& #-,$,, *, 6)`p?'-(#.* -"'        %+",( ** '* &   ")"*#-*.*.+$+,$&* #' !      & + ,&,(+$*    *%-)#0,2. 20!,0 , #  &$ *())6*a>LF'& !"            #+".* .,$0, 0.$'0,0-#.( ,( #$       !#" % #        ! (&  6+b7n      (& )( &(!    ' ,*(,*!     # !(!,$,("' #$       ##,--" 00*/0,0,/-$'-).* '+$&%6,M&`t         !  #*!,!*) $,'# #    #$ &$ #          ! &'!   #&( '(#)' % $ !!6d_Ib             6e[QD                  6f^]Q             6gRTJ           6h^do    6id&1   8SVXVHDRX ) NAMEcountdownANNOAudio Master6j@НdBODYX 2-0ͷCHAغ4& @I#8;%(<$"DZ  '# &*޾?E5!'0Һ$:[.&"  & '3)9V=@-6DȮ!    $? 530 !%& :F*%< 2=!5%6<6kUM&<:!U. 3Zb *2Ẽ )/ӱ&ƭ*&3,$*?&8g]J/:@!Ӈ*4   (ƑÍƷ;] 6H6?p. ,738oP$\`B?)9( նZY@ ʨ 'ž 3; J2Gmwzu1$H.C\=Ӯ VrUa>4 ǚ ͙'V;3"mNSE.3a@L+O# ,'Vo\';fV$NoiVM?6 ҙ6l粡t࿙ɬ+4̮ ջ -M 5,ϥ.+%7DH6&$)5%-$(黳ĴķKܡ 90.?007GGRe44c:5?0 .Ծ ܴخت;4=24)86LuwHC'95   ֣ضج MuJ  .FX( ttG( &<׬&ӡίӟͿ,+*) (" C0*;3) /&;; ?<ɫ 6>@/Ţ?&  "#6L6>6 m+JI>;) ! " ڮ "?A/ 0 ޶*X7+JվŸ8.R@:68E.'&0$$ű2#ʮø!5<" !( 1/&H_^jvMֵ HM1 &/˵ :`7 1BA"%հ $7)!0ϱ +$ IJ)(ӻ-40<<*Byg6&! ,1 +.'%ܿ 33*/4!9B4 г10ޣŪ6!X#;0TDF]DB23*' (69:!  ̳ پ#6otKB89 4>/ ì ʹ'ؤ% %#PxyZF6 %  0'<Ƿ ®%ET/"2*EH%" 1C1 ɶƼú (.QdgP1;/ ڴ)3! .8,/.0/*55ͽ    *! 6 o/FI&      $     $ '            !(         * 6 p5Y-               #                                 6qJ           ,#      @+0 2     ++05,     @ <4      /6r< 4$       +:/ #      <0 $,        + #      '        6s,-                       *-         4+      6t6u]  $0'        "(#                     6u-                                 6v^Xh                            6wV\N            6xWdb                    6c[^5                     6zH $  " $$  $ $% % " %'$  )$   %" "    ' '   $   $   $   .6{H     .      $  1'4$    /' 4   .  3'   3)    ,'  $ .   " '6|3|      $    $             '             $  '    6}/$   ' '%               )  1'   ,* %1 ',.    $  %8  9""    6~KMA                     %    6Gt%  ")       (0!      ,63 / $8 (    -/44&5-   898 ,6/3    ::9 00,6aB    6($&*, "     9/!3 0&  8:,       ;+ "/      * )'$*,   6r~  $$     66.                 6y               $  $$  * ' '* 3 4 4 . * *  . , *   '   " ' $ '$'  ' 6@ /E4'@  Ͷ3O ) ٦\"'  \A1 ^ %%$ )E,.   \., C.$\4%A**Y\34% ^' H* 1^R*;  Y;;'  ) \>   %\ 1;'4^"8;1MO/),;6..\%.6".\ ҽ.*OCY'%U E\=M4ܺ;  @4. /O)' ;'^Eܵ36 '._'®TA )'֩%\TA$ .^'°C4 ; ^4ϰE4 HAϽZO\"%4 Z4ҶA'  3E3\ O ;٧\ H A6ͩT\ \$9>ҽ9O* =OK ^ ,' 6]t FA 3.F\ ҽ8$  34 RW ϵ/=8 ' "/ \$ 4 ܶ^R$6 *%\'̧M8%.= CW$OC  Rһ WA ' /) Z '3> 9'   *  6     6   6i   >4 " *  "4"  PH 3' $ H*      $'%  %    , '. "' *%3 ',4  $3;  18$ EE,/*=*%*3W46Z)/)>%@*'CA9 3$ '$'        6i **' .' 1$6V   %  * ". "' "  %  %$   /* 3C  9A ). 3.U8 $4  ,O    ;)   66_  . " 6k  % "    "  '  *$ . " ,$ ) $' .'O 3'*4 8" @. /4  ",., )") ' 3; 1   " "  9> 6~6_gG 6=\T   8 ۳=;=4%/$ ;E  @3 ̽Y$6'T\ ". %ԶYA %9)9R * C ¡TYM @H)O4殰%^ ۺ%_ $1;1)''3U ܱA %" ^A )3U ٢bOҳ>'OF\;8 C ܧ_ ,^  %9='޿b'A' ^4ҸTRM\3> M 6ˍlֽ^O%H49Y Ŷ \4^A;HC4) M8 FU 1$   %@ .     66n0E  '1.$;  81   "' '$ $  ) JH6o6ҵKH6 =A$OP \OِM\'JUH.$1% ,ٽ_H)9"  3Y  ' "%U)M\ . Ү_.. H%FT\ >.%A  94%/8J ; $C    Z)6Z\ 49 %1 _R34 %Y  $').      666PH   ,1      * O   ) %R3 "9 Z "$, F4 ,\W @>    \  3' * "  H.66k  $''M  $;"  A)Y K   % ZAٶR'\Aٺ ,'  1E.%" 'E 94*.\E'$'$9ϰaA٩$O4  "\;4'ѫ^.*$ ; ٽ@\1 ١^4%9  aO@>$ )E)ֵ3\ٽ%H'9 \ >ZO,.' 6ar6W`oo'Gp~ /@退>_@P0?K~D7PW`%c`74QGp@3qP?@3>7P?px8+KS`SjPawxmD Ѐ?KנǰĴ7stD6g| 3& P? a47`IQgt}}`~ ;Wp8wxwd: Ĵ/8/P0gp+'QP0'| 0Ѐ:OP'2KP -P[Pg`$7?6nqW0Ѐh ? ഠ 'ojR吀7䤀#`$_H[0àwD3 "'     '             8 ,6. _W. .̶,\4 悢Mi^MA3/P\4¿ 3i\$'@4ZU  ̈d\AŜ"' 4ҡJa4 T_U.*/ J\  b\' "EH*ѿ"^W_YAϜ$3.3^8%'  ZH6Q$;E* 3O,*                 65                              ;O 6,J.C,).^\A' 9.Һ%H4̬Fi\=4 ٻ@Ra\> 3RYŶ'"' ,/K   $ϰF^A=HJ\  . ̈b\=JOA1>*A9;3aY>W8 ' _Y% @A,A* "MO 3A 1'        6cjq   6Zq           3"41A,W;%Ͷ"'$ *' ٮ^R'6Ț%)1҆C_;ϰ%H  * ن%i^* F'̶bH% 8>.M\ 4)̚_\"*'_4.4=\ 34 ٧MH$    Ţ^\ 3'" O' > $ ̟b\ C   Ҭb\ A   '*   $            6;c< ;sp$栀?x2W@𐀀 :7p7?Pw07 ?~0Ȁ_p ɥwP ?H&(?g`$#f0/>𹫀OPyР.g4UPЀ?``BG Ԁ7w Ѐg| ?~=/}@腀Фoxp ЀqP3j<cp$&?4䠀7WH!W`?p x 0 Wgp"'0/| נ3QP6Lk7{` Ԁ ;r _`Ѐ?`$ Ѐg8Ā70ࠀapҠ'h А'_@7p T?~DЀ?D?xmfQR$𠀀#cdЀ?h7*䰀/x 5:?p03:$#_0𨀀W`P࠿>?8򨀀W` /p?|0Ā/P _p ?d'u`C Ā_D?p ?`#P`3pˀ OBЀnpPЇw6?o0/43oP?p(ఀ'd/@PpW?DW` ⨀_`&$=Qit Ԡ ?xP7 '/Hg|@> ী?`?aNbxz|j`H6(/|7pODPakrrpkc`P@?:>Wst6BPUPc{tgPKPPA<4(, #  '?Sf}~w 4'sTSt 'KP wУOh6'D` 言)S```?? 'Sn`:Ȁ /?Skp?78㸐?pt`< Wb/P'0? 0ЀP/j0_?d7`&"?`7IZH+" #UpWu@Mc(+3зwx770З?k~ )4:?>?5 ऀ ?~6 ? -Vp Od>66ఀ#_`T~?#?C('5P``eQ?*6$2Ksvggpp<@3`0PwWsP?h#@7~@ _P %;|wrgiE!Ifu@Ѐ kxK`?0Р7h0!?f`?`7gP_`W$ Ѐc2_d?Ot_c?8Dw 3_TkG "¨ǰ 15az0x?Є` p<# Ѐ7 'T4 2?GV^`O`_ ?P`P':耿_@?p`6pop䀀 p?40 ?h7PPB!?kc6`3`b= А+?g@wn@;?ew` Ā(Ā0wpP ?oPpw@pd/j[g:`~W@o@€W@%dP?{``Wtt|3Ā_`W+ PP0t Wa@c@+7dP 㵁?8( /c~S!Ħ0On`0P0`{@/|$O@? +P@?06鸀???A`?8~u@o|7pFꠀg@Wx?MyT|@'ࠀw p'?P7@P?kb(€0`_p8+Uu|R(wp`og_0`Ѐ/$?0@86b 7 б/p G<Ѐ뀀7rw@`ր_t Ԡ70/WP?DPеgp(60ch  砯?oT.[d Р׀`?x"/[x?5@𰀀wx 𶀀'0/` ƀ_` O~ _@𴀀?0?@􀀏耀#S{ 0?0?h(?o|D08Kp  _"+PoD?P蠀OgP$  '+46QcS@ ?PW6C~Ow>_@b ghU𠁇>8) /8᱀G`?P䠀'P? 3pD3RcUP0䱀spWP$gP#KG8S87op7;Qto `GpЯo? W@Jo` Ѐ?g@oTp +`S(А Wp0𪠴+Wwp`3Ā0ఀ)Pa{`8𠀀?e:0?o|?})??L=wDD +, ?0'1`7p;o 'dĄ?p$Ԁ_~6gh:ᰐп|_*;@08o~?;P?tJ з =W|[`wv@pDЀ?p ࠀǀpQ00#7e0ЀA##Gw~HgP;pH/`p '?;cp1Qw`'@T'Cp? Ѐg@` ?Ho0pЀ 3a|x8+p Ы7c gPЀM`_4WP{H/0?rbP3p/x'7~P6yQЀ7gh_Q~WP ?(?|0(7 [#870?{@ 䰣#h/Pw~ w~0䐀@P/~ Ѐ?`O8𨀀Wp  _H +S~x4t?7|𐃱'O?`Ѐ0Ѐa?`x?0?`}|?PPзu Ѐ?@?s`?~4ꠀ?P! /=?H>?B"7s6,9D ?mrTА7po?dkp`?hP2!WxW`k  #?@蠀MRg~-GR蠀?p1>UUf4k(78褀ZP&ѐhkp0䀀Oyvr4𠀀/xw` Ѐw@GY0?w`?BWpЯ?ा;gh /`??:Ѡ?ktt _`w2`90 /p/(?Pw`p ঀ7c6C0Ȁt ~8л'DЁ?@|P#?g18𐀀W>o~0# ?ah T/od 谀_vD'W ?=` Okuv0椀Op8?`䀀sPgd$ЀPoD耀0РUg`c@?<г?`?4 ЀK g0?@Ѐw`| 'x DcS o|<Pࢀ?{`>Đwd Ơ;``6şЀЀ ?@_t8T 7~#6?Aap7v0䀀Ho@07p ?v`72_:oa$ЀoTĠO8Ѐo0W4<г7x ŰW@ࠪ G !op`a8??@W| Ѐ7Ѐ/ 's0ऀ/uP Wt4S 䠧K@?d#g:g@c` ?ap#s<6$cP𢧹/`@'$OuwpW !P`f(ࠀ?P '_@Mw@;ఠ?0#W03/_P5W8 Q{x0𠀀;8Ѐ P7~0𠀀7P_ut2OP 7cV@$3@ЀW@ࠀ'P"?k0Ѐ7WD?t?`𾰓8o@Аzw0Ѐ` ?PĐg` `?`'t6K;ANNOAudio MasterBODY-/@PpW?DW` ⨀_`&$=Qit Ԡ ?xP7 '/Hg|@> ী?`?aNbxz|j`H6(/|7pODPakrrpkc`P@?:>Wst6BPUPc{tgPKPPA<4(, #  '?Sf}~w 4'sTSt 'KP wУOh` 6]!M)S```?? 'Sn`:Ȁ /?Skp?78㸐?pt`< Wb/P'0? 0ЀP/j0_?d7`&"?`7IZH+" #UpWu@Mc(+3зwx770З?k~ )4:?>?5 ऀ ?~6 ? -Vp Od>66ఀ#_`T~?#?C('5P``eQ?*Ks6ɞ.vggpp<@3`0PwWsP?h#@7~@ _P %;|wrgiE!Ifu@Ѐ kxK`?0Р7h0!?f`?`7gP_`W$ Ѐc2_d?Ot_c?8Dw 3_TkG "¨ǰ 15az0x?Є` p<# Ѐ7 'T4 2?GV^`O`_ ?P`P':耿_@?p`o63ۿp䀀 p?40 ?h7PPB!?kc6`3`b= А+?g@wn@;?ew` Ā(Ā0wpP ?oPpw@pd/j[g:`~W@o@€W@%dP?{``Wtt|3Ā_`W+ PP0t Wa@c@+7dP 㵁?8( /c~S!Ħ0On`0P0`{@/|$O@? +P@?06ˀxm???A`?8~u@o|7pFꠀg@Wx?MyT|@'ࠀw p'?P7@P?kb(€0`_p8+Uu|R(wp`og_0`Ѐ/_@P0?K~D7PW`%c`74QGp@3qP?@3>7P?px8+KS`SjPawxmD Ѐ?KנǰĴ7stD6g| 3& P? a47`IQgt}}`~ ;Wp8wxwd: Ĵ/8/P0gp+'QP0'| 0Ѐ:OP'2KP -P[Pg`$7?W06uh ? ഠ 'ojR吀7䤀#`$_H[0àwD30$ξ )5?BM\]enwzvvja]RG6n>7(  ¹ #$)./38;=?DEGIJJMMLPLKLLKMKKJKHHFFACCA<=:7=3161.+,("%"  '/3>=;::;?GQ[_aaaa``^\XRIB<:889:984.&´6ȣ,;]sxxxxyxp`P@525;EOYagjlljhfdcejqwyyyyyyyyyyyyxxxwwvvvuuttrpmifb`[XURPNOQW]emstuutttttttttssssssqnieb`][YWUTSSSTUUTROID<4,$ /K_lmmmmmmmmlkhbZTMHECA@?><:8779962/-+**+,/15:?EKT[aeeeeeeeeeeeeeeddd`\SLB:4.)%"  "#%')*+++*)&$  +7DS[_````````````_\TMB:0(  %+/5:=?@@?=94.(! '/7?DILOQRRQPN6LJHDA>;85310001359=@EINQUY[^_`aaa``^\XVQLHB>84/*&" #',39?GOV[_aabbaaaaaaaa``\WPI@82*$ #-7?IQW[\]]]]]]]\\[YVPJA:2*$   #)/37;>ACDEEEEDCB@>=;975422111234578:<>?ACDEFFGGFEDBA><:741.,)'%$###%&(+.259=AFIMQSVWYZZZYXWURNJFA<71,&   "'.5;?EJNQSUUVVUUTRPMJFB=83.)$  6㸯& !&)-/25689:::::998765432100//.....-.-......---,+*)('&%$#"!!!!!!"#$&')+-/1367:;=?@AABBBA@?=;8630,)%!  "'+/47;?ACEFGGGGFECA?<:630,(%!  "%')+-/0123444554443322100/.-,,+*)('&%$"! !61Oe"#%&'(*+,-.///00//.-,+*(&$"   #&),/1346778888765420.,*(%"   !#%')*+-./01112222211100/.-,+*)(&%$"!     "$%'()*+,,,,,,+*)('&$"! 6宗 "#%'(*+,-./00111111100/..-,+*)(&&$#"!    "#$%&&''(('''&%$#"!    "$&')*+-.//0112222221100/..-,+*))('&%%$#""!!  6e  !!"###$####""!   !#%&()+,-./012223333332221100//.--,,+*))(('&&%%$$#"""!      6,.("#%'(*+,-./01223333444333332211100/..--,,+**))(''&&%$$#"!      "#%'()+,-./0012233344444444443332221100//.--,,+**)('&%$#""    6pM          !             6d                              6|4                        6,1            6     6C    6)%66ڰ6%!67626j          6/i&x8SVXVH6{c)DR& MNAMEM1-SNAREANNOAudio MasterBODY&耀t `pxoxp`πȀ/P7gxP蠁?+#`/{`p_pߨx߀ @/kt /p4+K?` /p?~ 0਀p?0G@[` ??(?` ?@@ϐP䤟ȼ ؀P6Qow@`O `| *W(/ @п䵁@_poP?d _x?`~OP/T_|p(ܠ?ПנP@~w_~2w@/WP/]8ˠЛĀ؀0ʧNw@?``g~_px?)_p0(/Dop~XdȸЕ+GԠ⠀ 7,w_H%?wy`0_ti~ O`D+Hܯ/ЀؠЀ䐀ȸУoh?P/hW(p``7oP7rH7`?~D 6dAh؀ߨޠȐW ;%/ 4WhT|d7|DK_\?bH0O@ '$/_ 6/($ܰ57pW`(Yw6_hgtqy@??`!аȟȀɿ𠗋ġ`G74)'(W"' .=erb8?@ȿo|P/WTc@ /PȿЛ(װȷ'8QH 0/P2 /8?_{~D`8@/@7cPȿ? ذĐ/4; ;(.HG@3H *#8UP8O0/T 4!@/@3$-бԮ 6蠯ʰȢ(/270 @.G]sH?DȠOX4?0/U߰Ө 0°/?T/8= ?PP0*06B@740#2;5,+0ؠ+#)輪ب% Ƞ\QH?HN0/B(7(:70)3 ȤФ7< б/?33(?H@ ?V8 'ghmwXିd,ɨ4^?5?pbWdV<9OpR[hb@7CohHEB蠀 ĘԠ>*̬ĻR@ O@/o6` ?@#Oh L $'4:@6(+[R:.И԰ķ'0($  ?Yx 4ZH?J"Ŀ ȿĪȹ4   +8 507k@=E(  ȸ Ŀغ=K(74WX0)G` 3(#=Z@ ! /442 0ظ˰4)=wpDKjX@7WpP(+61(?Y47L ̬-/8/9,̰ O@ W`F(7* ?[8$64 {/&ȵ/9F0 #-8/4&/   #ȿ. 0 #?F`jutƤy]@0 `m L"D4@?Hc C#D@0 Ds@7c*T .qP r@0 T3;%@g0 TyP70`/0&qtˀ{.)EC N0 `'_b90 \bp# 0 B3'@`x &xGz@d0 8`.(K#F─< { T $  "< D0 P`$M> B0 H`$MC= a0 JـHc)s` ZDCg@`';x:*0xpp0 @r fphe @$ $9(y.-@ r 7 `0'Q]c0d_R@;ig%!]@:|$H$6           "!                   6xyW              $!               6                            6:            "                     6                                 6y4    !!                          6j                             6tv-      !            "       6x                           8 -z3 !py'.OZ1ox 8|?abʙ8x>s|88x8Q۠x&'9 !( |'C?d,9<+O`S?bv `&cI Lg/WoA i?a %o֘)}D|yywǟ ȟp w2DMy48;H)Ty3d~o_WTs#+7(aj(jcS'wo$3?. 'sB!0*3 t<ӻn}X?Ї?<00k 9?9 ?ǬLi+P>0E c1+l9?!ef=?ٳ`oq@8̳ò}_VFA?Z 0_ge>G8?HwAL9?> T=,(|@iop)or|>C{c_l/?_2܂ t`r7qr gL<$ z?`|O~?A?@x/KqgqGgw(c' k'&0''n~ dz0 .@@iJ =F"b%8"; L@$lw@¤~]1P 0 9 #" f` %cU㞐S ABw? @O ȸYx:Ϗ )JP r؂Ԍ@q/6w]h/'!w98DL2r?|»~ς~h>vgI`ѼL#c}BGy(7<<109Ko'6^j ~/ .Q?`[?|i-&|oo QJB@sGZ7('|~"ˆl/ >wok@= H< `d-À rANOD-i@0 b/p 6p08) x? ?IAPBD AB3qHX @>@ 蔗,#B p_C B}ɏD 0T Z<HMB.1=0b h <C(x{V3[F (3 cMX6W'ۇ:FY燥 ( ^߅{ .\nB+ Cj5]1Co=N7/¨& Nyn^?^ЈH\={"6~p998yK0!|jLJU $D,Pc8 $ACTp$ @v+|!2}8A0\$pB^0K?&94# O\3 '@0P0x=@CA/<'#%Ὲe>YL~LoQ`܀#h-}?~2xr&)2" @__ŤDD`$z Ɉ[ČOoO9/#.!tЛ  @ +Ϩǃ'y[Gy_>{+ @>*4l>[-dkKIE8T3<,8T@ư^`Dۀ[4E G(`"w_cw~ 68*^=H?8b;!*hw2 _|_%E@([ka8<y<̄awl!x: ԟ \6U@g3 "D ~A] `ߨ_>u8x 6778Lu8$Br 3=W@~O.d2z~ rh!Aa  7h}o~O!ސ>q?'? jAy7OoM qZ\uT ΊܿW/Qݿĝq}h<?YO#J+%s; q@h2b"Iq},o5rx<cŤor8ǁz@J<xpp<xg8p<&_ <3y8E-' $|l[v>cY9z<;<#8߻s>ϋSx| !_𻱏7?ϽVyϟ=yϐIOvp7@~$@#qCy9?,>ƀr ǥf`1?3v?nǎl![?0 #]?t30 s@B{շpe ZQ")<>t^q€~ 0cMtJ/L[F88c?ys<&'HO!Wbx>MpU>B?1p|!?,<1,{%,<Ҭ01@QUO=#'y,{Dg>.C#bSV8jMY8( 0C~ rxveQI .=;|L| |\?J Pyapc1y ǎǏ/A<>Q;hg `3㈀Cɟ _?#ߏ8xA?ױ&g 0+C}2u'> N@8/d,c7?b|%psI}AvnA=|y^ @~no'n~2 17r 9~C!.\7L0 #]?t30 Ѓx`׾rלO:oOr xD3d7y? @ H.$BDRT?M<< 8J !KW<`C&(AJ@PB D"!.==^w`/tؾd^K=/E ?__'rn@0@31##+?@B0 ` ,ADBG3[:*0xpp0 @r fphe @$ $9(y.-@ r 7 `0'Q]c0d_R@;ig%!]@:|$H$-yO6@ x` ~p') p> &?Fa'|a*45C'A6|o ?&PD@?8~ Jhg4?vpMJf@p0P   <?@ #/:ykxK?<^{=T|?؟ʂgߺ?߹Iqן;?>gxz=1y/4_{uD"A?qWsKC?}r)*?اSO.ߜRcr0?ݟ> ͜)4n?ɺ|zm_s_?z݅tޟ׻{=xu}uǿo;/}xXE?_|`Lt]_>ǯaobˏ?|O~#Mc.}/~T|~}wWd|usq'<'{<{>>G~aYWU?}_OߪuWߦ/?C/eÉ<y8}\//qp:S#?{s׻B3{_|H|r}/_wXϞ?5}?#z~oOz3 n:?Tds_?yX|郟+~b{)ay33{wG60>s=jC3x9Ώ_"dϿǏ =uezQWɺkE{|cߗΧq0IGx<~~\ŸY2`CJP/_ǟ??zIo~c? μ~qM< { >w?I&S{J<_+/}>s׳^1{q)׿?O9'Jt>z1\!M~s-^Sż~ͽ3EywGľ`9¹^8\ϼ?Gu/ >ǜw;[9땏?O:YO?m8`t8/uٞ^[Uz(dx#׾2dX>IU߯8N?Qz=g }>OÊ;7Ǵ I</]|4B:81cB`?[I?8!y[?1~?Bqjzp^]=/xLz2=v q~oi?Ï:8'i޵{y,O4ձϧpNlzy%q8[d|m;޿V)}Ǧ8>sZ)~'ݏMqs >DzdΏ?\NXWO<'Gd9p|xE}7Qǫ)i:Yd$o(w_V }RMou9xwc;hD'߶?; c ݱۏ_þt9=.GG^=<%}ǿM=)2 Ix/YU{׎?Oǝy"OSuGc/6'f?ο^ʗG3}s~@/Q!ކǝ='g79}ySh'8>Qc%q}O]}i}@G׏gP ~Oxgqxo{SgAgi+C֫F~z`{Gq⒲Gn}9Td(0˄} ϧ6;wiwkr'&y8bfaecga;:EDc~-$dT4tȾߟIHUCীoDKs<'|pPW0 0B@Bx4@7L0PVzԏ `vP'>e =~C֐?xiꞾ瀀~SMW"v0ﱁ =}7{Pc@N*"c0d@GfabV=$X}@ ?bF <{i{Y c 1YgW)  `%)%`dogϜ)1n(|)h$_`R'@1X )<핀 A `c%<=)@M44!NNaN U!4̆@_C__. 2@4#D]!c{HP !]0(Kc4H M/}fAg?!b ! LГ( wS@zh ,=@HJjpE%0†'`A P# #@@PHo"X !`A5]p`|"I^RȫXe ߺ0-%@\T# ;oH"!$0IEG+~3J` 2C mp1n1D@ 0CzS P+ɢࠔ{ A@B7B .ޕmb"_; Q) `ՐŎr D 0`H}"4' =θ< 7 l!@8@^cӼ YxÅ,$2 ! :(,G.?9YOc@dT @$0e@P iz U`WHxYPN@`h&* {(x%]c2 WxD@ `E)PhPp"AU` In8F!lb?8RBٰ*0lYrRP@ Ya -(Y$!Wu l$Id6`  bC&1,lKcP S@ =`f΁A;yH8'w@$`+plx0 ,͎l f2cx! 8m@ w8h 8w;#5+!6 4 )A#v '#!Tl#+`C`Nlb0:Y 20hz ǝ ?Cg++Gv1` gn!Evvzc{@`tƀ6(RbGv8@;L5?>ǰ0>Ǟ |׻%Hu?:v:^83(p9%"S+AД"L9CA2 U9 1o;cpD$e #=@T3 `2Ҋ_D KxԫȈeὀFH"A T^20 k~WD ,g2I<@q ${p  K?`#`6B nf(F`\͌|]L"=|v> #=?tȈr8G[  ;<`lh1 px& zN" A2leat06%@; <j'P!!6@ lgw_$ (# JA&#!W@62$XP P;X ed(6"vs, $ 8%C@2YR~2-<c`xH( }A@'xl|~ 43|Ց Āaaj<X_0!HNX8&}x}~>[,>܇}.@yCR2"wW2` .t~_|WsHDHѴ?4'@1b0S@ 53 bBV'<^(E/V>S" 0B0Q1D To7<0pd 0foHI@ `*?)$E Mj zv1ޓln]۶= |d2 ;~ {)Jcv4!`  3݀ .'$"Sx1YA '`B$|(v& ?Z9A$Cy #|zV ~(  ? +ƙ]ŕ<+0Mvh#Z`P $/!W`R fl3C,p7 `TQ.,\\ (k`8d&;";*\&L-4(qD@`uB;? =x d ~(ɃY`3E@LB_ 8,ʰ r L?"@MӳCc`[ H-+c0!# a00 _i69--s    .-oo|]A9֗i֕apD-GTCWb+c $q+G) #pgC`N/O"CZl~@`6(MFf0å (%;QL80`>6F(?<?c$D;el|C> q! A a ?`N OMi> `HN 9@4?M{ ~ }D>?L8?u'"~ 5ws*)&ǃ96d8&>y&- I>|yW `x(~#G oH<;1#0~Mp1<}! C'Mƀ@tg' |1pg}Xǐ 8avH8]l_1ϱ 6v w߱ :?>}`x=|/=tG ljW`~Q?߾lOc}O)&|X8{@Wϱ0W>}Q=={(>9ws= g$p!}=W`w?(~ᆌ?Q8q?2se'D0>ǂ<)? $vqq8 (xǜm/~Lٮ<Ͽcfxex OWN{wO\8sm6c0)_|vs# Coܯ)>>h=%vAXXF#[?y¨*0cQQ c~Mr0G4Z` ?t㱆E7*47lxο_ ݱvv)f~ /FvF6Dcc{ lp!6c`v8m6:D=ep|*'wBc6< G¶8M*Q=ӊ$שּׁ 9_c7,ocV_Wv:c5Sܞ>KNWlrbBN G8?4(!ZgAO-W`Bv  N_,rg`~D_c &]Ǽ}c@e|`i 7^&\rGv8 }O}<G~ ϱ?p;zÎ= 0? r|c~_!VuY=A*?Lj/`C_IpKEv- ੿-@߆^ؐNx$+(ißĎ^`D>\m$׿gDv0-9Qh~Wow?v|gxAz.qߪSD=lt}"}מx2!6?{ccyK ]tMr fϣwݎ/c#k1ٗéM Gy6 'H/J:G 5ʸ(+o1+'i''17B @z'Aޟl|<#nCog3Y D whcD[/+{ _CcݏP{?jl7 &v|9O F͛D"U>}Dsnv?=|{c>v펥"xe@qx q߰#>DŽ ,$p[ἡ{z <(݀ǐ0c,g\YZ3l{s?lsP\!㋰O  %ycfE[Ų? 02&L-4͎}l:=?|c`d{,IG`8Bg;4s's%yO(`$|f]C%)qFǟ y]p 5(_] O}#tIn} :#|">Z5F@vN.C~ ?`N ~[R(?VdLgCr10ߌar֜/耀p/s*q7&6b(fܴ|`= # =@ !<!ǐ1GJ?`:o!r\/ @R t4Xc H}{G7`>OJ+ 0H  c@@ flq1aG Jh0@JFI(}@O 64D.à`3\`p#cNxt<="'τp9?`\ \O/!2P~ ODn2v=tA`/2\23 `2/% AdFR ls r?+Ӆ*` q6 -l _)ჶ7D|WF Ggx@'!y?/0q@ c c OI{8VG`A[J;@NZ cc># ;  4xzuϳ~p@ӓ.Mb 5Owlt`Ǎx(pA[8XH@ 0XQ#@ \([6<s``P >P%ɤy'Q+=l`^-d0~"ZDrű"` hePr QM tOǰS" -0 e}okAT,liHX@,$p80<3׃>SЂ4,?ߺ'(FlLXcv!ExĆp rgn1F^BM` 1dB(*`&8"% "| a2lh"S͞ѱLaD% $Ȍxb!pK@P Fh?`%`b# [ yA/aŝRc >3cN@ c" ԃ>o`%-ɲ(gA{S#C $Gd"|; tw` @? 5#U 0;```C`A`@4ϋ?`<@Dg 9cBȄlrk&2P`pM M|@2l/H2ϕH  "D, Z60! d!$L)Ѱ/~fnF`2 M+}iPho&5aTs{~i 1<D~cgog l(#B\6167 ABHIKI Q14I:x BB?@XH'@b ?c gG5cE Lz.3Q$c@v`,POL R>` aߋ3q"56 )z0pv7"/c?WcK? ^}`|\p}n&;]DK|@?;e|1S0чcc?b'c𿿵=7H?~^-`F/,y=z] coƛR??Do 0^mB}Bwavk4Դ@C:v81y@[ aD> "BW|jW;{@]yD!Jÿ zۗ d P{Y? Lox#Վrx[q2Y^ tA=; cv l8O>/>5` 6Fz*6$`9Pl_pO حqH&%vdR2B ]i{X}X@ Dȩ hFa`!*6X*!0,|.@-E=\@I7Q q) A ;SA~20_Z*| <;7Y6?YNk`bZk1$(D]lS0~>̀ EA[?l6 w6~6J~=2Mx,C `[cAK X}8#(;p=S ehe~ 0VA.bxcG@=>c_}0-P=v:\l?ϡ`? e1H e ?U"4؋ :"`sգ l(_ey.݌\ 8>N^Wl}? _(oQ"Y 7e1ƗX&\~ xtB>g |G/O<|>ǀ8_`Up~ziτp9yc~u8 9(l|1UN"?Lj/lIzA_ﱔDUJ UJ{Qs*~1[G1@ּB6"|ɱD=0 9'W``>f$vfǝ M^pFg?O8wgZd;c{|w>t;L|M ҈quF! ٟͰXoft`6Vyǿ0Cv{p[voŠep)lu!?PzMߐ#f~blrqZcLSt<'{Ͽ2ۦ€>cxNl{(r x;(cT<@Dry؍>6qؕigY|lŷg}|a.*68f '|]Wz<H@{*_pF!2'L{ܶ¶:d/B"c#!Ϸ!'w8? 9dV‘%߿ܢT>FaoEBϟ_Ӑ?4ߪ__@ 50~s Îbc)c+ }ټO6xmuT7>2vO>g`/7$ 4]EY x߹`~I30$# Yh~`F0J 3jUJ!DŽ|x LFdDa&tÀ8"9G 1TW8 tH;d09Gl}߳`d(gp G?4+ _+Fq Y?i(v잴;w|P ,Ma{߲ؐ Dnx7Ͱ! 4/`p|Q_& Ô?4AD@2_C&h`?dvf scv: 6{+W YXgg4GLn /u*S@EӳsOc |}</`X+L#:LAѰ|(gs߄6lrp| 6iGŜl{!*)C獎&6cw%%.-kz!v+plwG`=`%F -U]@qq.EN`Á`cl< v{6 @ <|<;MB?A_@p`TFvFA$1#1  (`  $!RF<QS' ́, Cr10?_`Bw ?_c p_8l Yzp"|`&@'aao(g|QLT@7O !oݖ<=T]?r.>7M(l~H#.~p8jSD?w?fop=G|ykAscz`öTO`> |m06E"_5Ws P 5@n={|pcA36gf`~y 65 wdO)=$O11=O7 Wgl3I{L0p=Oi<ߋ_ o " <, 8`/_@1>Sˉ|k/OiX|`@` y{qd3pxO8?kzC3kLh`{a)T,As: 9#9#M|G&u%9'^xd(T!L|@z"(|<s& WaR@C o_^П:P2k>Etՠ+qIb:PPρ\`,#8G ;#L 9r@!0@7(/8&f0 @~@-a>œ Ǥ747K e'Gz08>ȃ?%|0 `5S1_[898@8! s@HALB$ @ Gx84R6`3, r&0 &p`>NAv. 8J58|,`1:8a`  8 oIk_h| όДa@`0B,f vQٓKb'߆*PcFƹ~x`? ;??Bv ( 0 0<`6&2r) ܓ`g;{>X |~ *lQ@"^DBE, 6("; Crݳ^DƉpI F_|`aY\T@|pڠ`Wtd1?sN'<xp9:HlppIym&9D4H0!B@I;$o{@a23nj~ȝM {cgq @HA(2z@a;3ϳoU7^?͌L? ? dPvShuw9f dF)@XFw$1_;90"qDD&p8 9HIsn\? C !vHq xqy r@'?}+"` p@?(8? 9*/RA]gf /|(,@3  C9(-wBjd͡7}('Пtf:N`u{}pZaz7-=PxfT&#Jr w#Ãc0oA``.E~[ W  C轤1KwM.?p=ق|l|Tp>H?l|<3`LM+BL!0C۪)e~q?'_<@4|`|峇fO-h>X?@@# !P{HhʌsϲhO4'5.x^ƹ;e3B|05$  2@>@|o}?C}sT W4$?? ? >>dO#4p4\  =/;H  @?F}8@oY/!_:`qiAD "'tD&ppHNH !!"8#iG!d # E\{?;{m<_!@> ?~$@(i_Oc0 |   A0 \ -]3# #`Ou#b >(LrdPG LPyB^Hp$ 6@c垇; pJ`U!>`x`!>!&dH@ @ 8p.LLLLL &{|u\ MB@ָӜ<⡆\z"+sm0_+ &IAwK b EFi DG\8lc,C],#&qg ;0=a `?"^H6Aa4N y} dP=``;; (`@8?;xP>ypp'р[@#=@0 Xo  a0TIAOAs)q?LO\F@@= `&BwxX* .`,p<u ``@@  ;$L 8tI?h.%'[*iC{rpb: kۗ۸x I+=u ˝*%5Q+qTDc0.iq9w,n\+uxe#Eww[qxwyywꍻwP/k=qLsf|v;k<=w{Aර_o+Sq<|A"%7y(S<95q;B0gqmן~=1o ߜB)BL0Zf޴ztߧi}ykp|h p`#v0އ+p.ƀ6Iø7iT9<o!|I>Gn!z#ڈ]3u0.:p 3? 0Kۋ?o! 0AQH`_!{&> W~9[_}9L7>Ƅ+0&$ 0ݫc"BĄ+^pC {?(~Q@/6 0$)8A?aU(^H,@[+c >?>l tu™8|B4 _0}0->Xf@kq(,'P8ð1^RL R51@KST Nǎ4*j'(Gd6Eީcp;-on `@,d8 #w P2H 1OqG}?DP&/TO6}@6rQ.1y UTyzVFJ KȦ 0#M,$]jȎ8A)-_2$04!= Rz=GA !l t) & PX"Tt1ye?@ G7|7684?is$rK6ЈD>?7BKpun' {6I20m=P6\^€Q,Ё@sɔO~|{^66 _`@b@x HU0 @hVT`|Da~ {D>`< $(&(xMFNH2s"LJnv >H@ÀAp(B`8  t0{4"6:d"aQ\mg8<D((O9!!' 6Q_`Cv``bd*DYe`#`lf 8@ܸ 0? `  `<<<| ?p0 @| p@|  px@x x??`!_? !``> x? @ 9A<@@?? @ 8; < CC?C? @3@ >  @p  @  :BϷw9 ~@ !@  H   0a@@ > >8 f@@@<< ` 8`;CXSpllp`p p `Np `Np pg$pp p (80`8 s488`~t`8  <{+?À  n   @t@@ H   0a@@ > >8 f@@@<< ` 8`Eǹcb q G R 2 ˲ rNw ǁ'wc@]XX\\X]X\X]X\XZZ ``y|>`,F#FI)40`N P 0h9g.0 \`p!'Qz=?=F}Z{Gp=x={ H7 Is={ 4|>'-KT^Z`p`8?PP?_`@`8``0?Gp`8@`pGG??xpx@y` h<xx@.Lmhh `??xx@  ????xx@?????8p@??? ?x?p xp/M`? ?<` ~<0??8x < 8@p??8|    ??Cp|(@0NӾ5 @0 @0> ? ?``~l  / ? 8 ??l @? ?? ??3< ???``@?o?0?1< ?1Oԧ```?/??1 >@ pp0p @p@p1>? 0??>?|  q0 ?  `q    @ ` @3QČLEp?~~ 8?~p ? v؞x v  О v ؞ p  >!?5X x4R䅨L > !0H > !?5X0p `78 p 00 `78 p? ?00  ?0 ?0??0? ??5S8>0?`?`?? ??'|0?'?'#f<0#`#`<   & #@ 6TD       #pp @1p@`@@p @0<<<0@X @ @ 0 7?͊? @>?>@80@0@0 @~`0@<@x@x? @W ~@<p P _P ?@}0/"V= @0@ W<x@p @$W?<x29 $<8 9`<89`?#WsA~<8~m`p'><8>A0c`x>< ߀G68Cx??x><'f@CH??x><$X_YG`@??x><@?Gn0@???x><?o;`}?????x8> ?? #p?????x8>  ?/p #0??%Y 5?x8> ? ?/18???8> ??`/Ā 8 ??8>@?? / ??8>@> o@@>8<@~ GO 0&Z~8@0 ~  ~??~8 p@BC7p??p8$@'̀@`@?99p$_g 00?p'[fF(p_G@  `?"{{p1@_G@0 00xX???Q_p LU O@??   x !? xD@$! @ //(\ư> @ f@2c@?PEOO?R@#@?@ aS;ߞS;ߞ??8w DCKSKS??9 ux60ek)]k? |_3_x0?f NN??|~8K 80?!s!s??>?s 0?^Jo`Uo`U??` `/ / *^ ?p `0V|e00??0  p?*??*?????0 ?D??D????_>8??@??@???+_b_?@8 ~??????  @8 ????@8@8@,JJ? o0 ?  ???`8 ?`@p`?P`arm.;"a??a?? `    ` ;?byq;@p?@ p`Γ`?``?f  2Q]c3oh??2$?? #T ?#(? ?? AUe? @??? a?? `?? !?w? @ dk ?? @ !_   Qll<#<<<20eI:x?]2x01 ?? 1 ? 1?616070 ?"F00 F0,? UkT0U f#bkT ?  n)[ n )[  @; 8@; `? 28 wy8  28 wy` Dؿ??$0E'A8 ogX_78  E'A8 o@Y=YY=Y f+_+_ 8N?''8hL>  7?D~[  ~[ >  |@  @?J UuwUuw| <? P |@ 0 ? _K??_K?|8 p<? i耦@x @@0@G ? ?G ? x@  x`@`F `@ ??? x`  xA@`<A '??'?xp`!`p'Ň:? j]*b?:?xpp! (`6xp@?! @$@/E/E<p!0 #" G?W>p!Un?a0>`BTo+o+pA`#@??p?0a@A`q 0@GG<x@@0@`@O<x l$k0   0$_wOq[b+0 0 ` 0 '.k)lO֎q0  0 'o}xOmلu/p ~? p '>C5[~T mNTa;/` I@` ` 't/NHQD`  @ ` )"@ӹvi` ( @1@` @` zj=M  @@` @0` cʷ> 0` n80` DX@@{ @`   `  a@`  @` $@-JX0` 0 ` %@`@` `@ `oe{ } @0` @0 ` @ C @ `  @ `  @@` @@ `  `  `  p1?` ? `? ?` ? `?  ` ` `` <@`<@q` 0@p0@p pppp p p pprk 08 08? ?@08 ?@0?8??@88@88??@88 @88?? 8x  s)88x?@8p @8p ?<p  <p0? 0? ?p pt1Uy?   @? @8p8p( 0( 0Dud D F ?#? F?  ? B  @@ B @ @C0@@C@0@ @@ @@ j@@+P `o| @+P@+P+@ @ &  7 @ K7 K77 &*0   +`  }Ϋ`0 }Ϋ`+@  0    0 !@  ! @ ##"F$8`~t`8   ?À  n  ? @t@@   0a@@ > >8 f@@@<xQfHoF?`_} yXBAFHoF?`_}yXBAF(\>u}+_ 0+X>%[EPJHHH0+X>%[xEPJHHHԧ)B sHx -~1Axx :Nn{_ A H-: P:Nn{@ A H-: PNw %Nh߯@7[=ry "iFݽ`p47[=r8Fݽ`p4FȤ<`8@"B9 c808#ߟ>H7>; #ߞ=>H7>; _Fq!( `FZJ8 ?47 Pj478PjHI8@5 B8f 8W c}\??#W0c}\??#H@0z]B0<0  d @@4(O?+"N+"AiYI@"@@ +w@?O+w@ @ @AB@@O{`@b+"@@>k '>k    ~'~   ' x,0  ??' @`  |* ? @   00?p??pppx }/Ybx8 8?8  p@8?_vV8 0@8?  ~8  @8  kR ݷ=4>8  848  8zoﯿ?90 0?0 0?$?wy~0 ? x 0?_?%\wh$4@p@p@p``?`000   :`:`:`??  _ <`<` 8` A A}9 0@ 0@v{oa@a@~z{aa!7TRB1J@H  a!7TRB1J@Hw2T xȫε1@ ·$%BE  ·$%BE 1x{ڽ@;(q?ɃV µ(q?ɃV B^MZn/6|=J?uF#pv~u A#0#pv~u A#0W? #^plop@;'0?o?0?1< ?```?/??1 >@ pp0p @p@p1>? 0??>?|  q0 ?  `q    @ =&XD` @p?~~ 8?~p ? v؞x v  О v > v؞ p  >!?5X x > !0H > !?5X0p `78 p 00 `78 p? ?00  ?0 ??0??0? ??>0?`?`?? ??'|0?'?'#f<0#`#`< @On&  & #@        #pp @1p@`@@p @0<<<0@A;ߧX @ @ 0  @>?>@80@0@0 @~`0@<@x@x? @W ~@<p P _P B ?@}0/0? `  `<<<| ?p0 @| p@|  px@x x??`Cc$!_? !``> x? @ <@@?? @ 8; < CC?C? @3@ >  @D-Ip  @   ~@ !@  H   0a@@ > >8 f@@@<Ev! < ` 8`llp`p p `Np `Np pg$pp p (80`8 s480[S>8<@~ GO 0~8@0 ~  ~??~8 p@BC7p??p8$@'̀@`@?99p$1\V_g 00?p(p_G@  `?"{{p1@_G@0 00xX???Q_p LU O@??   x !?22 xD@$! @ // @ f@2c@?PEOO?R@#@?@ aS;ߞS;ߞ??8w DCKSKS?3?9 ux60ekk? |_3_x0?f NN??|~8K 80?!s!s??>?s 0?^Jo`Uo`U??4ӭTB` `/ / ?p `0V|e00??0  p?*??*?????0 ?D??D????_5:N@>8??@??@???_?@8 ~??????  @8 ????@8@86@? o0 ?  ???`8 ?`@p7Gx`?P``p`8?PP?_`@`8``0?Gp`8@`pGG??xpx@y`86 h<xx@hh `??xx@  ????xx@?????8p@???9Qῳ ?x?p xp? ?<` ~<0??8x < 8@p??8|    :Ac ??Cp|(@ @0 @0> ? ?``~l  / ? 8 ??l @? ?? ??3< ???``@%0$<#<<<x?]x?? ? ?667?"F&F,?UkTUkT ? n)[ n)[ @;8@;`? 28 wy8 28 wy`Dؿ'-e??$0E'A8 o8 E'A8 o@Y=YY=Y f+_+_ 8N?'('8>  7?D~[  ~[ >  |@  @?J UuwUuw| <? P |@ 0 ? _K??_K?)op?a0>`BTo+o+pA`#@??p?0a@A`q 0@GG<x@@0@`@O,1g2<x @0@ W<x@p @$W?<x29 $<8 9`-; OQ<89`?~<8~m`p'><8>A0c`x>< ߀G68Cx??x><.YئI'f@CH??x><G`@??x><@?Gn0@???x><?o;`}?????x8> ?? #p?????x8/s(>  ?/p #0???x8> ? ?/18???8> ??`/Ā 8 ??8>@?? / ??8>@> o@@80>` <|??0" ` ?00>8??0#o`? O >{???~ ?0108000|08 ????08?80??wkV0?8 ??88pp88 ??88 p88` ??8x 8x0?8p  8p?<p  <p8? @ 0? @?p p? ??  ?#? ? ? @@@@!]y@@@@@@@@j@@+P@+P@+P+@  7 K7 K77*   +` }Ϋ` }Ϋ`+@      "J9????    ??#%??fQ]??$?? T?(???Ue$?????????w? @?? @ _  Qll0?p 0??s ?p 0;p ??p 0??? ?'x @`x 'x p'??Sq8 IJN @ , S<8 S?,? ?;8 @}6 <?8 `@?@6?_v_> 8 >{^ >88 `h%> ?&@^??~O-` ?8 0sg0p@ ^?p8 `^ !p@ݷ'8A ` 8 G! ? 8 0? !'4ϓC 9? ` 8 0$88 8= 8 8> Cp'ﯿ?Gp 0 8 9? 0? 9F%i?w'0=0 w= ??8  0? ?0D'?!\=0 ~x  0 0x'tOqS y0 |p   p0   @0H@'< k)d? ;` *  c8`  wC?g ?`  g ?<?`  Ϙ? w?`  w@ ~% ?`   ?`i. # ??`  #@  8`  @08 ?p ``  @,?  <?`  @p 0 x8?p`  G ?̯? ?ϐ`  p ?> 0? ?0` `r? ϐ` ` ??@??p0` @O??< ` =` !Á g` ??<<p` ?8?<| ?` @|`# ?c` ?<?|?p0` <p@`?  ` 8p ~p? # qd>}|p0dp?8 x?x y_x p`yxx`x pp_ x*|~|G {* `` x|p *|   ?>|? >8G? 1o |G<1>~ # @?y a% ?/xx ?  O x8??y {@;q `x8xq  7 8t?{? 9s8/ 08px8 p b  =`?{ <|g?=? 0<`p 8 <*=?| A < A <?g? 0|<p? )g >0@0 0@O x {o0px 0`O @ ?` @ ? z{?p   7TRBJ@H PvJ7TRBJ@H </ȫ? ~p/p ?   ?$%BE  ??$%BE p;ڽi ??pp x@ ?ɃR µ?'ɃR B@1%/6|=J?p0<0 vuQ A# ? 'vu A# g' #^plo p8 ~ `} yX@`}yX@p@(\>upp@8?c /[EPJ~??[xEPJρ ! `B sHx , ~x v89p! x  ~Á_ g{_ A H ??{@ A H8zJ%Nc8 rFݽ8r8Fݽ8:/8`8@"B'7887 8/ ߟH_hߞ=H v? ɭi8 `FG8|?p?  P 3p8P΀<@  8>@ 8q8p~|2$   cw}  90cw}@ @0B 00<9o A 8 3 pd qp qǏ<?$?xpN?8AiY0?@?p@ ?p?/ +~'x>???O+~p x?@ p@~>?@ 0? 1k0 ??cO`<@b@;@ <c?|Q C1?o'6 Q  09Q >` C b?' e  `= 7U >G >?H '   _?  < _? ?H ? 0 ǀQ <0 ?Q|? Ͽ?p πs|8 ??<|6včd                                     6w          !                       6xƈhH    "           !          6y                     6zç}        !"       ''$      %$       6{ '$#     ""       "$               6|noeG                  #&#    #&#  6}" 8     #%"                         6~jk                                "@@` @ ` @o@  ;O @O ?0 ??? x?/ w/ < ?Y x?H)  G)0 <+ 8<  < p> <?` 0 ?00 8?\0p0 >X A >  0p?Ę>Ax? A~w<p |p$` |?$ pɼ?|`<$`888  |@p? }<6k)>      !      $"        ##      6lX#F3                                6m,QS)                             6nһI8             !               6o                                  6p_`m(                             6q-                                      6rN_r/                                    6s/6                               6tAGC                                     6u,/=,                                  6`O                      6aϢ      !!             "      "     !   !    6b㨔                                         6cݭ›                                          6d}                                    6e߇        $#!   !  (# Ы )* #    $!  6fb40 &$     "$"  " )6 +$#" #  "        &! .1)! &#           6gml +6*.-*'#            "-;840,($"      &+-2.*'$         6h&R ""+20,($!   ' #    " 0+ #!20$($!   -,)" &#  ˿)961,(#      $%&#   # 6iI0Ŀ%482.*'#     #!'(%"       $"$'$!           !          6jΟp`k                6UH(                           6V94]                   #'!! '" 6Wk   '&   $     (# # +( $ -,#*& " ,')&# $ )$"  &$ ($!    %$ "    6XDuK$  #    $     "#          #                        # 6Y   # ! $$$   #  &" '%  ($' &   '&"   %# &#(#!&"" "  !) &&#"  #!($  !  6Zg &%  $   ! %# !        !  "                         6[ky                                  6\x87                            6]RAK                          6^PSf            6_dhX!                 6JI                                               6K                            6Lt|r  "     #                                 6MMO  ! #       "    (!)+(!  %"". ,*(!!     $ !   $ )$%&"  6N2 (  )2 !--+""!   /*!/64+*&   $4.-$%$   ##'&&$!  $#      6O              !         6P16)                             6Q~`"                                            6R>aV                                6Seax                                  6Tw      $    !(.*&#   /0&(%"      ,1-(&"     *'#    ! &#6?6@6A6BE1#                                  6C)                                         6Do "       "         &              #       $($!  #  0$&$  6E,  &# '&   &*  %"  #+  $   '$##( #  '$    "!&!   ؽ ,*&$ $       6F$E(  "    $"      $               6GG               !$!     '%"  $*' ! .2(($!   &* &(%"  !*',($"  .*&#   "'$ $)'$  "(%" 6HL/&#*&# %3,&%"  /+',(%  -,($!!$#($!  ,*&!  +(%" '#(&"      "##   !'&#  (($!  !6I+`T #   "($  '($  #                             64נ@hPP0@0P@@hP0@P@0P@65RǞ@P@hPP000@0P@@hP0@P@0P66@@P@hPP0@0P@@hP0@P@67 h0P@@P@hPP000@@0P@@hP0@P@68 և0P@@P@hPP0@0P@@hP0@P@69 0P@@P@hPP0006: 6; 6<6=6>6)ǠhP0@P@0P@@P@hPP0@0P@6*+w@hP0@P@0P@@P@hPP000@:  06+s@@0@0@@0@6,70@@0@0@@000@ 6-և0P@@hP0@P@0P@@P@hPP0@6.g0P@@hP0@P@0P@@P@hPP0006/G@@  0P@@hP0@P@0P@@P@hPP060$g@0P00hP000@P00000000P00@P00hP00P0061~000@X S 0P@@hP0@P@0P@@P@hPP62׎0@0P@@hP0@P@0P@@P@hP637P0} 00 @ } 0P@@hP0@P@0P@@P6I0@0@@0@0@6Dw@0@0000000000000006 0000000000@0P@@hP0@P@06!鬷P@@P@hPP0@0P@@hP0@P@6" ⴡh0P@@P@hPP000@0:,P:,  @    @ hP       0 @P  @ " " $ $ & & (6#!1* ( 0 0 2 20 4P 4 6 6@ 8@P 8 @ @@ BhP B D D FP F H H0 P P R R@ T T V V X X ` ` b b d d0P00hP000@P0006$"x'00000P00@P00hP00P00000@  0P@@hP0@P@6%#ǒ0P@@P@hPP0@0P@@hP0@P6&$7@0P@@P@hPP000@X X X`X`X``6'%XpXpXppXpXppXpX|`X|PX|@X|@X|@X|@6(X|0X| X|0X| X|X|0P@@6'}/  6(ph : : /6)/  X X 6*9 //: : 6+ : : //  6, X X /6-/: : //  6.W X X 6/N,d  b ` X V T R P H F D B @ 8 6 4 2 0 ( & $ "      60t   <"<$<&<(<@ 6    nb2 "@pf .info.infocopy6 4O\X X,@6 5nR,: :,@    $ ( 2 66 6` @ D H R V ` d6 7V@  ,@68S X X 69eW}  }   6:n : : 6;@   6&HS X X }/ =$$ BP"B$ItXg jf^%H/.HjN*MNHj6N(RjT/ "yHi*NP yRh(NvA6-HO`,/N4H BBhX`4H BBhJCl//N8P/NX/.NhX/.N/ NhϋJϋPg..g / NX .L 1\2 @n  "FONTS:  ;"o oJfNu/ o$/ JgR`//NP$Nu opJgR`Nu"o ofJfp`S Iop`pNu o/ g f `R`pNuH0&/ //NS @Xe f `S`pL NuH0$/ Hx//N&PfHx:/N&Pf ` L Nu<?W4H ,yL NL@Nu/,y"/N,_NuH0,yLNL@ NuH ,yL NL@Nu/,y"/N,_NuH ,yL NL@NuH ,yL NL@Nu/,y"/N,_Nu/,y"/Nj,_Nu/,y"/Nd,_Nu  6Rl/,yN|,_Nu/,yNv,_Nu/,yLN:,_Nu/,y"o / N.,_Nu/,yLN ,_Nu$<T/,y oN,_Nu/,y  @.{"oN,_Nu/,y "oN ,_Nu,"FONTS:  ;"o oJfNu/ o$/ JgR`//NP$Nu opJgR`Nu"o ofJfp`S Iop`pNu o/ g f `R`pNuH0&/ //NS @Xe f `S`pL NuH0$/ Hx//N&PfHx:/N&Pf ` L Nu<Av>//NzP LH0 $/&/$op" g^Hx/ //N OgF2*HpҀ0*HN@"0*HN@//* //N OgL NuH0 $/&/$o`@Hx/ //NJOg0*HHЀЀ//*//NJOg $j fp`pL NuH< $/&/(/ J$B lg/<Hx//N/@4OgHx//(//NJOgv o$:(Hpڀ"0(HN@*$o$"0*HN@*$o$Hx///N%@ /$o8/* //NJO g /$`pL $/&/ (/$|`/<Hx//N/@8OgJf,/(`%o( Hx//,//NJOgl o((HHڅڅ$o(Hx///N%@ o8JOg6/$o,/*//NJOg$o( o(/h (J(fP `pL|Nu "Rz,"fHVPdC5rwNVH8 $.&. /N$@( Xg|HjHn//N$JOf/ /NP`RAC`p "Qn=%nH%n\%nT%nX%nL%n%nJLg jL!J `pLN^NuNVH ".$. n=|=|C`Ep $Q-h\h=-hT-hX-hL-hH-h-hHn//NO LN^NuNVH<<$. . $n&|&<I/HnN,HyHnN8HxHnN*Ofx`tHxN/ //NJOgZ RfR jfHBBJBgJ/<Hx/./N(OgHx8*DHU/Dc]ex/NJOg%DB*DHmNX, gF/,//./N(pOg)D/,//./N(pOg`D/,//./N(pOg)D/,//./N(pOgb)DJfJ2gRHxHn//NJOg8/</././N%@2Og/./*2//NJOgJ6gHxHn//NJOg/</././N(@( Og%L6`PHxHn//NJOgB/././N(Og/.///NJOglYXpmJFgHHxHn//NJOg@B/././N%@FEe5Og$/./*F//NJOgx/NX`x` L<8$.&. $nx(|BHxN*PfHxg/N`x` ,*//N,Hy/N8Hx/N&Ogr2*p€pfBHxN/ //N(OgJBgHx8/*B//N(Og*g2/*//N(O gX/*//N(O f4`>/*//Nz(O g&/*//Nz(O gJfJ2g@/*2NR-@HxHn//N(Og/./*2//N(OgJ6gt&j6r-A`XXJfHxHn//N(Og&j6`:1Z&/NR-@HxHn//N(Og^/.///N(OgJXJfJFg>/*FNR-@HxHn//N(Og/./*F//N(Og/NXHx/N%FP L|N^Nu/ o E` /N0X/ N\ XgfJg /N0X$_Nu / oHh/NPNuH0 $//<HxN$@& PgLHjNHj/NNJO fHx/ NP`Hx/ Hj/NJOg `pL NuH / $o$/SRn/ /NNJPfp`SR"j 0H#0H#pLNuH8 $/&//<Hx^N(PgX rNЁ$@Hj@dƓPNuH/NO NuH/N$ONuH/NO Nu//NVPNu//NPNu/NXNuH/NONu//NhPNu//NPNuHNPNuHNdPNuHNPNu/,o/,n"N,_"@#o ,_Nu |xtplhd`\XTPL VH:,:H<&/(/$/// /N*Pg$////NJOfGH$i    H,R  (11GC@FORM,JILBMBMHD@ @CMAP@@@PPP```pppDPPVhh@ZCRNG CRNG CRNG CRNG BODY+QI'JIJI  I12I> FORMIzILBMBMHD@ @CMAP`Ѐ`pppp ` ` P P DPPVhh@ZCRNG( CRNG? CRNG CRNG BODYH9KRF\[ZYXWVUTSR5  4M*i}\ `7= ^̐ep<.x5,F2nr "$f0H pxC(df`:*c%3#,6_.,"XγYw L;T*5nrA B (& ։>v2$D8n\.]3,0n 1. X96) tGy'=cZx x#_ !3֦ec6mQ]| DRzʀUwtCޙ4:sA8WJ %Ғ͸afvm e t͚CxP6#D*UQz $gF%E\sE97hVG"5@8o<^x:Z"0{r|X@R̶3 Ds7HUm|4mP=m<hynaN]5."E$! M+۰w4U;Kkfx i l%.0<*భxxΘ--C DR8w6m`:I}`^Y\5 H9DJ0xl͌3@-~a"ҪvXָ! p8`1"tx>xĠH,x#F7"h v` Ю*@Rp0b4%n5hhh RTp P`gBHxN &@Pg/FONTS:.fontH> o"oJig*<4)hd 0Hڀ`0Hယt(p)Bx(p)DvBF0H2Hg,p)2Hg0@< |(`0@ |0H2Hg,p)2Hg0@ |h`0@ |HCRFpFn ` <L|NuNVH?<$n JCtQ/N-@HnN-@&nPg=kkk/KU i" i8f`@?@@|70ߜ|70@ci<<1@ /TUf2T< 0@ V1cT| 0@ }Џ)?}мc"?T}Ѓ|?1jR/@?Hf@ ׊6dMJޑ(u2qÙc!oU1??KXӍ1@ %pldmQ%pyQTڏ}Cj0@ "ٶm:I}D8qMT 1@  2fL& <8T  0 @  n̝ٛ?<|8xqU1@  F͝ ><<|xpUKY=Ns1@  ؈ٝ 8x|8|x?U1@   ||8<U1@ 33fg px< U 1@ g3 ~> U 1@ 33 <>KZn U  1@ 3G3 ||? U  1@ 33 0||U`? 1?@ ?3=c? 0>U? 1?@ #3 >U? 1?@ ?3sK [?0>T  0 ?@ ?3=3  0T ? 0 ?@ }=yc}>T}1j?f@ ׎gqޑ(~u!oU 1?@ %p01%p>yTڏ?Cj0 @ K \T, 91qI}?xMT? 1@ 989T? 0 ?@ 908 >?U? 1?@ 91 ??U? 1?@ ;8 ?U01@K îŁE qg`xUp1@ 1ǜC`> |?U01?@ q`?Up1?@ sϿ8 >U01@ s`Up]^ʍ^ %5]TwFORMILBMBMHD@ @CMAP``@@0@@@@@0Ѐ0p0p0p0p0`0`0`0P0P P P @ @ @ DPPVhh@ZCRNG* CRNG)l CRNG)l CRNG)l BODY_$`/_~`DZ @8_/FORMDRILBMBMHD@ @CMAP`Ѐ`ppPP@@0P P 000@@@PPP```pppDPPVhh@ZCRNG CRNG CRNG CRNG BODYCad;d Runbcưilc  9bs3FORM ILBMBMHD@ @CMAP@@@PPP```DPPVhh@ZCRNG CRNG CRNG CRNG BODY aEHK8A"P$QX+IX+JHaL"mQ ,xN.&mP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_|z kg kg kg kg kNqJzRn/C m X"RSg"P (" (X#@P`.BC* m PP""m N."mQ N.LNa(J  K"m ""qPN`>aP`6JgRzNuJ m "pP g$" m (pPS L$I""$Q``HKe f$_zyxwvutsfNOT MADE BY US!! 3PICMe qaNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``T6 3^ ,@iMHl EA0!]E ,(_V$!v!OKH  T8p@j $z2c90zaI`I#EI/vp{ {d ]Jih.nCà`A_Ơ8r+[ s0k@RP iySA#Xe24A.Cb! #b2Eaa3R+Mp3 j "A~p3 fS S$D?:Rʞ$2X)b4 *{fI@ H\blڽ @ؐ lCX`6BH(2Qp`V&, 0(\+,TEE@i5mAZL)# 4/~$8@ 0YffG0[xI tjMW82H`cc(XTY`hYZ0diR 7T ! CB V1)1a`0XsA!I+P8h. Efjwdav9!8mh!_DlVl*D W!#ɂBA@0D3K+3CЀPX@z>hB >x-1 )S'4U|}t H t eFS# |1Aiq⁈ U08 @&= @s$?b9;CC820,.:A@ cȈAh3hdG.W @Ph  ppLIeA VIDXd " x,끇6Tbc 9R6j2+$ Znxkϯ*[ = @>`2CZC( V=`A6aL!zЃOP,W@e&>h lPYa "qZM $ E42_ 07,]@n 4k#0`K0)(""# /L0]*A<xJlW,`y t! 0R?9@P@H a*P )WSp'v@@*xtU08  dC,3NEVDED @3UX 08!,&eLp} BlaY8)Mcx@o}'=`:j@G0 Ű%@flxHnDZ$`e(s `$/ 1%\Cg@ ! +7${AN\ \1@zRRHW8 p-`40b|;@JJ 7 |I!$ P (N4, fp@fo\.p H!/!pd@43/*?0lmbilgBjfljk0 0D3K+3CЀPX@z>hB >x-1 )S'4U|}t H t eFS# |1Aiq⁈ U08 @&= @s$?b9;CC820,.:A@ cȈAh3hdG.W @Ph  ppLIeA VIDXd " x,끇6Tbc 9R6j2+$ ZnxboD? p P  @p? >0@p((( <x6nIpvnfBnLNu,XB. gf(C-q(=sH=sH/. fn`;sH B63H֮-C =sH ng -n =sHJVg>3Jnf=|a8=V+n;n;V0.yx=nNuX(\:}hS@. xqmegajarrest-16o 3:jarrerythm&@&st-13:jarresynth14@st-12:M1-SNARE@@st-08:bassdrum-6X@st-05:animate-bass\@st-03:explo@st-06:explosion1 @st-09:great8*O@st-09:great6@st-08:countdown @st-15:bombdrop>}@st-14:showtime:@st-03:03scratch1@x  6pSd6qc6r2X,:,:,          6g3       " " $ $ & & ( ( 0 0 2 2 4 4 6 6 8 8 @ B D F H P R T V X `etyRq< *Zaq-SkG|tTTL< :Z@AH=@  h2EPȐ!r" nD #>   PPP+`](? / HCC@W耢g@q@Q@7`Pd9p( }(`@0> 0<z 4E $Gt (ED ] ΀AACY•nr3P@P >(`|@(`th:H2P<  ( h l^QE݁Ceug@}PP ?P(uP(e(y0 t:@0?   :D dZ!ˀAACӀ@~#PR01 (B (ED  ] ` 6IAAE(ρ@@3P@ˀPP-`(`j (`y xh:((0PP<  h  0 x^$UCzC-@gŀZP@PL&(u(P`(y t6 H>800 (4 1 (5P07 (08 2P>x X  GA @AT@@P %P@@) P(`+P@Ā(@Pހ(3P@ˀPP-`(`j (`n@ xh1h(0PP<ev  h$C `Lz  z p   D o0[ Q@AAmsC IAAUCzAA.Eg0AQz 4 ( (ED]  0 & H T  =  7AFfBEȨ@KRA9QAWQAQAgZP@P@!4GAA(Q _ D‡("`eg"hEpk@$` GAUK_D@ O a.` O#BACGEFDGĂ0$ <*6! 9-rxɇe wHZm)HSP X83  B0H5 $9 Z0xT0  ApT0` /xa @AP<&9Hd3 .#p3 I@p48CWHg ™0dP;p3 E@" gde "A0 b@4p k E@(Gg{Xa\ U`$p f@Q @ `R  `\+(V _08p0703> l 8 4B( K88tp0f(0i 00 ` fd     E  B`D01Ad0PPPPi#4x5 L r 8i``c [̀AU`e xBmQZ|9P32AN@0 7JV"N8X,1 P p po`u@0oA@ @, [@'  X80`0   p @6:CJ@'` p < @) @ Ph,O@ @   (T:I@"  px|!L@@!  J5K@@# 0 Lf+N@ p <^ @D @08E@& "B@%@ 0,6G@' )A@@$ Ph:=D@&` 'C@%  0@J@# e ySL Ph O@ @  (TI@" `px|L@@! JK@@# Lf N@ p<^ L@!  H4K@#   Hd*N@ ` 8\>H@@"  Hdr%M@@!   F3J@#` p 8\n/0?D(A@$ @`8<D@&@  &C@% "1F@@' P-@@$` 0X6;E@& + AL@! He zsOK@# Hd N@ `8\H@@" HdrM@@!  FJ@#` 8\np?D@(N@$ @ 08<H@&@  Ph &M@%  "1J@@' P (T-O@@$` 0 ,6;I@&  x/ AD@& C@% $ F@'@ `@@@$ H2E@@& B@%` 8.GAH@" @`pM@!e X+ Q ` (TI@" `px|L@@! JK@@# Lf N@ p<^ L@!  H4K@#   Hd*N@ ` 8\>H@@"  Hdr%M@@!   F3J@#` p 8\n/0?D(A@$ @`8<D@&@  &C@% "1F@@' P-@@$` 0X6;E@& + AL@! H|7 - ZATBSC @D A MUZAK/WAR3 10~MUZAK/JARRESUPRISE2 11~~RUN MUZAK/PICM S PICS/1 S PICS/2 S PICS/3 S PICS/4 S PICS/5 S PICS/6 S PICS/7 S PICS/8 S PICS/9 S PICS/10 S PICS/11 S PICS/12 12~ KILLPOINTER 13~LIST ROUTINES 14~05~15~6~16~7~17~8~18~9~19~ TYPE S/MENU OCTONAlbert S.@($  *&" 򀀀~`~`!!1@@2##3$$4%%5^^6&&7**8((9))0_-_-+=+=|\|\0QqWwEeRrTtYyUuIiOoPp{[{[}]}]123AaSsDdFfGgHhJjKkLl:;:;"'"'456>.>.?/?/.789 hY߯A|g`a610Q3eNuprS@Sf< * QNu Hx\4Kl\}c#B@Lc'+:pxV>D Dt  C94,JK2)񅎱. :яNKp#R$"%b1 `a_E3`b"!@P 2BPBk8% (hAN&/D25:9Ae/!g8C:K€(f}A2{+yf!$43dâbsGS t$Q1 G@"L2atl6(l r47`Jt4R< & Qx%\'y^" F, '&MNƟNB 0։(Xz`_!‚'` <`  ?? pg 8>d&| ? ~~?7? p|4,?> ??'? ?` q? +`@ +ԟ?/c??@o@ @l 6@@_"2ɿ??#G~{~~x~CG?G ?G0 rNrN|1333;_#vH;# ;:\???< <??? `0???7_$7'CO3;b: +<p<~<b~ 0~x8|x@x9  03`xb|}11O 0xxppb@9x  |<Cc0@c2p3 ? p P  @p? >0@p((( <xbl=e[.%@lpSa0.Ljb H203:gbB$0$P1;\NDܪ̾8D(Bhf(JBT *| QB 2 ɀH04&# 0D! @$T <\ €T?ą_Bs "P(PPP pP@`:5oE&.@*  AW 4LQpĀʸ1}?1:t01f1uip>hXU 42 `<"*s 8O|y`p L(@0@A.9ea 2"K şpJ2+-ʹHEH0B1! a0CCwwe¸&wPBX /$)(DHED9"+ aa2bCo$$  c!00s( GT*&h0 XIЂE+ ,F `JPB L<PBDqHp@AJEDJAH6 h@UȁT  # ' r,P; ACLF(sYf`$QfYcD 00@FY.&"fPA$1yA($A 2 L F zHb 0I 2BP t(= D $@> P x@&p! Z Z0NK/ HH "1H!AP "\;  "h)CF5$@bHBHesQNL%ĄD0(S+$%I`*"D8(8BTё)`!M.v جX( $ Bq_239 ` : (A)£wBkB(A \ZG2@I`@ (*  \T *Ln(Y# J8da` bЩeak#Bi  y0E𤄈b8t`,ވ4]!@03$( $&82&&32!aAB̀}ĒKĠ}Ġ6}@Ĩ(҅9)4 C3dDYX" 4<,h H(hX8xTL_s+?? ?_?π h0?_(l__<@?<C€C=?<_<BBBB??`??8"_`D"@`@Dݿ??@ `X@`Xp` pO8`?x>|` x>|``|> `p|_x> ߟO??xp ?<|8>@| ?xC/8?@/{?0?>`|???l6???0 9Ac`??px @gp?_ ~&e?p w?_p?0 w ]` g x@  O@ @ 0 ?? @_ [[ AP A}O ?S S oO5 /A?cc /'9 ?'?q'0 qq_3?30 _ t3@?I'Imp`p8`??? <<0_???h ?_  Ss?rN ??|O>|O>? ?@ O1s?_(@>Q_u?H ?!`x??  @߿ 7? ?_}W 03 @3_33?9?|>8#?"D??xs ? ??0 ??0@x Ͽ?_@ ?\:h\:h@'ŗ1?39?39?@c3@?$$&d@???@ ?@@?@ _T`?G? ?0,4,4~?~R8J@?R{JG?R{JG!??t.u9uy@ƊaQc? p? q? q0Pq?_U+ _('_? ?``(??`? 0?@g`x_rb/? 0 ?/? 0 ?O_ P ߯? ?O_ P ߯?_? 0 ?? ? _??@ @`? _Ep@ ? @? ?@@@o??]]BJ_ r? 0 ?Q_^`z8`?;;@ o#??@?_ YP P ????? 0 0`w0 a? 0 a0yP_O0_w}d @p00```1x8 ` ``01x@8` ``1x@8` ``1x8` `` 1x8` `` 1x8 C ``1x8 _5 ``1x8  ``1x8` ``1x8` ``@1x8` ``@1x_g8` ```1x8` ```1x8` ```1x````1x8~>`0```1_ p}x|8~>`0```1x|8~>`0```1x<8~?>??G ]N #x>   ?8G!  A]DNx"0CH? /$`='x;?H{/ _'K  ? 0 # OȀ  4]## !)AO?@`?'JR?    Gx? $<xX<x @2<J82DI?Lx8>x8 f|$f<~]En?<~|  ( I' x> x~   >P O > > ? "$ !     &d@h c ? , 0  L ]cv` | `    0  p  @0 p~0 ? p0  0`@ $|`? <0~@ "p̀xp)Lopx8p~$p 3p0p?(p 9'1ٿ] Yp p0p/c 3p p  pgG@&p p p?n  p? |`p? ` p@p/] B3  @p C ?_?P ???? `$` ` 8`PPP@] gdH0@0H0 80 8L & 0 00DD@ 30@23 0 L   0 00DD@ 00 @33 0 l& "@"8 00DT@ 20 @33 0<L  "@"000DD@ 00@33 0 L  &@"] 000DD@ 00@23 0 L 8 $@ 0@8P@D@@0H @0 8 LKap  0 @ 2lexpT 0@ }Hle?}Ǐp?T}?~?1jR.Hf@ ׊6m6Jސ(u2q c!oU1??@ %pI!%Q%pxs2QTڏCj0@ "k9:I}DscK MT| 1@ TWf0T|< 0@ M>ϗFOU<>?1@ JJ&?U81@ Ufg1@ U1@ KU1@ U1@ U1@ U1@ U1@ U1@ U1@ U1@ U1@ KZXlU1@ Tʀ0@ T 2@T 2@ jR/fnHaU2@  ׊)6*Jރ׊)6*JޏU(u2Ac!j3@ ڏ_ mCcT 2@ ) :I}DVxFMUKJ\2@  N ߧJ bT 3@ T 2@Tʀ0@ U0@ U0@ wUw0@ w ,w{U,w{Kh0@ ,w{ v>{Uv>{0@ v>{ w o{Uw o{0@ w o{ ow{{Uow{{0@ ow{{ ww{Uww{0@ ww{ w{Uw{0@KeS w{{{U{{0@ {{ {{U{{0@ {{ }{U}{0@ }{}U}0@ }~U~0@ ~Kh01U010@ 01U0@ ?U0@ Tʀ0@  T 2@ P<@@?@.y\ `@@?@K^ZM`KRcZ01U0@ ?U0@ Tʀ0@  T 2@ P<@@?@.y\ `@@?@]I%:??pp94>  ?xx pxx 0x 300 <00 2 @I&ƒi` ```I'yXx 0x 300 <00 2 @K lk1@ ?sχc U01@ g ㎳~Up1@ g< |Up1@  1σa||T0 0@  !σ8q1|K cET0 0@  }cq3}|T}p1hf@ gs!ސ/!oUp1?@  %pg1Ϗeq%w~~Tڈ0Cj0 @ #qI||MTp 1@ cacKƈ]6Tp 0@ #Ͽ q|U01?@ aq~|Up1@ s1>U01?@ 1x<~U01@ Ke}11>U01@ q1#~U>1@ <3xO }<?U>1@ |190><?U>1@ 09>|?U?1K@ 991<T? 0@ 8{<T? 0@ }<9}<T}1jf@ ׌s c:ޓ(|<!oU1@ %pc9c!%p~<KɊ,TڏCj0@ ;C'I}~<MT? 1@ qr8?><T 0?@ g <U1?@ 㼆s8 <U?1@ 3Kʆ <U1@ v3 <U?1@ q x|U?1@ g"3 x|U1@ ss xx<U1@K?&   px||U1@  ٌ <8||U1@ ف <<|8@@U1@  fٙ?<8xU1@ 6fؙ  8xTI̕( ŇO>8s OUc8rW3PEo?//@? /?? ?!Ɓxh`c'AG!/?/??// oxI???!,|19Q3QP#. ??/!?  ??!`0>0?![!//? ?? ?| ? !ע\`50G // ?o@_ ??I  _? <!£ダ8;2Aw>!_??_??   ? !@,8%8a7Ã!???? ?? !>8?< 893Gǃ"/IdI? ? ?"|x`]pK@???? ? _?!a:0c2F"??A? ? ?@ ?(:Iӈp0r!AǷ"?/????  ?_?"#ƒ|0wPsC"?࿁`_ @??"Ńxu0'Ǐ"?` O? ??Iѻ"у t}| 9"// _?_?` ? O?"Ã:X|)8J!Gϣ"??_7??/_ _??"|}p|E8kc "?_?????` ?@ I ҝB?"ƥ>89ӆ,"㡇ǎ"__//?~ ? ~_?????"瓳 0N0"?Oǎ?A ? ~?o???"けÀ Xp09Gx2@ "????I!yǏ?_p _?o?" >Ïs3}"???p / ? 񵣀::Ætu3"o?_|x? O >o!I"JՂY9{wA "_d/' ? 8 "N=4Ӄ_/</ ? x³>8À;w?`????xO ~0I#ҷ\ <\819%SA;?A_ ??R  \/r/|}0 @? ??XG4S;6?4/ `???I$<4À7 ?~?8 xG v1<? ?0|Rb?.???? ?xd1 ?_?@IׇpЀ(T|} rp⇃O"?/ ~? /?  _@ @|! 8d tჇ__|? ?  ? .qx2tO?>?`?   `Iإ{B? *?? ~??@ @_  ?  s>\1# /??I _??壣84px)0G _? ?࿁~_  |xx4 30G >?@ @ >R7' C._oIی38.?@_ ò^r:Ì G?/ ?&?@O ?@| #Y8c#z`K/???~? ??? >x< I:_ 3F c??.??  x_ Z}5c:d +C????@ ?  @@ ?90|K????@ @@? sIݹX~ե$y 0< /o?<  @_ A Ox|8`:/@O?_~ ! ~@? Uy`5t~| P>?/` ~I?J ǣX<1#'WË?_|? ??  27k!q?@??  dz@|8a<`{;#) /?#~?` O``!xcX~U!?Ie5 ? @?? pdx,\|w7GG O?#~  ?!Ã8<unjjO/sK@?__?  `<  INv\ryCx`}'O ???~?  ?( ? w>sqLJ<6N _? ? ??? ?!xw<; Â!/??~ ? p??a0!HS{(Tb@Zly|-H#aL$P L"(FJePBd P`ԛf1rye&04v4rB4m2bPrhPP(/#4$Ȅ2C JJ0"0o8,7d'+p۹H 1"NpfP\eQqC+9NBfD\SR ruXЪ\g I`YdhP4ls/2t3x6DƻYǔ =ej|#QNX^\`(!dArK`, ;vӰrC7HhӼ*$\t@#>l>rTvXnzAlFux,$[Nr%&;`p4p.dp Lrp(I&! " cNq*^init.clJP=Gg X" ޮfs< 4nJf Tsp$IhX[DF(8n. #t !L&$x8v4ih2`ADxTo8tHhrD ln.(nQԁvx(0a؁H_F `Ώ%N> _SYS:copylisBb~tԉ#B`QRrpta#AJgB$5B(0p(jN$h !(V!#i ""Jf")NCA$a&/C4E-H#aL$P L"(FJePBd P`ԛf1rye&04v4rB4m2bPrhPP(/#4$Ȅ2C JJ0"0o8,7d'+p۹H 1"NpfP\eQqC+9NBfD\SR ruXЪ\g I`YdhP4ls/2t3x6DƻYǔ =ej|#QNX^\`(!dArK`, ;vӰrC7Hh|`0? "/ / |???k??"?gs:+p7/?~p o > ?_?"/(X g"/??I eQ _? `??"Å?x" +[O"? p  ߀@???"ڰ0dyk ?Ot?? ? ~`????"I Q'Xs $Gכ????x / @????"ç|xls6cO"_?`? _/ |???"ᡣG78;#$0_?_ _ ??I gҤ???" ? ???? qxp 74Iַ#"??O???_~ ?? ?? ??zX 3"4P"_?????_  _?? (Tqz 4E "?/? ??@_ ?? ?G 31x|?߀8?@?????<|?߀p p@  G{`x??@ >pGz7?߀8?@?????<|?߀p p@  Ii1Ώ?@@???? ??ǀq: O?"?//> 0 ???? ??À,?v< 0G o?~ /?  0@?????? ?I񕘎I͊  `p~<?8< ?<???<< ??<p<@<@' ??ILI <? ?p u<7?> 9 <>=:~2    !  w-??"IY}Np?p p !/?w>s /~!ƁWΎ? ?~ ?~????? ???ó/' ?X ?_IS?O??????! /`?$ ??~?/?????v 7Gl!?__?~ ~????? ??~s` 7>!??alA"PX+I+|a NLNu m*"mБJ`jS f dZBAf dBG8vBA30HxlFDSBf QQJCgAV30HB`  3QG&kPoG:tf dQBARB3 gHSCf QQ3 HC`   AgBG4vf dQRCBB30Hf RQKs0`2  BBvBDf dvx@f RQDE HSA"Q`NuZ MOxU` O 3lS(ln/ /)O g ,6ll4aG!&T`,鐁YO**5O$A. J (F 8?0? _   @?  @ @G ; A_A ?o<?q ? { ?߄? =?8@?~ G(Y@  ;?s|,<?p/?>~@(??~7@ A0?~|qG0@A?~x! ~@`?~ ??? ~ @ 0?Gc0 8?   w<@w| p{OpGP]r ; 0? @@~ w?/G? t@ x ??!? 5p 0@??? ??" G2@@   0? ?   ??>0? ?? ?? ?u  11? ?ɀ?0 ?=?? рGSu4<?0 ~~? ?00` ?<  > | '0   C? |@ ? ??GIO0 ? @  _? ??@????x@? &??@? @/=G?G*a?>?p?A? @$  ?? @?>?@@?>?0???2   ??@@=?@```  @j-08?     .>?0~ ?x|{ 8G?@@?@@?@@?x@x@`?`?8??>?>?8?   > G   ?   ~?~?8?@<@<p ?@?? @???G ^??@0?????!  >8x>?  ?~??p? @ 8`?pG   ?    @ ??@ 0 |@@ | x@ / ?| G ? `(???08  h ??@  ~ >0??@0  ?@@ @ ?6?@G P`?8?8?ǀ8 7?? 0   ?0? ? ?0 @@??@?@ ???pG m-9?? @1/?>?@   ?' ?  @  >?`8? ?@??@h ]G  ?&<h ?@8 K@ ?@@p@? ?9OA0@  ? G @ ? ~?G q:s@? ?   @?  ?@@? `?? ?q @???{?   /@~  @  "s ?π4%( |pg@ ` O@ ~/ ͈ >`@_?@ GA/@?eA?OA?w?  | Og?E?5d >#?g?`W x Ϳ ;M?;o/  ÿ Cxpπ??_ `? gxD_x_:z6?2  ?  & DP0?|?㻯?    ,y| ?9>  A?l /?sY?w7Ï?ÀL~ >>>>?>?z s 0||?? sz?8@ @~w@?h?8??`?3?On?`|O|???`&@#?9&@ٿ?`?>?? h??? {9?~ ???? {w?  @??ۿ0 w @ @?@?  0?1o  ?_`:  _cn0 }O8@X@c9$@ @? c %@A`@  ;  ?|w??c @A ?  p? |0|x |x? x@?@<j-?;x 8O?{|0`~/?} ((||~>x=wl@, <, `0 0= ?>?_y?? p@o>o>/> 8   0808?     .>?0~ ?x|{ 8)y+ }?A  (ÿ {  i ({0@  1 |{ ?߁ |Fx 1{@@< 8 a|*-+ ,  i@>`? | p `^|/    s 3 +:ʷ` ?o     ??x?{??;y?yzq ,ͷ0qgp ? ~ 2 pC~2 6? ò  A-p͈ 1< 0 <0a{~NBB @B<@{l  q ?i  ?!?M.gg{l @ p? ?i`q?!~pq7M`k?l @ " ?i ??"?!?7M??wl ` #ia #!M/wl  !Pi!?q7Mwl  |h? 8?H?uo@?|@G~>?@?'B@30 d} ?|Co?pxC?@ `o`oc~p? ?l`Op ?o?p~! x 1!lGo ~ ` xC>| o| ~~@ ?@ ?xp|~ ?>?g~# ?#x 8ܟ2" ? ???sz@  @??= 0C@`΀ ϼ >~'?  ?? ? ?p0C ??' ~ _|?Ͼ _ 3 la_;>|?x@>?  = |8; | @8?0 'x p?  303? ;0  /<? @x${%??@ ?xo??@y ?g??@y d@@|00 @<0@@0@|????@<` ?\?<?|@x%%q?@x'aG?@@@ ???@???@ ???@@@@ @ʖy Jʖz55iA?@ʡ rx (f?5^6B?@@@` @??@K' !0H!0H@0HQ)jR &B!&B!@B!Q)jR&B!&B!@B!)Z^"B!"B!@B!Q)ZR &B!&B!@B!PKx )zp(''$$H'$$H@$$H??@` @?@ @@qJ 9x *x n&,|xOxO0~x@gx @g p@  ~hh4  ,F~?hӹ?hӹ?'- Ǒ |h<h<8| @|hhp`| @  㿀/ 㿀 /@~(F^@P ?㿀  ?㿀 @?@@ 㿀 o@ 㿀 o@}| @㿀?㿀 }_?0@ ??㿀 ?? ?㿀v /]ft @sxbssox}x<x?}Q P;|~#1x@sC`w~|~}S0灇>~#A0Co~~x~?P@"b B?\e I#oCv 0'&~|a 8N80s'<~ Lx@|  L<|pB~@|@z mtcC`t`` n[ۓ}0aրv 1mOg8p1~v;`aow'tpq _   ܓ|a-!>!>!>!>t!;t"R3!>!>!>v=/Cppx80<#`p}`0r8pH@8 w@b|ppx8|8<3pP]cpp}p`:88 0t8 b|p88>??@ i(Ed<x9 @ @@@0`p8 O~b<p8> `,-xp^`8 @  @48 ^cb@p8<v>Lp@+D <?p!8 88 a| p88ǀpRZT p#480x8 `p088x?pUVD<p&88@H`8 <`>p088x?`TDf}`n(8@H`p8 ~`?p 88?s*]gpp8>|@$&8 `v? AGMp`8x>?>?h`(߀7gf $8 `p8p~ ~ w8w?x8c$@8 8`?px8ph (@w 0p@A$88 ` 78p O c;g c80$ 8=8` 8p  wG 8g<80` p{89`v@5 <8 ? `$@ v8!8H ~`? q  |4H"1  8A H  ` <  {p@\n |  i`> | | 0?sF x `Jǀ`> xp x `1  H{`~ p8 v .U  btA   ` pp7` `? x`= `? pp/ ! 8@:a?`c F`p8 @f<9cCe{v `Hv] *Vqq8Ҋ̀111Àfap0?ni  @a1 1 e`M8@`88 epP8 xG`hdP`r8<88 ;ctE/7>@? ??  |x? |x>x|tF_6n  >|x  >~p ?~`  tG|x?>@? |x>? s  >p ? >tH c1s9p 8<>~>?p c1s9` q ;<>>>??p c1s9q9q >>>?tI% ?@s9q9q>? ?q9q???? p ? f0*A@ A@ h  !` tJL@@~`@@BA  BBB@@@@@"@"@@ tK@@@" @"@@@@*@@@@A@@@@AtLe @`*A@AA@  @` `@@Ap`@@>>>>>A@A@tM-ZA@A@A@@@@@@@A @@A @@A @@A @@tN¡A @@@ @@@ @@@ @@@ @@@ @@" @@" @@" @@" @@" @@@" @@@" @t9.@@" @@@" @@@" @@ @@ @@ @@ @@ @BBBBt PU8 >p<pU9x>p<p 0U 8|px?<p P@ | p ? 0 ?pt Qj 0P_  ? 0?p P_  > 0?p 0P@0| px>p0  P_0| px?t Rmp00 PP0| p?p00 0P_0 ?p00 PW0 >p08 0PP0t S| pxH> 0? PW0| pxH? 0? s PP0O??0?s PP0O??08tTxxsPP0O??08x?x  PP0 O?08x8x  PW0 O??08x?x PP0 x>? 0?tU9"?  P_0| x>? 0?? PP | >? 0??  PP  ?? 0?? P_  ? tV΢0?8 P@  x>0 8 P_| x> 0 8 P@?| > 08 P@  tW? ? 0 8 P?  ? 08U?x? <8 U8| x><<=tX-O8 UUT9| >< &8|x ??tY\> (|x`>?|` |>?x  ? ?tD5o  |x? c|x>```  #|>     #[C? >cp?Q lc0H? c?Q @l<?  ? 0h ?>?A@ l? p?߿ ـ  $\` ?!@@d7>h߿ hsр 8 s?!D7>h߿hр  ??!|D7>x߿xcѿ@ %+*@?" |@? >?x߿?xcٿ ?@?"@>N~xxO>"@~x?x ?$ ~t^[gh|p?p >p>9|p?p>p> 08>p?p>9x>@p?p> 0t_b8|px`?`?p|>&8|p?p?p>>9|p?x?p> 0 8>|>p?t O9x>>>p? 08|px?p>p?9|p?pp 0UUW9 ?p<pta}=ptb4 ?s9qq>? ? c1ss9` q q >>>?? ? c1s s9p q09q<>>>?? ??? c1s s9tccnr q08<>~>??? >> c1s0s88 |>??x>x> c1s039 |>π???<>@<?> 088>td^Ǝp?p`>p> 09x>p?pxp>8x?p?p|p> 08|p??p~p>9|pt]Q??p?p?> 08>>pp> 9x>>pp>`8x?`>pp> 0"8fw;B?@ ?!_x_ۏ A_{R?S__A_~B~ _G_?G?A_B xgBF~LFCA{B8cC cC ;>B??|8>z z;>z?_?x13 10?qc?{hjب>@|?_` `8c> | ,w w< t?  G GD~ ~xG xGsi*Ï{DG 8OG C LJ; L?  8 UG C?; D?? x?G ?E??{ F   W=jN' E=2G ?DV ǀ wv EvyG Bv wc Gc| "t #x w F{u>`@ O@8 Gwkb >G; wt?0@8 #w # ;0wx?s x g { Pe0?S  3g 3?lA':|d3 } G > >}  D@1w D@w  DH 0x 8p ?80Ca{LQ ?8 ?a mD!? CC;0Lb?8 # #GG;|Hd?>7x ?>O > ?>O{DH ?_? N _ '$x w  n@O?]?w ?"xH || ;;xX |  |xX _ B _C |1  C1X !o F {Gx xGx  >x}x#|p # ### >x P>o|  xp GxpG xx`|p x"Z:*x  xx?|y Ay ;?? A|yh܀| }A };?? A9?Q | ? =c =r H: POWERLORDS->COOL IS THE RULE!4u L?!ғ $d\[B\lM,ѐ(tY*%xeRz ?V~2̇gL2 a`(<:,2@ppu9: gw@Y\8A0z?n@AeQrch&Ʈ:Aa ,R!-' e`8nt{er'9X2p ޯCK',tgv#gx(gz)g||g`a62d6$t>.v) xp*B t||XMdj`T)"3;70H1V4⛄ZuxitG&RM,4Jfjoin["#u6"Yfuґ_ acmpl3)A)B۫xj)D74}$g6mBB.`4.`HB2.A 40PgT`;BNuanB.T TXk8X;TNuaPB.T Tqj8q;TNunNu.99NuB.3Nu|fIlNufI`NufITNuIPNuByz yj&H $HXB 9n2ҹrByxKMaKMaKMaKMa0<Q0<yx3 yfBy3 yfBy3 yfBy3 yfBy3r rf"BrRnB09zê??@ A1@D _ x!A` =ƀ C < ' CB  7 opt"u9;:9NMLKJIHGFEDYXWVUTSRQPO_^]dcba`u?  6oundation 2t`U[FORM?ILBMBMHD@@CMAP`РРРРААpppppp`p`p````DPPSnh@ZCRNG CRNG CRNG CRNG CRNGCRNGCAMG@BODY>svwӝ543210/.@?>=<CBAw  7oundation 365 vA AFORMILBMBMHD@@CMAP``@@0@@@@@0Ѐ0p0p0p0p0`0`0`0P0P P P @ @ @ DPPSnh@ZCRNG  CRNG CRNG  CRNG  CRNG CRNG CAMG@BODY+x y*)('&%$#768y  F3oundation 0,1x8 (FORMILBMBMHD@@CMAP`АЀЀЀpppp```PPPP@@@@0000 DPPSnh@ZCRNG CRNG CRNG CRNG CRNGCRNGCAMG@BODYe{'$In%x ?%?[0{~ ?8?k?k?t_;~? 8 o_oAp |J}߀o߄}o(\>}}NB &B?  }j?800A8``p>??? ??x??{?? ~}n@|GÀGGwCCCHHE< @aDG ~P ~P`@H_?`?`!~0@ P? @ @0 ? ` ????? @|z3@Àp{?ςp {?σ??s?q?r? ?!~?_?~?? ??!<߀_?88 8w??q ppp+?q `? `? ` b?$ y ه?@6<<;G sGT߃=CC?`C##jC<`!@@@'ȃ>%*Gs8@??!A>Ao3( 38>0( 0A@7x$?x$??8>#0> @A|(:@ F+ @?<>C8>>h~`??`|>4S ?,#̀,a/S}S?á,;`?O pOC ?O?pD? 7C 70DxCCO; D?8sQS) 0CG0?{ x`?C`?Cc;?C@xcCc!C;? ??oA@ aa1^&~? ?CC??  ??A?@ @ 8 8`?<@pp084?x  1?p ?d?d  ?  z?z  ??o???? @??6`l????  K??O?O@@?=?>/@ z ?}#@ 9S?@? @??gg? @ ?@@p';;??@ 9?9?q?H@@<<1?>(@88?<@}:/|p p/| ?x@?/܇ /?L@/>??/:?D<@?/?]?/?]?y4@0L??7?K?7߷????@@ ?7??7?@@?@  a<<?>@w ?8w8w??>@gpgp@ |@ 7#7# {of7 c @~3{~3s{@@ ?} ÀÀ}1?@ @ } ??} 8@ @J2GIxK]tv_b4 1PICSp .H{:A"PX+I+|a NLNu m*"mБJ`jS f dZBAf dBG8vBA30HxlFDSBf QQJCgAV30HB`  3QG&kPoG:tf dQBARB3 gHSCf QQ3 HC`   AgBG4vf dQRCBB30Hf RQKs0`2  BBvBDf dvx@f RQDE HSA"Q`NuZE Jh0!Gj3qsd)fUg192#{$.( #]2w  LIBSp@$EU "! -,+\[Zonmlkjihgfezs~}|{$x @10$j:lP5qH5f ]gH @_}f?L]b\N`*sZDl.a$V"7m0H N0Pvok( ib@Rp.Â&rQɅ "50f/!rH|MH2=AJPe:0f&O`{uK^L/șNIIa M% Vw"x_D|5OPv82.in2 \~b1 L8 f(Х:tad[4:2|3E]94J@QyTLI :tL0du4K^`Aү<l#k2 hQe 4?>=<QPON  diskfont.libraryNRܜ ";<`NJP! 0Pdiskfont.librarydiskfont 33.16 (10 Feb 1986) HACE" <8NLJg "@#H"NtpNu/ @#,@#Cp/,yN,_#gJCrp/,yN,_# gA* XB!H ,_Nu"y/,yNb,_"N0.nH/,yN.,_p`dos.librarygraphics.library !6 DRzB/ $n*JgNJjTnD"J Q"i"!I W21EDCBA@F8  5 icon.libraryRCA"PX+I+|a NLNu m*"mБJ`jS f dZBAf dBG8vBA30HxlFDSBf QQJCgAV30HB`  3QG&kPoG:tf dQBARB3 gHSCf QQ3 HC`   AgBG4vf dQRCBB30Hf RQKs0`2  BBvBDf dvx@f RQDE HSA"Q`NuZ sLƑOdz$`&=(l/ / g ,76lFR :w )<pNuJ" F+Hicon.libraryicon 34.2 (22 Jun 1988) .XHD&4BP "+dos.libraryRn  NupSn f .gaNuJn f4/.*"N Q"i"!I"Npr0.2.Ё/,n"N.,_ `pNupNu/ $@%H*%N"CzNh%@&fH.< ,xNL`p`#"#& $_Nu//Nqno'4b"T`,PItdS**p$A.4J (F|GB To //C#|+ " ϠЁ#@c%A8M.,ްXm|0hq`<(Ed_^hj偬/ g (p&ID%LpLp.g&AIp&Q" 2Vnxp E lJpNu `@IF+]09LISTZb+$matbxf ?)D tW~$0p H/yvظFC)1 VP*oN۫M $5u4v4 ;֮.żzb`]l!FJ綺Wu, J}\cxن ցPB- |4"%4eQ5(J%$,ruf(,(F9߅(@@      SpF1vvz 1ic1d 4(anus) 3FORMrILBMBMHD@@CMAPа@p`@@`@`@pPp0@@` @ @``0``P`@ @`` @` PDPPSnh@ZCRNG CRNG CRNG  CRNG  CRNG CRNG CAMG@BODY`| <CBA@?TSRQPONMLKJ_^]\[ZYXWVUjihgfedcba`utsrqponmlk}|{zyxw~p 22ound 2(anus)~lFORMpILBMBMHD@@CMAPа@p`@@`@`@pPp0@@` @ @``0``P`@ `` @`@DPPSnh@ZCRNG CRNG CRNG  CRNG  CRNG CRNG CAMG@BODYo"D&S     ('&%$#"! 3210/.-,+*)>=<;:987654IHGFED snake03`- 3DVECTOR1}^HA PJ"H,xHE6 a2L/&IP .P,SN @I (g @BIrAMp 4KFt h̨82,J`B8f@Bw) i6Ì3}0 1g(<S8)@xl  E@$GG 4B6&[SOBDPR AI>2r!"IR&B0`H`w<] L ,|CkM~mE( hO(!C;8Xc^E qJⶉ_V+/ @,dPL ,ag  `H 0{A\ C<Z$X HD€c|g@f/Gå|S@? E}#,J8c {  b( Q(QK2Sh;TcAt L@EIs` Z$L*J_yQL t1;6!&~%!D)F}h.8 /@xFU(7E@WrI DSt&W\|s$Ӄ:$ TFJR}1Z= ]޳ $ 4[pT@I  pJ ]O&@r(GORp+gz"wuy$Xd Np*Y0ZQJи8Sšb!.ߌ>&@#`V0*%%D+!,lV3gI/;CI;Q QxeŨ\~"@{! lP P0A!4:DFP! ~'3/PdH`< lCAtQ`̉QWZ([@S ]P+_s!֪ GRl$uc(&hh !$ uXa+Nq{5ά L&}MM|*a :dwǟ8czqF q&>8 p0\0 @?t$TQ$D+A"9d 08JQH%S x R;I$f43,L5@BXjf}*0+3=@Z@@1'}j@F?4GE 9Ws^PΆnxQ>fLg՞3gQx&]G B " H]/8`  Xl0FR DU PROBLEMER MED LAGE OBJEKTER, S SI FRA!  FND3.SUres=320 wpl=res/16 color=0 Botline=$c0 ************************************************************* * * * 3D GRAPHICS DRIVER, CONVERTED BY ANTIACTION * * OF TETRAGON * * * * * ************************************************************* s: bsr Start Hȃ       war3]    SCROLLSLL 4dda9fapNu#|j yj <B$S@nQR yjCXԈp"B2(*ԁQByByByByByzBnBr yjw#l!lNu!lByByByBy3NuaNHRyz yzgMxJ.gKaSRQPONMLKJI^]\[ZYXWVUTihgfedcba`_tsrqponmlkj~}|{zyxwvu6Y         H:     '&%$#"! 210/.-,+*)(=<;:9876H-*`|{zyx6df. D`hv(0@HX`pxp       $             6{o                            6ה'  $   #!     $   (     ! -%*     " "          %6=4           ,   " !    2  -) &                    !   6*                         !  %"      6FrY )                       ) 1 1)"    %(  '  6틆  &!                                       6N                "                     !   6)                  ' $)              6&                           $             6  $     "%       "                6'w4 "            6/R`y    $                              6ʧeW                     6Oe                           "    )     )      6̔1   !         *       !#     %   ,    ( 6#      !        / $   "        !           ""6Ί7^               !           6E                             6               (              $%      4  6b?  0-  "     +     #                     6ҏ$                  # ,                  6?Qc                         6k:E                                            G  scrolling.s6                  6 "                          )%     6cy          %    (   2       %      !   6Ȓ!0                          #  !      aYX   real short.SX矮move.l $04,a6 lea gfxname,a1 jsr -408(a6) move.l d0,gfxbase move.l d0,a0 move.l 50(a0),oldclist move.l #newclist,50(a0) move.l gfxbase,a6 lea bitmap,a0 move.l #$01,d0 move.l #336,d1 move.l #200,d2 jsr -390(a6) move.l #$60000,plane1 lea rastport,a1 jsr -198(a6) move.l #bitmap,r_bitmap lea rastport,a1 jsr -48(a6) move.l #scrollm,zeiger move.l $6c,oldirq+2 move.l #newirq,$6c wait: btst #6,$bfe001 bne.s wait move.l oldirq+2,$6c move.l gfxbase,a0 move.l oldclist,50(a0) move.l w\  short scroll.S. BitPlane1=$50000 ;Adresse Bitplane 1 BitPlane2=$54000 ;Adresse Bitplane 2 BitPlane3=$58000 ;Adresse Bitplane 3 BitPlane4=$5c000 ;Adresse Bitplane 4 BitPlane5=$60000 ;Adresse BItplane 5 Exec=4 ;Basisadresse Execbase Permit=-138 ;Stop Multitasking Open= -30 Close= -30 -6 Read= -30 -12 Forbid=-132 ;Start Multitasking OpenLibrary=-408 CloseLibrary=-414 InitRastPort=-198 InitBitMap=-390 SetRast= -30 -204 Move= -30 -210 Draw= -30 -216 Text= -30 -30 RectFill= -30 -276 ScrollRaster= -30 Xa   ScrollX.Sp%,gfxb=$7ff00 count=$7ff04 baba=$7ff08 charp=$7ff0c oldcop=$7ff10 intrpt=$7ff14 count2=$7ff18 rastport=$7fe00 bitmap=$7fea0 org $40000 load $40000 beg: movem.l a6/a5/a4/a3/a2/a1/a0/d7/d6/d5/d4/d3/d2/d1/d0,-(A7) move.l #scrolly,charp ; Where scrolly resides move.l $000004,a6 lea glib,a1 jsr -408(a6) move.l d0,a6 move.l a6,gfxbase lea bitmap,a0 moveq #1,d0 moveq #8,d1 moveq #8,d2 jsr -390(a6) ; InitBitmap lea bitmap,a0 move.l #work,8(a0) lea rastport,a1 jsr -198(a6) ; I_@2nitRastPort lea bitmap,a0 move.l a0,rastport+4 ; struct BitMap *bitmap move.b #1,count2 move.b #$08,count lea $48000,a0 moveq #$7f,d0 clrmem: clr.l (a0)+ dbf d0,clrmem move.w #$8380,$dff096 move.w #$0020,$dff096 move.w #$4000,$dff09a chkbtn: btst #6,$bfe001 beq pressed cmpi.b #228,$dff006 bne.s chkbtn move.w #$00f,$dff180 move.l #copl,$dff080 lea $dff000,a0 clr.l $120(a0) clr.w $102(a0) move.l #$c9f00000,$40(a0) move.l #$ffffffff,$44(a0) move.l #$00048000,$50(a}_0) move.l #$00047ffe,$54(a0) clr.l $64(a0) move.w #$1018,$58(a0) wtbl: btst #$e,$dff002 bne.s wtbl move.l #$c9f00000,$40(a0) move.l #$ffffffff,$44(a0) move.l #$00049000,$50(a0) move.l #$00048ffe,$54(a0) clr.l $64(a0) move.w #$1018,$58(a0) wtbl2: btst #$e,$dff002 bne.s wtbl2 subq.b #$04,count bne.L endint move.b #$08,count scroll: subq.b #$01,count2 bne.s nonewchar move.w #$00f0,$dff180 lea rastport,a1 moveq #8,d0 moveq #6,d1 jsr -240(a6) ; Move (0,0) move.l charp,a0 moveq #1,d0 lea rastport,a1 move.l gfxbase,a6 jsr -60(a6) ; Fix char into workarea addq.l #1,charp move.l charp,a0 tst.b (a0) bne.s noend move.l #scrolly,charp noend: move.b #8,count2 move.b #8,count nonewchar: move.w #$0f00,$dff180 lea work,a0 lea $48000+47,a1 lea $49000+47,a2 moveq #7,d5 loop1: roxl.b #1,(a0) bcc.s clearit lea char,a3 ; A Set point lea char+8,a4 moveq #7,d4 clp: move.b (a3)+,(a1) move.b (a4)+,(a2) add.l #48,a1 add.l #48,a2 dbf d4,clp bra.s skipit clearit: m oveq #7,d4 cllp: clr.b (a1) clr.b (a2) add.l #48,a1 add.l #48,a2 dbf d4,cllp skipit: addq.l #2,a0 dbf d5,loop1 endint: move.w #$000,$dff180 lea wave+2,a2 lea wave+10,a4 move.w (a2),d6 moveq #30,d5 tlp: move.w (a4),(a2) addq.l #8,a2 addq.l #8,a4 dbf d5,tlp move.w d6,(a2) bra chkbtn pressed: move.w #$8020,$dff096 move.w #$c000,$dff09a move.l gfxbase,a6 move.l $26(a6),$dff080 movem.l (a7)+,a6/a5/a4/a3/a2/a1/a0/d7/d6/d5/d4/d3/d2/d1/d0 rts gfxbase:dc.l 0 copl: dc.w $008e,$6080,$00M90,$9fe0 dc.w $0092,$0028,$00e0,$0004,$00e2,$8000 dc.w $00e4,$0004,$00e6,$9000,$010a,$0002 dc.w $0182,$000a,$0184,$055e,$0186,$0fff dc.w $0094,$00d8,$0108,$0002 dc.w $0104,$0010,$0100,$2200 dc.w $6001,$ff00 wave: dc.w $0102,$0011,$6201,$ff00 dc.w $0102,$0022,$6401,$ff00 dc.w $0102,$0033,$6601,$ff00 dc.w $0102,$0044,$6801,$ff00 dc.w $0102,$0055,$6a01,$ff00 dc.w $0102,$0066,$6c01,$ff00 dc.w $0102,$0077,$6e01,$ff00 dc.w $0102,$0088,$7001,$ff00 dc.w $0102,$0099,$7201,$ff00 dc.w $0102,$00d#aa,$7401,$ff00 dc.w $0102,$00bb,$7601,$ff00 dc.w $0102,$00cc,$7801,$ff00 dc.w $0102,$00dd,$7a01,$ff00 dc.w $0102,$00ee,$7c01,$ff00 dc.w $0102,$00ff,$7e01,$ff00 dc.w $0102,$00ff,$8001,$ff00 dc.w $0102,$00ee,$8201,$ff00 dc.w $0102,$00dd,$8401,$ff00 dc.w $0102,$00cc,$8601,$ff00 dc.w $0102,$00bb,$8801,$ff00 dc.w $0102,$00aa,$8a01,$ff00 dc.w $0102,$0099,$8c01,$ff00 dc.w $0102,$0088,$8e01,$ff00 dc.w $0102,$0077,$9001,$ff00 dc.w $0102,$0066,$9201,$ff00 dc.w $0102,$0055,$9401,$ff00 dc.w $010\^2,$0044,$9601,$ff00 dc.w $0102,$0033,$9801,$ff00 dc.w $0102,$0022,$9a01,$ff00 dc.w $0102,$0011,$9c01,$ff00 dc.w $0102,$0000,$9e01,$ff00 dc.w $0102,$0000 dc.w $fffe,$fffe glib: dc "graphics.library",0 eo: scrolly: dc "TETRAGON PROUDLY PRESENTS... MEGACRUNCH V1.00, Written By " dc "AntiAction for TETRAGON in 1988. ",0 char: dc.b %11111111 dc.b %10000001 dc.b %10000001 dc.b %10000001 dc.b %10000001 dc.b %10000001 dc.b %10000001 dc.b %11111111 dc.b %11111111 dc.b %11111110 sD dc.b %11111110 dc.b %11111110 dc.b %11111110 dc.b %11111110 dc.b %11111110 dc.b %10000000,0 end: work:blk.w 8,0 0ee,$7c01,$ff00 dc.w $0102,$00ff,$7e01,$ff00 dc.w $0102,$00ff,$8001,$ff00 dc.w $0102,$00ee,$8201,$ff00 dc.w $0102,$00dd,$8401,$ff00 dc.w $0102,$00cc,$8601,$ff00 dc.w $0102,$00bb,$8801,$ff00 dc.w $0102,$00aa,$8a01,$ff00 dc.w $0102,$0099,$8c01,$ff00 dc.w $0102,$0088,$8e01,$ff00 dc.w $0102,$0077,$9001,$ff00 dc.w $0102,$0066,$9201,$ff00 dc.w $0102,$0055,$9401,$ff00 dc.w $010Zz+-  DEFJAM.S.IStart: move.l $4.W,a6 lea Dos,a1 jsr -408(a6) move.l d0,a6 move.l $80.W,d1 lea Name,a0 Loop1: cmp.b (a0)+,d1 bne.s Loop1 move.l a0,d1 move.l #$0,d2 jsr -30(a6) move.l d0,-(a7) move.l d0,d1 move.l #$18000,d2 move.l #$30000,d3 jsr -42(a6) move.l (a7)+,d1 jsr -36(a6) jmp $18000 Name: dc.b 0,"FROSTBYTE",0 dc.b 1,"GUNSHOOT",0 dc.b 2,"MACH3",0 dc.b 3,"ROLLING",0 dc.b 4,"SLAYGON",0 dc.b 5,"WIZBALL",0 Dos: dc.b "dos.library",0 p} DEVSpr+ pMENUտ|Y  STARTUP-SEQUENCEYDISKTURBO SETMAP OCTON TYPE S/MENU PROMPT "POWERLORDS->COOL IS THE RULE! " BIIIG PA MUS0  Ԡ$n,x4؉0*|f0X&t,0 xfgе$KA ا(5pl(jNߕ NnV t?1lrrfr`(B!VC2(t.%Br;kP|   TALMODIGHET!  DER DETTE EN SP0K? COMMING UP! (OR MAYBE NOT?)Ao VEL JEG FR VEL SLUTTE AV N D#  }HILSEN OCTON (HE HE HE)f,  PREVIEWp]move.l $04,a6 ; execbase... lea gfxname,a1 ; graphic.library jsr -408(a6) ; kall rutine... (GetSprite) move.l d0,gfxbase move.l d0,a0 move.l 50(a0),oldclist move.l #newclist,50(a0) move.l gfxbase,a6 ; grafikk-handle til a6 lea bitmap,a0 move.l #$01,d0 ; 1-plane move.l #336,d1 ; strrelse p skjerm move.l #200,d2 ; - " - jsr -390(a6) ; Initialize BitMap (InitBitMap) move.l #$60000,plane1 lea rastport,a1 jsr -198(a6) ; Initialize RastPort move.l #bitmap,r_bitmap lea rast7iport,a1 jsr -48(a6) ; ClearScreen move.l #scrollm,zeiger ; Scroll teksten... move.l $6c,oldirq+2 ; Gamle irq-interrupten move.l #newirq,$6c ; Ny irq-interrupt wait: btst #6,$bfe001 ; Venstre musetast trykket? bne.s wait ; Nei ? G tilbake til wait: move.l oldirq+2,$6c ; Ja. Gammel irq tilbake move.l gfxbase,a0 move.l oldclist,50(a0) ; Gammel copperlist move.l $04,a6 ; execbase... move.l gfxbase,a1 jsr -414(a6) ; FreeSprite... rts ; reset newirq: movem.l d0-d7/a0-a6,-(sp) ; SAhave d0-d7 & a0-a6 -> stackpointer move.l gfxbase,a6 lea rastport,a1 move.l #$01,d0 clr.l d1 clr.l d2 move.l #190,d3 move.l #336,d4 move.l #200,d5 jsr -396(a6) ; ScrollRaster sub.b #$01,rows bne.s exit ; negativ? G til exit move.b #$08,rows lea rastport,a1 move.l #320,d0 move.l #198,d1 jsr -240(a6) ; move... lea rastport,a1 move.l zeiger,a0 move.l #$01,d0 jsr -60(a6) ; vis text (Text) addq.l #$01,zeiger cmp.l #end,zeiger blt.s exit move.l #scrollm,zeiger exit: movem.l (sp)+,d0-d7/a0-a6 ; Gamle verdier tilbake oldirq: jmp $00000000 newclist: ; Ny copperliste: dc.w $008e,$2c81,$0090,$f4c1,$0092,$0038,$0094,$00d0 dc.w $0102,$0000,$0104,$0000,$0108,$0002,$010a,$0002 dc.w $0100,$1200,$0180,$0000,$0182,$0fff dc.w $00e0,$0006,$00e2,$0000,$ffff,$fffe scrollm: dc.b "F O U N D A T I O N " end: even zeiger: dc.l 0 oldclist: dc.l 0 gfxbase: dc.l 0 gfxname: dc.b "graphics.library",0 even bitmap: blk.w 4,0 plane1: blk.l 20,0 rastport: dc.l 0 r_bitmap: blk.l 30,0 r Jows: dc.b 2 0-a6 -> stackpointer move.l gfxbase,a6 lea rastport,a1 move.l #$01,d0 clr.l d1 clr.l d2 move.l #190,d3 move.l #336,d4 move.l #200,d5 jsr -396(a6) ; ScrollRaster sub.b #$01,rows bne.s exit ; negativ? G til exit move.b #$08,rows lea rastport,a1 move.l #320,d0 move.l #198,d1 jsr -240(a6) ; move... lea rastport,a1 move.l zeiger,a0 move.l #$01,d0 jsr -60(a6) ; vis text (Text) addq.l #$01,zeiger cmp.l #end,zeiger blt.s exit move.l #scrollm,zeiger exit: movem.l (sp)+,d0-d7/a  ;'b    Dobbel-X.S  :'RpONMLKJIH !  Dobbel-Y.S HB; ----- graphics.library ----- scrollraster= -396 setapen= -342 text= -60 setfont= -66 closefont= -78 move= -240 draw= -246 initbitmap= -390 initrastport= -198 clearscreen= -48 ; ----- exec.library ----- allocabs= -204 openlibrary= -408 closelibrary= -414 forbid= -132 permit= -138 ; ----- diskfont.library ----- openfont= -30 execbase= $04 movem.l d0-d7/a0-a6,-(a7) ; ---- open graphics.library ---- move.l execbase,a6 lea gfxname,a1 jsr openlibrary(a6) move.l d0,  rnz1; ----- graphics.library ----- scrollraster= -396 setapen= -342 text= -60 setfont= -66 closefont= -78 move= -240 draw= -246 initbitmap= -390 initrastport= -198 clearscreen= -48 ; ----- exec.library ----- allocabs= -204 openlibrary= -408 closelibrary= -414 forbid= -132 permit= -138 ; ----- diskfont.library ----- openfont= -30 execbase= $04 movem.l d0-d7/a0-a6,-(a7) move.l yliste,yteller ; ---- open graphics.library ---- move.l execbase,a6 lea gfxname,a1 jsr open Mulibrary(a6) move.l d0,gfxbase jsr forbid(a6) ; Forby multitasking. move.w #$0020,$dff096 ; Stop sprite DMA. move.l gfxbase,a0 ; Sette inn copperlisten. add.l #$32,a0 move.w #$0080,$dff096 ; Copper DMA av. move.l (a0),oldcopper move.l #newcopper,(a0) move.w #$8080,$dff096 ; Copper DMA paa. ; ** INITIALISERINGEN AV BITMAPSTRUKTUREN move.l gfxbase,a6 lea bitmap,a0 ; Bitmap'en move.l #$02,d0 ; Ant. bitplanes move.l #352,d1 ; Bredde move.l #200,d2 ; H0 Dqyde jsr initbitmap(a6) move.l #$50000,plane1 move.l #$52260,plane1+4 lea rastport,a1 jsr initrastport(a6) move.l #bitmap,r_bitmap lea rastport,a1 jsr clearscreen(a6) ; Slette skjermen lea rastport,a1 ; Sette tegnefarge fra move.l #$01,d0 ; fargeregister 01. jsr setapen(a6) ; Setter Pen A move.w #$4000,$dff09a ; Setter inn ny irq move.l $6c,oldirq move.l #newirq,$6c move.w #$c000,$dff09a wait: btst #6,$bfe001 ; Venstre musetast trykket ?? bne.s wait move.w  M #$4000,$dff09a ; Tilbake til gammel irq. move.l oldirq,$6c move.w #$c000,$dff09a move.l execbase,a6 move.l gfxbase,a1 ; Lukke graphic.lib. jsr closelibrary(a6) move.l gfxbase,a0 ; Bruke gammel copperliste. add.l #$32,a0 move.w #$0080,$dff096 ; Copper DMA av. move.l oldcopper,(a0) move.w #$8080,$dff096 ; Copper DMA paa. move.l execbase,a6 jsr permit(a6) ; Tillater multitasking. move.w #$8020,$dff096 ; Slaar paa sprite DMA. movem.l (a7)+,d0-d7/a0-a6 error:  / rts newirq: movem.l d0-d7/a0-a6,-(sp) move.l gfxbase,a6 ; scrolling lea rastport,a1 ;RastPort move.l #1,d0 ; dX. Pixels ad gangen. X-retn. move.l #0,d1 move.l #0,d2 ; min X move.l #20,d3 ; min Y move.l #351,d4 ; max X move.l #40,d5 ; max Y jsr scrollraster(a6) ; Kaller scroll-rutine. lea rastport,a1 move.l #1,d0 move.l #0,d1 move.l #100,d2 move.l #20,d3 move.l #219,d4 move.l #40,d5 jsr scrollraster(a6) ;lea rastport,a1 ;move.l #1,d0 ;move.l #0, kxd1 ;move.l #140,d2 ;move.l #20,d3 ;move.l #180,d4 ;move.l #40,d5 ;jsr scrollraster(a6) clr.l d5 move.b yteller,d5 cmp.b #10,d5 bne videre lea yliste,a2 move.l a2,yteller clr.l d5 videre: move.b d5,yretn sub.b #$01,rows ; schon 1 zeichen gescrollt bne.L continue1 ; ALT 1 TEGN SCROLLET move.b #9,rows move.l gfxbase,a6 lea rastport,a1 move.l #$02,d0 jsr setapen(a6) lea rastport,a1 move.l #319,d0 move.l #38,d1 bsr text1 add.l #$01,c_ptr cmp.l #ende,c_ptr bne.s   continue1 move.l #scrollmsg,c_ptr continue1: movem.l (sp)+,d0-d7/a0-a6 dc.w $4ef9 oldirq: dc.l 0 text1: jsr move(a6) ; Hente neste tegn fra lea rastport,a1 ; scrolltexten. move.l c_ptr,a0 move.l #1,d0 jsr text(a6) rts newcopper: dc.w $0180,$0030,$0182,$00f0 dc.w $0184,$00f0,$0186,$02b2 dc.w $008e,$2c81,$0090,$f4c1 dc.w $0092,$0038,$0094,$00d0 dc.w $0108,$0004,$010a,$0004 dc.w $0102,$0000,$0104,$0000 dc.w $0100,$2200,$00e0,$0005 dc.w $00e2,$0000,$00e4,$0005 dc.w $00e6,$2260 $,$ffff,$fffe even scrollmsg: dc.b " HAV .. HAH ...NEI, FILLERN ! PRVER EN GNAG..GANG" dc.b " TIL. HVA SYNES DU OM DENNE SURCEN DA? DENNE FORDOBLER" dc.b " TEKSTEN I X-RETNINGEN SOM DU SER. KUUL EFFEKT HVA?! " ende: even dc.w 0 gfxbase: dc.l 0 bitmap: blk.w 4,0 plane1: blk.l 10,0 rastport: ; Gitt verdien 0. Dvs. current window ??? blk.l 1,0 r_bitmap: blk.l 26,0 oldcopper: dc.l 0 gfxname: dc.b "graphics.library",0 rows: dc.b 2 even c_ptr: dc.l scrollmsg  oFeptr1: dc.l 24 ptr2: dc.l 696 yretn: dc.b 0 even yteller: dc.l 0 yliste: dc.b 0,0,1,1,2,3,5,-3,-2,-1,-1,0,0,10  move(a6) ; Hente neste tegn fra lea rastport,a1 ; scrolltexten. move.l c_ptr,a0 move.l #1,d0 jsr text(a6) rts newcopper: dc.w $0180,$0030,$0182,$00f0 dc.w $0184,$00f0,$0186,$02b2 dc.w $008e,$2c81,$0090,$f4c1 dc.w $0092,$0038,$0094,$00d0 dc.w $0108,$0004,$010a,$0004 dc.w $0102,$0000,$0104,$0000 dc.w $0100,$2200,$00e0,$0005 dc.w $00e2,$0000,$00e4,$0005 dc.w $00e6,$2260u "$5 Cp # @?>=<;GFP,  bSinus-Scroll.SPB; ----- graphics.library ----- scrollraster= -396 setapen= -342 text= -60 setfont= -66 closefont= -78 move= -240 draw= -246 initbitmap= -390 initrastport= -198 clearscreen= -48 ; ----- exec.library ----- allocabs= -204 openlibrary= -408 closelibrary= -414 forbid= -132 permit= -138 ; ----- diskfont.library ----- openfont= -30 execbase= $04 movem.l d0-d7/a0-a6,-(a7) ; ---- open graphics.library ---- move.l execbase,a6 lea gfxname,a1 jsr openlibrary(a6) move.l d0,   SOURCE-RIPPERp9876543210EDCBA[Z l @ Exterminator./.-,+*)('&%:  paZ2a eHA PJ"H,xHE6 a2L/&IP .P,SN @I (g @BI=*)('&%-h [mus0p:2lr HA PJ"H,xHE6 a2L/&IP .P,SN @I (g @BIϼh  #PromptS {wO>O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F >09PROMPT start r҉"v$G" pP(j8NJfG" pP(j$NN"JfG$ !"$0v !*p ! setmapa EeHK8A"P$QX+IX+JHaL"mQ ,xN.&mP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_|z kg kg kg kg kNqJzRn/C m X"RSg"P (" (X#@P`.BC* m PP""m N."mQ N.LNa(J  K"m ""qPN`>aP`6JgRzNuJ m "pP g$" m (pPS L$I""$Q``HK"#""#  Type"`,OO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F 1ވ1Snp*P@@th>PPCXwY썘@`^eUˇ |Oow\`qP\"8W^+t''$DC:T t:ʟ=<;:987LKJIHGFEDCBWVUTSRQPONMba`_^]\[ZYXm6<<HeKJIHGFEDCBAVUTSRQPONMLa`_^]\[ZYXWlkjihgfedcbwvutsrqponm~}6>C}wZwZpZ`nnn`A ]k]k]kAh:::?+::::::.:::.6:::.66@M:::.66::::.66::::.66::::.66:+Q :::.66::::.66::::.66:6Bltl 6Cx~6Dk 6Etv6F}6G6H6I6J6K#                   6h;                                     6MIj/                                      6N<Z                    6OCg{       6Pe:                       6Q                 6R_-V                  6Si           6Tpz]s 6UChH         6Vx8d     6ATAx 6XW[Y                                 6YrY1                                   6ZRZE{                &              6[Ye <                                               6\{C#   $"    &%$  !(,-   2$*,   " #!" !    &#      &($'   %##0,$ "58*" 6]]V7M                    '% +.$ '06^](#*& ڸ40'40&Ƚ 伱 ,( 40 ,   $!  02(   !/!" !   "!(   "$(        (  "   $  %$   6_*\hP %$   #                           6`                      $ +  !      .!       6a & )                 "         $          '  6Lu                                 6|crfU6}ddm6~ey&/                                          6ffj,_             6g,!y        '&(      %        6hb`Gt      6iNlUX    ( +61-( Ǹ *( #* *40,(ଫ/HB<86j|ʈ2.*"и34 θ .@2"" !32"!$򼼺-@;61(м.:60!*=9"):62*7@840 !*ؼ  0,& ,$Ҽ"061 /0 %*,"  &ķB@84 #+2  9;6& ȿ;<62,'#&,,,0(-$  )@840˿6;6" )0.#&:72.  "  26,6kT`w "-&'0 # (!"1 $(41 #&)(!*% ""/2$&4  -1-%)383 %(  $ # &$50   &0, $63  (     #%84 +!    *-$' 6lO3@&83     %ؾ 36,     94%  .$=:50 ,,%    782. )    ,0)"       ,( 3830 6WF(  !/6(  6830    ):61-!$#'.,  !'+" ;830  #%  &'9830+0(   ,2.   '783'( %&&%/30"  #.&' "$ #&" *,+&  ,2* #+-)#6qnR@                                           6rou(N                                6spX`GZ                       6tqIYh                             6urR             6vsUbd       6wta`_v       6xuF[et                   6yv[j^q       6zw^,     6{bnrg  y  4 " %    ,      )     %& )" " %. #& ( %            " ( !  %        z 4# #            پ 1!    *" $   ' " ", )4%      . $&   '8#  %  & ${[          !(     #       /'       &+       #!      )#     |'>Q    -, %*   #" #      " &      !   !      !!   . D`hvl+(0@HX`pxp  )     %& )" " %. #& ( %            " ( !  %        6k~h|t                                      6l^                                             6m`                            *  %.  52,!%,(+(  #73, 6n(+q  )(ȿ %0.40,/(;)86".*  + '& ( *+6#*   &  "*8(',#$# )%40  &  !*0$56,'   0.   $& 0$     &0  6ox $ #!0    & 30, &# ,/2    ( 82"! &!() "3,      '01- (    "( 6pm'W                                         % !&!)   )*     ''    #$5'#!  ! ($      ! 0( 6(  * 6 C$ *  " D1 +   ' G-2"),%  >6  *: !   . "' *( .                                ֦                %:/ =)(+ ķ$059+     #λ*0    # (##    "!     (+2      '    LXJ                                 %0/      "!2 %$ # *!'0$ ! C$  $ #  ,! 7'"&#'   !* $   "                              $ o3`    #    !  %      #     &2 " )   /     *.  *& ) &+ $  !(%% A׮&,! "# &  $ !+ +'$ !$ +*( '#+0%!2 % #-' ' ",#93'1+ #0" !% 68- !  $4 /%*) :"  !  5      &  V2                                 "           I+                                      "   ,dU  0(%       $   "ĵ     ),    "$     %   "    #          &+  x "             *            %      (      %    " !"       { @   &- !  ! *#      #*,& '% '0#  8:# ) * *       $    '      " & |ca&  !%   )  &   * &&  ") !Ž "$  302ھ#  " $0+ 76     ""     &    $ "       }*                                         "$ 갺AG1 $   6* $C~5E'+ 6:"  !,*<" ,) ." %5%(%     !           "           "   ]      ')  &()    0. 4 '' $+  -)  '/"0          #     % h            &             !#+ )                   M[%)  50    6:&    $,&.(   -@84?5ö    .и9HB6=:,˷,*  "0.$™E^U*%7* λ$   ,BL?ǛG\S&˶ !  7B:!밦!=C( )2. %!   '"$  ɹ# (>:-#:C%2) '&/FB/ РQgU˭5WLҽ998=#ʳ%3-Ӹ:SBٺ63 32"4+82 ۾ $$"    ! ',$ "(  #)6#  %  %@4   )6?<"$(3  ؿ&"  16%&4."3!1!()'4),%ݼ*FS5 8#*  f "3-  2 * $+ .   !  #($     2-* %% !52$04  % ",*+ &!"0!  ')  ,& ?+ $   ! ,.I % 3+  #   '*   ""$!' # /-", *)! #$2,  (1$+*6;     ;*ϻ%%<@  $8# 6F9߾  !/% ( .1)$ # &5ĺ! ",,6JO+ &:0 )( B(^1&I &K7䳧,,#1'$& BK.= $.&%$  B) OCQI,6$ " ! & =$A++F%    $8!@N(սE6 !  );0P5M_6ɪ$(-'& .9#8"IH- -+ #@65,(    ?9BF+4    1#  2 )1.##'  p]0?4SQ3E@[F&߲8E> ;7 KO,: %YHռ2 (/LŽ:- >L "               $ !  !  & $  &  $!/$# 53' *qJ (.# "# !*%%"$%    %%/"!% : +&*+/, " + 4+ $"  #                r          $,  & !,*8 ú/9 ̛%juV7)42   ݽ?B*ֹ #     $90# 92    ,0     * -$!$ !# t+~   '@,       Ӽ %AF*    $,&?F%  *# 7>$*8)81  5+5/#B9 # $4'    - *, (    #!   uj)V /$   %     8K*ɾ #) !-G-7)  -%," EH*Ŭ*LK"ǿ+"  #%0'@J)( wf       * # , )%  '   +$   !  #   & 3 ! ' *2!      $    )!  $    &x)*M     (                                  yc`             &       %6  40!:) !'*    ! ) ("+15:!&z ua2.!'!# #0( $37,̼ *  %,  % #.% )   !$%  "!&1       '  * $* $)!$$ "   %$  e+׷0ر 6,S7 /58Q?+RcRõ CR3E6 %.B=ø@@׽>.M1궺%1?:!K]Y*ڙI^F ǠECկ6" K. -껽.;0Ǩ-IH &;, #&1 ˭9;A/3MYGͨ"OQֱBG:# 1JA!A,ʽ )." 24(+*"罿?; L[/8@FX+ +&')A,JG! -+:L4&4-+ ) '%  "9!/3# +& / fO^k 0*  0   &  ($" %    !   )$ 1* & #962-,+*0;%+  !%/140B "1  ( ! 8" &ѷ")!% g$9          5$ //,#      *#       "       9 0      ./  .:   "    hd{%0=     +*!                  #                 ivn                       $$91     ;* &  OWA%Ě"    HT1 ׫ (#  #AR2޵   !?-/A,"    ")  jk? '?%! $)7!$ "% 3/ &).# !$  "3) "    5#   &0# >3 &,    -$   ':-)! #     $ k7  ,     $# $' !# %   *  "##/  ('"$"!&), (&  #    & " %%!      '  .l$    8F(  + (QGٹ, *"$7ڽ% # C/4<,  4.,0 :0'      /  )4  #&' ((         #  mL                 "     *  !$,$#$(       .'-$   ! $ " :8 # ,(  - *     4(  n $'  $%   ,!  #! 22-D$''<1 6&  '  %%6;+  '(   -#   &    '%  $ % .1  ++! , #2 $"("' 2##/%#*# (+ '2! -*/! 43o 2) $2%#*-1/">;% '71 ! 9#)%&+ #6:!:<<',(+8E/$;B*6%2C' (&&ֹ$B/ѹ0=C.8"*,*%μCN/4BH.,4 =<87!&@G)ȫDOBA#9K%'3/ K\CѮJNK#ج!E14N5!77޼7OP9Ī&MS92CQHJ<׿7>?$I[<$"ݳNB'G*$MN>⴫:[U: ʰ*AJDGSRIDC7)$  !ƴ -1/EFNTK:64+&  Ӽ +13;?DJRTI?=5,)' !/.2>=ALOOIA>91-," ¶Ľ(./6;5Ⱦļ *,)2AHIFAAC<4/$ $+.+5DLLIFEE@0,/"  $,-.:IOOQOHE?2/4+ #&,5=FKNVRC><843+ ¿#$.:>CPSTRE;=?7/( þ%0;?DMOILJ@<@>/ \.þ%0:CINQOKNRMEB?/ ηŻ+9CIMSSLNUXXNE@.!"! ʷ·½0;FPQQTTUX\_VG:.&& ¼%3:GVTLO]^TXbY@43*" οŵ(/6MUTMN]`TR^U;0/'ɿ !+3=OYTPX`_VTXPB;2(#"ļ "-08HZ_UU_`\YVRKC=5-&"½ '134>Ub`_c_Z\XQSOE=:5' ǽ!#2<66G]^\eg]lYV[VMLOG634% ˽#(+/       !%                                       ^UX                "                     & 1 #  2-!+< Ϸ1( " :41@6QI2  !(2!$!ַ7J_h< -%  $  ' "   *'.# $! !5 # <8Է%$ 4# ',":+쵭#32$զ,4  2('-6*ӽ .1%=%0 ,3!5($ #!     0)%'   08$ 0!-*32 61"!# )1$`)!L   -$  "'  6$"'$ # * /$   * & ,$   ! +  3' %      ,  ' '  '*  ") +0' .:%  aP &" 14& "'  #)04   +'(-5  ( )     "/  (=* +#*$Ծ&# "-#%,28 0  ! &%%!!/7'. +&   00&#-% &    ++! '?<&!"  )+ "b[*Ʌ"49:$ % ($ ++1<.5".2)%3  *0(((-  !- +    ,+/-  "                # !       !     c3Z &- -/)      "     # & $ *&( ' "#    * ""   #$   )          #    d}td                          !,.$ A-"/ &:Q:פ*&>I)"+ծҿNPD@=̲+A- $Ⱥ MR D'4E@:2=>, ݾ 0$7C 곮#(ν!Ǹ .>N:!-:AŲ70 ر1:;-"B>OkԶ"*,..*!#2:8HUV^_\ccYTMEE7%վ"/-.3,#$'-8DMU]][Z^]ROLFG7$ɽ  58163"()1CNR\a[WWXTJJMFA3 Ľ 0B84'!1CCFVXPKEB87DH<5-Ÿ!46793+(3>EHMQN@:907FB0'ǹ,=76=:+!!.56=FJEHH=621;A9)ż ,5:8Pd<<92+,5:9:BGECC;30035, ź %177>C@<<933879CA<><.-2&!)" ľ$'/58>GB=@;.-4;@?9880$(- ź &$(5;BJFB;3-'0A=.1,%$  Ȼ%$$1;AHNOC520,96,ɹ%%1GPMVXHFK:,88.-# (3=RYOMICGH912-*#  Q"ɴ.BGS[PBAIFB<3.) !?OTW[RABLJFB93'  Ͽ 2HTYZXRHIQOIE?0%   ̻(:?QXQ[d][_\H=9',?<@V^W[gheaWNA1* Ⱦ /Rú@HMXaa`kup\VX@,0ȿþ.>QTSZeehvmQUV<*)Ƚ5CRZQQeonogZQI9% ʽ ,?@P`SSjxofjaG:3 ǿ8CFTa`^mzxpk^B-& Ƚ",;DMT[hpnu{x`SC)ý*7=DOVYgvtt{oV?5"-:BHOX^enywk_K2$ ɼż $+7ILMYb`hvuZE<. ˽SƝ2 $--@TPT`bcgmkR:5'Ż )5:LVTZcbdhbWM>* »*>OTT\`dd]`VCC8 Ž $,?RRSZ`_\WPKA8, οÿ%2@KRPV\VQKC@7&# ȻŽ+:=IRPQTPHBA<1%%"  ƽƾ!4?@GMPKLLC9:;+$&(ƽ *6BF@FLKIDB;7;6((1(÷T%.8CA<;?FA;=:216-$-- » '0<;:8249;88:3-77#&0¸ !%-2232.%*66274/75('* !&+,132. %792:@:773*$ ¶!!!',-//+%'/15>CA:56-"ƻ $&--*+*'(.@G8-*  ($!()%0?A:>B6) "()*,/3:=90Umľļ  ",4-.588>B>;:1   "4=22<:9AA;>7(Ǿ &8:26:7;?<;7' ļ !*69999:7677)˾̽ (07;<:97475,  )8??<>;357.   +=EA:@?435)  #0;C?9>;0+(V_g>&4=>=>:/(&  '2::781# !(3=;73, %"# #+.4;=9.(# !*("(,)+5715<3,*  ',!#00/550162.'   !*)'-560-20,3. Ⱦ)/))58*)76-30! ÿ  (,../21*-9>6/31*!WëSſþ   '1()64%'58=F=2>E1$(   &/)%0,#6:8A@;CG7//ú   (-#"% $4:9@DFKG?7+ ɾ   -!!&$/8;BIONFB9%¸ ').*6CELVXTNF8'  #%&*15=HPU[_]SB8*   !$**-6>ENTU^c^N?4)ƹ  !)117AOSPU_`VK@3&XK2: !&-26ANPKLYZLHA. ĺ   &-347DMIEKXXPLD.ǿ$(" '0546?HI?DMUYWOC1̾  #$./"&#)1479=BD?;FNRZ]TD8! &'*.' """)+254:A<1:GILTZSB1 '/.+)$!%,422:9//=ECGNVP;* "*2.,'%-+*190)5A>@EKTM4%̿ķ%,4;71((-*,592,:HC@HPO@-"Ⱥ$-3?D;.)#"$()/49<29OYN@K?KRB3*ʿ +3>HG=50' "*/1:@16NK=FJ7)! Ǹ"1:AGD:60$)-09<4:II<:>1 ï "5=?A>95/"$-,1955AC2,3* );<=A><8/&#/--995??0+-'  .=?BB?>:1*#!//)470492*(! ;$/;DGB@@:2,*#"*&)2.*/3.%" Ǹ #+;CDB>:97-('!&($%)+$͹!0>@DD;7;=/'*   ԼD#/Y [UNC=9!Կ*>KW[\YHA<,'CYVUZQGC5"1SaWXTRRH2 >W\\UNUWD-  -EOY]QPXS?"  4AFUVMPSE0  "'/:@DPMJL6   ),+8?=KOH>'EjE5  $+.-16;@EME1 #"   !/33555=ACA9+ $&" #3237468895.%#)" +33597-.0(% '& #%-,171'#'#  ú¾ )+''(&+560( ! Ȼÿ (.*%$%(,+$-3/-(!!!#  %13/(" !$*(*-,))('&! Ĺ $6;4.#!!#+-)FKX/.% ##˹*:91- "%'+-*)  $4;=6+$"/+/.+0&"!  -7:@9&'$(7620(*$!(! .0=@><,*2/7=24+$/2)"ƿ%.2>769.043882/*&18$  +355568541650+.003%    '0244<<22117/*55.-#  &/45BD:650294298/,& ˻GC¿  *16AIA<6.17;;::93/,'# ǹ¿ $*4;EDA>/-657>:54/,0/& ɾ!(.;CB>:2*,106>640/022+"  *37<;3,,+)+-/551//113-" ý(6>::>'"3+)0.,7:65349:1& *4;>74.'4..,,37<;67;;;5&Ǻ$5?@@7'$'(/4++689A<8==>=1$ĸ-:=<8)!&',/)0859<:8@;+ $'' !&223637>@@AA9+  ! %+-022797*    !!'18;?=5, ƻ  $2@<;6(û  "$4A=20&    ""'8=6/,   ¹   &$051-$       "%)*%  η  #    ͺ J̷ %    ƴ   ")   ˶  !' $# »û    "$&#   &))% ƻ  ''*" Ȼ  +)') ¿  +*!   # KPcY   ! !           ##   # ##&(&    ''%*-+,/(',%""   -0+54.20'.4'!  165=;123135-   6>@C=01444.& LΠv &=IHGE<97:7*$ !1HRMLOG>;?4*$ !);OTSZ\PDC@6/'&2CNUaa[PFE@41**5BOWaaTLIDD=3)  #5:DT\^\NJMIIF7' 2=@NZ^]VMORRUK:(,?EFT][[XQSWXYO<''7ADFPUSWXRVZVUM3 MzS= $%1@>BFJSU[^VUVRME3 Ͽ!()2;<=@ITT\aVPRLDA6 õ &(166:?AGTX]ebVQPGEF4 ɹ +/.4649BOV[dif_ZTOJIE1 ν%%0:5358>MY]bjhdb_WPJD=/!%*293,09EU]ehbddcc[KD>3" ; &2001*/@NWcjc]beedU?51 ,1)/3.7HU_jkecdikcQ:.$ļN&+--5:=AO_efkigelj_O5& ƽ $*#046CLKVggftrekmdVH1 ļ # #-4;JRR`f`lyndicYR<#"%/:FIR\a^eurkc_WMB*Ȼ!$5DEGU[X`mplh\WNB6ĵ""#!$.?JIJVZZjxqlh`VK?.")'!*;GIJOT]jqtphgbRC;&˿'-+'%$.@GGJOTdojpobb]LA7 #.,,.&!3@>EMS]fhile]ZQIA0к9F ('#&-0)   '*6,$   !$13(     *--"  ',(*   #   &)%    &-# %-  ((  ! %$" :ҍ0  "'#   !!$(#     '%%     (*  &$                   %*($   ;{ ".20#    )66,  #093% ,:;0$   %*5><* !%   !,08;2''2% *45>5%&%/4#(,.:/"&-*$  +74;6%,3<$   !*<:<;/01  !)+8DBB;0.# (0I`]ZR=+!*5CTXXVM=- ľ #$(7DU`YL>,KN?-#ʹƾ "((9AO^XSJ?7'!!" ȷ  ",;DMXVOI=.%  ͹  %6FKMRHF?/%   0>GPJFC@8'  ƶ#$$/AEJOBCD=2$ ɿ   &+)4AHHIHCF>9/  ĵ    #'26/-." ռ +MTNNGDMHFJ:*1/&˵ '>TTUPJINMJF7/3+"Ҿ 0CJMWRKLIRK=<5-"  %.7FAJUQPMIMB<=1!¬ /579;DNQTOEEB;9+˳ -;?:63-& Ⱦ  006B??HLFKQCGLA;:3+) ʻ)2*7EDKOHCB>>@B8260,&!(+21<;:5BA=>>7.!μ (++5?DNZ^ZUF??88@EIEB;+Ȼ '+2?@JSQWTME=89;BMMG@5"ƺ *0:ECGFJOOMC8:=BILKB5-ʼAوR. -5AJE@=DLIG?69CINMG>5#ɲ 3@MLE@?HRMD?GQRXPI<>EQ\\ZI,  л +.5FV\\ZC)ϼǿ%*05>A?GJOWQKH?8FQTZP9"Իô ,-1<@FIJPPQ[N@GCEOTYN9# ɼľ%%(-5ELONNOLNSNEJKGKRPB-ǿ (,+3BMXVPRNNLCOBTHKPHMM7'Ƚ·ü')+8GUZTQMGD=9JTMKQK@:* ½)-4BNSPPPH=647@MTKIG2& ¸ &6?GPKOTI=0*-:=IUQD8+ ƽ!.FMKQMLKB6++7>CLQUC($Ŀ/;LRPNOF>;.*3>@IOPL># ȿ!;@GRNC=514458AGGNG;0$8:EOD80+-5988CCCE;+Ŷ ,1>@1*)$+37?<@C><*CHм$7853*)).6DH>AA=5ѹ!174.-)%.?KHGED:& %5563*+6@IE?HA0  &256-*8@?IDAI7# '251/6?=@CB@7% %./672(;ENZ.Ap  %-45;DS[[XY[WKC85=GK?-Ż  $%&(,6FP_cYSNPPJ?84?GKA(  )-*$!&7IUcbXGEEJC@67BHG8̾ ,('!")6GW[[QE=>?>92:>B>)  '.,+,+-6FVW\ZG?;?=59?C@1"  &*-1040.:CPS_]I>9@<8<=C3)'Ͼ  )+/17723-04,'*0;ILTQJF@@4#!$Ը',%$6BK?0)(#!1@MMFENPMG3$ #+Ũ ")2*0=DGA6.73)(3@MRQNKJF;( #'  ݹ'-14=EB>439:=2+2;LTJG>:1#"#Ȫ(7>C><<537==C>,19DJD=1*! $  俩(>JB931/2=CGD9,37?C7( (! ï!;MVG95/27FRMB:885>8*#''μ/FSVF6437DSXF>C@?94''  0Ψ¬ !8NVUF<6:?QULADNF@1")  ʶ.>EGA3 !-/'" (3HGIJISXQH@>.--,ú &8IRNUWYZSNB@:;;.% $++%ҿƼ #7IXZ_`dcYQI?9<:4+/.'$ŷ!:LS]`emfVIE@=648/-)ƽ $@LRYbkoiOBDF>2395$ ˿ǵ &?KRY117Ygmk_D=EHB996. Ҽ)9JXeqokVDBLSLG;1(&6MctmmfQEER`ZRA(º*=Vouli\NGKbicP4!ļ .J`lkc[PLLWgg\F(ýɽ(7P^^\WWKHRbf[P;ȾͿ(=EOQOSVYSRcd^SF2Ĺ 8MJ?BOYY]]\bWUMA+-?I=4A?LSR__ZK;.˿"&2HLCELWbfc_R<#̿ !+4LQIEQ]aec]K2 ȿǴ   "(2HZSJT[di_P='  ǽƿ!'5K_\OPZhfP=/ ʿ3ᕻh -BUggYWgn]B.*%  ̷ų &?QVae_jmfR9,13&űǶ 9OT\bekugWD55=8'Ӽ 1HSPZ^hpcZIG=2" ¼ (9@LTXY[`XJFHJB5) Ļ+7;JU]dYZWMHIRK8%ſ +6;) ˿ />A>?ITYba[RKMLD2&4 ^» 9FA@FLPW`bZPID;* ¼ ":BCAGEJV_b\N:-"¾ *>DID@CMaki]D' ʽ +?EH@7CWltkS9  ˿  .JHC@?B;4'ɾ.-( "/;=>B=B>=4(,$ "(33>?>=54)þ$+&!%#"#+>BFA97-"º$("$()"**$"7GGKC1," !104.!!$%''0) "/;CKH@(λ*37:.#")$#$))!'3;EHA/ 6ȶ#17>8*%"/4##$$(-+7@<4"&89:4%',8<+" &12++392*ͼ'4><71-27:/5JUM:-! ʶ 19652+#4FJ@5& ȼ$79/,(/6?:40&   ,563&(.41*,+(     !+.5'#..//'! '(  $+,(*)*"#!  #"#( 8{Ms  !    "!&  %"     %     !#   $)%   "&) %' #璸h5#λ,3--08?GKMLD;36FI:&  Ŀ#5921:DNRMIBABELH5#  ):924=JVVE?>BBMM< ɹ &18>72?OVK@>FGKM>% İ "025762@ILGADJNK?* Ͼ  *7868<=?BIIMRWQG4 )4;66><.²Թ .B>.(.2=@F?:<>8%л̿ '/85/).5?A817@>1!!).+33/+3<;@8 !!"ï '253475++2) "2@=1ó*8;<782/,& "193)!³$8-! ȷ& (181)! ˶#;LJEFLRVM@4&"$$ ɼ%>ONMOU[YQ>-##(0( ½ )>ROQU\`ZN6'#'/,   ȿ *DTLJX`dVH1'(.+& ǻ,DKCCRb_QD81.$!!÷/CHFHSg`TII?+"&# ý.:DJKR\^Y[WG-(%'cu< ǽ *6BKNR[fkiW?/*$  (1=EHT[kmeS>0%  ƴ &,1;L]fneYF7-  Ⱥ ))1?T`eaVL?70($  Ĺ"*,6CTabWOB=781% )43=BQZ\VE>B?<,#  +748=KTZPB>@=-&Ⱦ!.3-0:GNPID>=3&$ (ZI#&$.9AHDC?<4+'&!  '3<@AC@:7832-  +5;?>A817BA8,Ƚ"07?<611?LJ5 Ż  '6>7)-/BMI4   460))4BG<+» !(10307<;3+ ¾  " .<@=0/.-1&ľ $( %'  '=TK8!(:B5)}(¶$%++ 2LRC% $?E9)п!#-)(FR@*3FI:( ˼ & GA7& Ų   $/1!'8C@>/$ ï   "(1=<32*Ѽ     -787))'̻  %/1+*#% ̽*ha   %,4,,,! ! ,2/3' ""% !051! ÿ $"'#   /6" &)$   (%  -1)    /:5'      "291! "   &**$ +|     !   &$   )!     !      %("  #   '), ,-/" +950& ,h +?B7/$    $2'$$("  "+0'#/;?:/,(%%(- &31' (069341*,(*& %:?41-0146>G;93+'! (5>::<:654?NML@4)%$  8B>=@@9759QUZR=0% Ľ  2<>A<-y<=;8;M\b[F:-"ļ̼'58=?0.6=;HTdbP@5+ þ !3:;:7*2@GQV`gYMA4* $3<>93/.:HY]`bXSM@4"  ,7DC?0,5>MYbg_WPQP@-+9BJ?2)1?M[ajdPDDMK<*ÿ2AJD6'/>KaadbQ>5>IB:& /8% ##  ,1..@I9,1DM;" &   $+.8?<2,9GG5 μ  '.63215?C7*( õ   &-/18@=5(!$03% ʾ +, .5;?B7.!(9E8  4 &30 (09@D?5)(;FH8+( ͹  #  &//)',0:@>31-8==>A8,¹   $*1-'*2=>21757/3BH9$ù  $.4&%4<6-695*%3DE0 Ӿ ()!$-9."(6>11:>3'//).59D?2 .;9+(+7>=8=;;/ ˲/?A=;=BBEE:& &#*0 I04,+284̬ 7=><]sn]ZegWE2 (%  ȯ !0>PinibgoeZRTKFFIZ_WH7*'$ÿ.ENK@ABM\_V@81+!*;LF=BDFP\\PD@2" "4=B8>HLPQUSVOC* ĺ"HA *045FRRLLRQ@& $.7:?BHMRSL<-! Dz#"%&2=ABDNWZRA0.-,$ Ų!%''3CCKQUTPF64;:/!!#"),5=FWXPF>99CC8%ּν  )*%'/3PYI4$.FSD' ˶  (+,*+6>DGOLA-*;NM #spWP$gP#KG8S87op7;Qto `GpЯo? W@Jo` Ѐ?g@oTp +`S(А Wp0𪠴+Wwp`3Ā0ఀ)Pa{`8𠀀?e:0?o|?})??L=wDD +, ?0'1`7p;o 'dĄ?p$Ԁ_~:ᰐп|_*;@08o~?;P?tJ з =W|[`wv@pDЀ?p ࠀǀH4pQ00#7e0ЀA##Gw~HgP;pH/`p '?;cp1Qw`'@T'Cp? Ѐg@` ?Ho0pЀ 3a|x8+p Ы7c gPЀM`_4WP{H/0?rbP3p/x'7~PЀ7gh_Q~WP ?(?|0(7 [#870?{@ 䰣#h?/Pw~ w~0䐀@P/~ Ѐ?`O8𨀀Wp  _H +S~x4t?7|𐃱'O?`Ѐ0Ѐa?`x?0?`}|?PPзu Ѐ?@?s`?~4ꠀ?P! /=?H>?B"7sD ?mrTА7po?dkp`?hP2!WxW`k  #?@v蠀MRg~-GR蠀?p1>UUf4k(78褀ZP&ѐhkp0䀀Oyvr4𠀀/xw` Ѐw@GY0?w`?BWpЯ?ा;gh /`??:Ѡ?ktt _`w2`90 /p/(?Pw`p ঀ7c0Ȁt ~8л'DЁ?@|P#?g18𐀀W>o~0# !?ah T/od 谀_vD'W ?=` Okuv0椀Op8?`䀀sPgd$ЀPoD耀0РUg`c@?<г?`?4 ЀK g0?@Ѐw`| 'x DcS o|<Pࢀ?{`>Đwd Ơ;``ЀЀ ?@_t8T 7~#6?Aap7v0䀀Ho@07p .?v`72_:oa$ЀoTĠO8Ѐo0W4<г7x ŰW@ࠪ G !op`a8??@W| Ѐ7Ѐ/ 's0ऀ/uP Wt4S 䠧K@?d#g:g@c` ?ap#s<cP𢧹/`@'$OuwpW !P`f(ࠀ?P '_@Mw@;ఠ?0אǶ#W03/_P5W8 Q{x0𠀀;8Ѐ P7~0𠀀7P_ut2OP 7cV@$3@ЀW@ࠀ'P"?k0Ѐ7WD?t?`𾰓8o@Аzw0Ѐ` ?PĐg` `?`'t;c< ;sp$栀?x2W@𐀀 :7p7?Pw07 ?~0Ȁ_p aۥwP ?H&(?g`$#f0/>𹫀OPyР.g4UPЀ?``BG Ԁ7w Ѐg| ?~=/}@腀Фoxp ЀqP3j<cp$&?4䠀7WH!W`?p x 0 Wgp"'0/| נ3QP7{` Ԁ ;r _`Ѐ?`$ Ѐg8Ā70ࠀapҠ'h А'_@$77p T?~DЀ?D?xmfQR$𠀀#cdЀ?h7*䰀/x 5:?p03:$#_0𨀀W`P࠿>?8򨀀W` /p?|0Ā/P _p ?d'u`C Ā_D?p ?`#P`3pˀ OBЀnpPЇwo0/43oP?p(ఀ'd+UOx(.]'..W3: 0@ > 7^M8< B/G]H )60I(#"),9+Ad,# , D  %8@=R)/C #EB*A %# "014*/.%% %<.  5,< ,( 6  !)#,F5 *"  F F"*/'$;%(-D5*6+ 4*) 6KCZ #8@!^.! )%'   !  , ; "'>%'!+ - , ! !% ')0+C  ' $ !  (%1+( !  $ "+7,0'"  "0"'"      8ɗ@P?kb(€0`_p8+Uu|R(wp`og_0`Ѐ/_@P0?K~D7PW`%c`74QGp@ ]q3qP?@3>7P?px8+KS`SjPawxmD Ѐ?KנǰĴ7stD6g| 3& P? a47`IQgt}}`~ ;Wp8wxwd: Ĵ/8/P0gp+'QP0'| 0Ѐ:OP'2KP -P[Pg`$7?W0Ѐh ? ഠ 'ojR吀7䤀#`$_H[0àwD3$?0@8 7 б/p G<Ѐ뀀7rw@`ր_t Ԡ70/WP?DPеgp(6 $Q3"0ch  砯?oT.[d Р׀`?x"/[x?5@𰀀wx 𶀀'0/` ƀ_` O~ _@𴀀?0?@􀀏耀#S{ 0?0?h(?o|D08Kp  _"+PoD?P蠀OgP$  '+46QcS@ ?PW~Ow>_@b ghU𠁇>8) /8᱀G`?P䠀'P? 3pD3RcUP0Q" ;Bڷ ==հ  S) LEǻ% (\?! #T7  +Y*ܯCNҽ &NL Ӭ 7I; Ź-H: ߿ 5Q,ִ DRȹ LD D?CC  +L80P' .M'#-O"=G+:9 .A, (E' 5A  3> 499:06!02!.*5W8*8 12.+1=+  0F4 *F4  +A/+B+$)B  5=)83 07!),  '(%' #%  "  $'  #  !         Y                                  a     U      Q                    D@/@PpW?DW` ⨀_`&$=Qi$t Ԡ ?xP7 '/Hg|@> ী?`?aNbxz|j`H6(/|7pODPakrrpkc`P@?:>Wst6BPUPc{tgPKPPA<4(, #  '?Sf}~w 4'sTSt 'KP wУOh` 言)S```?? 'Sn`:Ȁ /?Skp?78㸐?pt`< hߚWb/P'0? 0ЀP/j0_?d7`&"?`7IZH+" #UpWu@Mc(+3зwx770З?k~ )4:?>?5 ऀ ?~6 ? -Vp Od>66ఀ#_`T~?#?C('5P``eQ?*Ksvggpp<@3`0PwWsP?h#@7~@ _P %;|wrgfXiE!Ifu@Ѐ kxK`?0Р7h0!?f`?`7gP_`W$ Ѐc2_d?Ot_c?8Dw 3_TkG "¨ǰ 15az0x?Є` p<# Ѐ7 'T4 2?GV^`O`_ ?P`P':耿_@?p`op䀀 p?40 ?h7PPB!?kc6`3`b= А+?g@wn@;?ew` Ā(Ā0wpP ?oPpw@pd/j[g:`~W@o@€W@%dP?{``Wtt|3Ā_`W+ PP0t Wa@c@+7dP 㵁?8( /c~S!Ħ0On`0P0`{@/|$O@? +P@?0鸀???A`?8~u@o|7pFꠀg@Wx?MyT|@'ࠀw p'?P7                                        3                                !#      t"&!    )-  .(     (                      ! I    !                            "rQ                              #B*                               ${2                    %                      &4]                                'ć$         ښ       #7# %//-, &7. 06) $); )71 <(* /* 4/ ' 2 "$,#; *)$( 5'!(٬:)3ǿJ1*2$= 876 Ե.082  3I/ݵ  :M ¹)jj+''   '*)!-0'%  )0  7>%,    98 #=2!  &=2  6+!   '5/(# '03.(#  $+2(! +50+,! %-+"% '1615  )"'04+1 *%*539!  '("+301 Ļ%55;(  -)*2.1ƽ'!'16:$   30 &-61" #+=4( 3)!-;,"Ź&*:0' & "2"*5+"ɿ / ,81,(,$/!+& ĽŽ,"11( %/ *:),)!  ο4/2&& *(7+z" "&D3./%'Ծٽ7. -. ,&&7! $=6 $"& ͻʺặ40 +#1&+-90$9B !'' ±ż꼻+=#"3=)17=!1B" '0ȵ!3 )/%'.&8& &ּ 3.%-( 0*!ǽ)- (  !" () ȶ %& !    &%  ʼ,Q ! Ų $$    ö &'"(,   ſ %% % " ȷ%!   %$  ҽ &-   %-   '1  #(ܿ %+   - #  '$   #              $!   " /&     )'      .O!*        !,     (     #       #!                     /؈   '!         '        +-      20     73&  #! !& ,;:- $   "(# %) ,:9(&+""/#5:: 00&4 %+9& %"5?? 180: $(%7EB 18   65 $0"?N>$>8(& !;41"8M> 4. "%$0. "(@C7 !*+  !!,1%( 9C: (,  )&/::$ "( # "1+( ).63$ $% "  $ '*3630    -+.*,)     .)%'+    .%  ,     +!     "     2- !     "    !                          +EW              !     !     !        4nj =[`TIY]2㺮/KPD7TP$۽C\\R?]P!̵5IRH;[D ʿ  FQXICX8ش̴AMXLMX0ھ3OY_TRP*̳+AJQJL: ʻBLTUVT9#Ļ ๹59EELD!/NJUPdP)& ̽ͱ+@>DFZ8*GQLLSd8 ۵ո7=<6IP  !%ORH@WZ(  ذ5y ̫::42HL   5RMDERP  ѳŭ#?A:?I@5KH==E4 Ĺո%9<:;@(  !9KJ@=<$  ͫ '=D:82 =UTD@6&!̹'B<3,#  #C\HB:+0" ոܪ /I21(% +O\B5+* !  ظء;E4%&##" # 7XU@(*"# @@( ?T6,͸?TDFB,)O`RPH0ȳ;PHB<* 1J\PHA,&=KH>;(   5HTPD=*;ƻ%:ED80!  9JSRB8*'?IH50(  6ITP<5+İ9C=(&# 1ITP41)ì3@8!!  5NXL:43 θ7A1## /HM>0(+ ҸѾ7;1$  2DD:)"!ּ#13-$! *ADD50+"  ºǾ)/0#!( $ ).1,+''4=DŰ&/< $'1!!( !+#, !%2@& 23,*%%ɺ))*)'!*+2 !*+-)!!'(#"/*! '-1- # !'0/(1) #',570(!̹!-1-/,#$'55.# ų!-0,-( ')0;<1!!ȹ(.*")([c"')175.#ƹ "+/)#  #134)  ſ)-3.)+ !+,3$ '*6(#/   "+/5!$ͺ "- !)   !%+2(!   #/(#  %)7(ȿ2$    %2  ɽ #3"!!    02(! #)?qw  &6=$ ƽ %6KL( "#'4D5  /CR:  !& /:=  ʷ+;HH,"' ̽)28-  ۽ =CH= $  $*ü 575!  ư+9=; !## ɼ154-  ͽ4880 %# #323"   Ž'557  -1#+#'+(*  @>Zʶ--/( 4,! *(.(+.-7*$!(  " ҽ#0  % ):8.  ! " ) #%391 ! !# $#+/??0  #  .)  #%/<4!* --;A-  %%  #01A.' +4 Ʊ $ 7?4# '̡ C<1&+9 ԰ "+C4+"%ܸ ?I93)6!G< )G@5* Ъ 'D83(-Ӷ !1C93%  Ĩ 7E:0! к AL>,  ¥DI=) ͷ 2KJ9! ΰ/FH4    ;LP8!а;NJ0  CTL0!Ȭ'KVH)&  +MT@$  5MP8(!  ERQ:&ϸH#EIL8$$ # -TUR@*$ ͪ #EHH-' ֲ %+LUP20Ɯѿ 'BQ@,-ө!!+(&/M\D6+!'NR63(  ب)&'+- .UT?6$Դ%MA7- ݸ ,##+%#;UH=,ġ &?EB9*#! Ȥ'1#&#5@:7(ð /A %?HQJ@(ἠ 3@BA2ظ +%'HRSL2!!Ȩ #HNPH, /!Ƹ!#7TRXH))չ7PJQ<$ /2ƚ$  )HPLR:$!0˱'E@?L9(18ר!?PHNTD45-Ӝ?M<.$'%  !+! :8,  $$Rp  #  -8,#))(   /,)!#/+   "(%!'/     (# #10   ! !!% !+6     &!!$4-    *+))27(   SY !+&%%01    %+))+.,  # # &)'%)%  ! )-+))!   %/0-0$   % # )-)'-   !,*+-0# " +*')2- *     >Ȋ/ $!%)+!   !%)-0&%     !!!" )-)50$   #  !0()E="    #3&).&3N@!  ! #3$ %&'7H@"  '5, $'/@=0     ./л+OTJ>;FF2²  %(6@HHA80+$ )$ ˷0Yg`PEDD9Ƽ "/426AJJE9)V    /6 ǥ  -[tteQD=. ࿩ -6;80054*         4=$ ت8f|fJ6' $*;A>4)'%    8JD䯡-43A`up[;ô0=5*+00)  W  "" .HH%红;AK\lm[:Ʒ.>0   )JO/ⷡ'HSU_faK)  $>D6'-0+      -IF۰0JKLTVK2ʽ '9;' '*))"     X";? ⶩ-EHLVWJ2'+ "*.%    *=/ ܿ*35;DC4    #)2448;4(( "#     >@$­8WWPPK=( '.)).2)Yό       AJ2A[WH;3"ȯ 64#  ++%%'#  #JS=ź:YWF5% ƫ   "(2+$   =C%䲰.:4)" )-Ƽ*(  Z#)   =OHЦ.3) .;5̺ =@0         6IA Ɵ()# %04%ۿû +>8"$      "DL'՟ +-' ;A6)$#ŵ  %6. #)#  [͉ +E>$8+>QK:'ȷ */#-3550$      0I4馕)4FUC"   ޺$ *EPJ>2'      6QJ-9' 3E?540$ ޺*4$5@IKJ;' \-޸"ILş$( *.-/3.»**%'/6:;=@=2#       $:.  *3. 3EHE>63.$      $( -@DAA;3)       ]4_      "%.-(%               (                     ^&D.  " "                              I|                             `bs?::6440' "     0>ʞ(+9E5# "  #09;952/-#""#      )4 ȟ"CF5#"# "$ƶ  "$)-/369;94-#       0A(츬22=SO:%%+ );E@6*(-6@CDA:0$  aףe$     38ͦ+5- 8PN>/"˷˷%=HIFED??===:96+ "%#   4D+23$45--03." ޽̼"%(*06AOTQF8*" '%"  .-ֻ(# '5=:4"ѻ(.;C:22:DPTOLJD;8+Ƚ$*2b0-)$  2E6$5. +5;4׸)6FNE959ALOPLF=:4( ͼ "##$ >F+˽-;3*5;6% ";KOKIFHLPQPLHHHD8* Ƹ%*00/.46534.)' FT@ %64( )60)DTUSIA??>>;:665+ º"*/043./.)%%#c軻 :WL$%-#  4=4º':INUUOI@8/*.3453) '%%)..* .C=)." +;:*÷3@HKHFD;6/+////.$  ""   HI(/) )>C2¿ "5>AD>:6335333982) -K=ƫ%96d@62..24=AA@;2'"               :eqd%".  %   %     % '                  f                 gefi        %/2/%     ## )(̼+38@A:2-("   ̿ #(5FU^YULA.   %$#$   03/4;JNK5 ε *;KPPNIA9-     h p#   :IC)0;JPC( 2AJOPI;-     ISI׽0DJOF9  պ')0AHJHC8$   :A޵*CLNKD.  '% +.6;;:4(   3:it ѽCKNQQF6)¸ (/.-.*$##)35-%    +CLF:+')/2?E:/'      # 3T\QF>52"  +>NQKDJJ:)    .4  㼶*NYPA:96 T|70AIKILPJ:' '"    $+HK?8@IE4ο#'+3>LQQI=82)    )4" " 5EA88CKC) α %-*+6ADFIC@?8+     /0#$9IA8;HPH. ȭ %$)8EKFCk>n2"G&8SVXVHDRF AVNAMEenemynANNOAudio Master IIBODYF' ʷ#$ "           >F ֦("#8;::=6"ѽ --         9PC"# $)49- 053/)   lL??      0C+䪤 " (3>;'ƺ #%)-+"        +) #+' $$       ""׿        m{n       +64-)'""'$"       (.356:AHHHC60-*'     '*/48=@>>>8.*.00'  "#nC     # Ƚ'+/039=??96:=9895( $%  /F5曉4-C$KYL=63*Ƽ  #'()-+$        .Aʖ# % 4@@DD8Ⱥ  (6>:2)        ";9$).?>oMu 632) #'+++*(      8DЙ )9EA;;5$  ".2/' %'   ?Dǟ/% 2?:2.." )..%    $#  >= ʢ .3.*-09AA2żpe24 " %2::0    $" #:3ͺ$+"")-/($'*-.(    (Ż  "$  $""$ ")'      "   *2>AA=994*$"()qx# $)#      #'%ƽ )-)5>8/(+?DD::8'' ͼ(  # +(  # 3;ANQNFJIHCAFA/(''')(*+/0      ǩ;2-DKK--S=8FKE2"*¯r#(#%% %:#䰪 'NZJ.#.-%$%)" #"%2024546/"     =>45=L8 ($##Ż%-6>:20000*    +\?܏9  0:."30  #2-"%%()$        s #F6.P'( :;'*63"  *0+))-.%   );̢O6'%2" %*#       #(+F"$ (*'#%)      8;t# " 08=I0-JA+Ҹ '. 4K=*      #)''()%(-*# $%%#ʿ#(*0/.)($      )0*$'/6EHD=0)$  #$ #$$'(%'      _P  (*./04::8852+# ƿ #'*2455643.++"      "(05;@AAC@=;84.*% Ž (-/./2+'  +8 -'AT?$)"ʷ (2522560()/3+"   5I.% @WF($+% ˽ )4v~uh  !!"#$%&''(())**+++,,,,,,,,,,,+++**))(('&%%$#"!    wJ !!"##$%%%&&'''''((((('''''&&&%%$$#""!    !!!"""###########"""!!!  xz    y264   z,    {{  |  }Y[M~d8SVXVHDRh &iNAMEmgunANNOAudio MasterBODYh        ? pC?p_`_@@ߏP? 0?@_|m`( )!pwp`QK?<2,#  ;7; ?7oqS|`!ax`X@`@?׷~ `n ox?@@//w &D38< _p77'5PxUoP@P @W 0IRg{ctq?e@ '&7'<$ ?LjE|hgdrT\P/  H@P1 ?sr~k`cS@@1Р!>|?_` >D>JP> jl9˶紑_s{{c``@?>BG ;0+' dz4?wVdw|hG0##2_X(?8 ,8׫ /-P.gkTOsxp]m`?P?ذӷ(1``t`VUP@ 70((੧7)52! #%=GBOORM72'$+ %"(   0$+F078.+L &"  (/,38'9*0( P      "$      M'=Sfklllkjhd\PD:40./258;=>>=;::;?GQ[_aaaa``^\XRIB<:889:984.&´;]sxxxxyxp`P@525;EOYagjlljhfdcejqwyyyyyyyyyyyyxxxwwvvvuuttrpmifb`[XURPNOQW]emstuutttttttttssssssqnieb`][YWUTSSSTUUTROID<4,$ K/K_lmmmmmmmmlkhbZTMHECA@?><:8779962/-+**+,/15:?EKT[aeeeeeeeeeeeeeeddd`\SLB:4.)%"  "#%')*+++*)&$  +7DS[_````````````_\TMB:0(  %+/5:=?@@?=94.(! '/7?DILOQRRQPNLJHDA>;85310001359=@EINQUY[^_`aaa``^\XVQLHB>84/*&" #',39?GOV[_aabbaaaaaaaa``\WPI@82*$ #-7?IQW[\]]]]]]]\\[YVPJA:2*$    #)/37;>ACDEEEEDCB@>=;975422111234578:<>?ACDEFFGGFEDBA><:741.,)'%$###%&(+.259=AFIMQSVWYZZZYXWURNJFA<71,&   "'.5;?EJNQSUUVVUUTRPMJFB=83.)$   !&)-/25689:::::998765432100//.....-.-......---,+*)('&%$#"!!!!!!"#$&')+-/1367:;=? @AABBBA@?=;8630,)%!  "'+/47;?ACEFGGGGFECA?<:630,(%!  "%')+-/0123444554443322100/.-,,+*)('&%$"! !"#%&'(*+,-.///00//.-,+*(&$"   #&),/1346778888765420.,*(%"  oH !#%')*+-./01112222211100/.-,+*)(&%$"!     "$%'()*+,,,,,,+*)('&$"!  "#%'(*+,-./00111111100/..-,+*)(&&$#"!  e  "#$%&&''(('''&%$#"!    "$&')*+-.//0112222221100/..-,+*))('&%%$#""!!    !!"###$####""!   !#%&()+,-./012223333332221100//.--,,+*))(('&&%%$$#"""!      "#%'(*+,-./01223333444333332211100/..--,,+**))(''&&%$$#"!    12   "#%'()+,-./0012233344444444443332221100//.--,,+**)('&%$#""      "#%'()*,-.//0122334455555555555544433322110/..-,+*)('&%$#"!      !#$%'()+,-./0123344556667777777776665554432210/.--,*)('&%$"!    uuY !#$%&')*+,-../0112333444555555544443322110/..-,+*)('&%#"!      !"#%&''()*+,,-..///00001111111000//..--,++*)('&%$#"!  ~ .(3E5ؾ09 붪/UHȺQN% $)&5. !53"=7 OFƻHL& $&)' 2=/! ݵ+1  #';3=E5B=Թ,/),1ϫ'$50'F8.A@$պ 0A@'ο4J8 ѽ)''#9!D?³)=;3ɽ)81 96  &$%( $'/%֞ !,(   (                                           Q'                     !"                  # &   &, ؁ 44  * #) #( 5* !   ) "     ! (19'57%8866MC *   #6")$8GDFի  ,5   -<7/ۨ+H2$0-ӹ6D, #  23% ͨ/%#%5e&&:) $ &77(!$& ()- 21 .+ / /9,%0,,, ò"/) ' ?2,;%&,8%&5( $72>5G( 9UE )=5ջ3;8$,(58# )CI% 2=-'  !3 1 ) -$*$",)$6/          &  g\  "%#                                               l(%      *' 5. )'&1     )&&! "= ,J3 % =#   -+$     "  % 2 $#  / + 8,  D  )$ "  !  !    "    , $ %!  %  -( ' %  + '-   )  -!    &   !    & & % T@   )$ %&+,#/0      !*"*/$ ) -< 0 %/01! $ E4 !'7 - %!% ** ' &' 0 ) &/  .#  +4> %    Բm )                                        Ե          !       !     %(            '      sq & GM(۬!7629%*8%4, (+  " =B.))!') $ 1%,(/ #$-')"  $) />. $"  <2   ! $                  t e                                                      u-v               #%             0% *( &' )&>"( )1 ͼ/ -?4ɻ*0.  .%@9"    B:ӿvfյ%! .%"D' 7-2B3 4- CA#$,-'%ֽ'*( '1-! 7<3FL!չ#&(! %&$64%?3 1)0(% ( ׿!;) '2$6/      %,!*( '' )5)."  8 )&(*&&-   &13/ w4:&Ѻ$ #   <<& -0! )"" (&  +-)¨JS0$&&(& 8/$C@/䮞JK(+?!   (=8;M@˱>?8: !  & -B4 Ѻ AC1ǭ"P?-*&$*&!,GG1̲;4 ! ' 42!ҵ?I2 ¯FH','*<<5@%練 0AE4%E=xHVIj#-00ʶ(=5 +$'93 /OR"ʠ-8ؾ$0 7,2F=:3+3-ҤATH-$ %&$'OI-,B9 (& ?y8A+#=A*CL2,#  E;)-99 ˽!RQ%칸+>;'-1+.-1$AA;M,2.$#*"&  +  @K5# ,D738 .##     GVGŢ!#(20簹9R=("&KH/.  9(嫻/8'/   &/ $ . 7/ # z& (8  %5"1!       & '(  !#  0#%(!  "+& 0!?)   $+ 6&+&-&7/ +  (  '8 " =B  +$  .2* # #-##/ %${f8+1ٷ7*& 06*! ! '4 (F&+"%()   C2! & %)(2--"% # " ) &#* ,/ 2 4&5) #&  %)# !%7&,:#" $38/#|"m3?)& 32 ѷ6"  &02$ .7   $:0ȿ!5  /5& (-  DI/( *  (3/ "$$ 14* "5*%;>"7$."35.(+ 582#@8 4I<3=D- =RIB2 Ҭ8PD!JS2.CE$黩=C8$!۶ GS8ƽ,KQ1´AA;(έ?F>+̦AH4"2@;EO4?P>ܰ"GXS3ﶡAVH"赪GU7Ѻ 6>:'ĵ'SR'#FN,ȵ)8=>&ɬ8PG"9I: 4KJ0ֺH\F!+42 ܺ!413)س-42*ɷ1><ɾ9B6 :HO2ڜ5*%20 ++( .3+1D>ฺ$CC4۶--31SN/һ(<8 .>: ּ*GB0 Dz"GE0ͮ?B22ɗ?R9 9O8%- /h5un&7>/7JJ4¯(77!;O5δ0>8 3/  ,C.;QL!*"6.߸:H1 -)<&趿":. +!²6XK %  ),5O>:I5## /6 0E2շ2<" /F0鳳/< .A4 3("1?/5. '@B̽0+ %, 59(#  /?* -$Ǹ493) CH// #ɾ$1$ 2"  0*++i`(J: Ҵ$XF- Ų6?4!$(3"& ѺA=6K"*A% +,  ) 32%>*$  +6C 6(  &   -(8+  $   .   "#)                j]䁂                              %  ,                kB( &+               8>#1/9[Bż)+" 6@1̲'=>;Ŀ3E%ͦ/F3гOW  "  5 59=PC 47  !+ر$C48N$3%!'3NA .70$!- (6ѿ7,%E@'+ 88 ķ89 -2"(8!l/q  7 ' 2+!&5! .A& -4  * ( ## #+  &  !&>!&(#?9'$ F. $.("'2 " %  4  +6%0   & & "%%- 8' $     %  m" $                                 ##0!   ##           nc       /' 0&!( + '( /'%   # : "4( *  " -6 " $,42 *&   # %   !   '  + *  o.m0"!$%  +" *$     ,    ")*  '5*? #"    >5 6 0)& *  /+$6'ص:$&%  $# $ B ) ' +2%"  96$ *".*( p23#!"? #              +     !# # #19 % # 4  () *J2'50 .' "#"'8)19#'/ ## ˹.6qHX !&! # )( !#ϸ+.4:绨+D; "68߷ *->1߷#5.,'θ7==1총)F9 EEѯ%:/ >Eۺ !&)̿ =YB۩&83 -LDλ(#@B侼%.1UY5&"$ 7= >:/?(6M5-%62ӻ@%55);>6ij(LW5$ HUB0:4L/(# &N=  .8  "' κ 'r_* %+-"K_1  .7' $" "81ָ#L=&#1=0  $0㾼 =>( @Y7'3 0?ݻ?:  B0î +6.E\;ա 25',)I3  'L7ML2 7B) .9 Ǧ-U?& E:ƽ'* %-:J0 98(L/ &> ۼ+5$)1:. 3 ᪲?U+ !")F+(9&":#22 *F0ﵺ+4$1!25+A'$0.:?]P  &*/%'#    (- ,>!&-    (,')"" (#  %   ''$"/! $ / 4)&7$&   !'" -.>#%6H'$)"3 ,8.(';( ,  =+%,^pq/AI$"  68$A'O7./۽ )  . 8O&C   "635O& &#   #  $2"+3 6%%/0+/ #*4* "$#.  0+(!        _uZ                        #     %  . '&  /.#&&&3H)  !4̰-2$8 ,)   (+ K9 !<  '`.9~  # 40<) "0 , ":--* ! 1# +B!'* *';  &%@*0!&%1 4,# 4a!~*.:#,!      6$8(5H  B5 ..(# '-)( & ./" $/&).' 1    1"&( $              b8      !   ()   &  !  "2  - -(+, / "  "&  *  !          &2 # ( 8 11cXyz-=, ')21  ' 0T- BX) ?<( B?   BBII&6. # ':+!C2&%-$#*.7*#=5+$$ - . (# )'       #1     dit4 *%/ '  '# $&) '0C  *$1.%-"3A'  !5!87 !6<,:5ٿ&$L6 ((  #/ +=$  / +            "/!  !   eٝо  '        !                 !                    fZ               $       &     %    <ο2$ #64'#8/C9 *M(ϭ$*+()'<.!-17 -/ //,?D G0 '  96    " #&gEM                  '  %4 !%586 '#0 1;%/P44. &  5!#0$BI9- 4$JI!ּ!NF11# *!((?29:-Ү+D?*'/4-Կ%,#8B2 R8  - */#(-D+ .+$ Լ .@ 87'- 0+C,   -#H>"6ξ);+>)2")?9C>@ؼ6?Ļ,!+$; &B(   (01!3" *(=8$ !   ,31)%*() 4 6<. '/S-'1+28H2,3ק+" 1:) %3# (SI .:6 )$)0 EG$  =?( ׼ Y[" ) $ 40 /( #%%!?5.C2)&  +0 Q`?üYh?箩#!/ ! ! +3-`^ 4QU :F 0O9(."7' *H7 ;;COG8豜AP;B,/F>ұ9G10VOҫ)"(81&K?('!禒e\Tixf4W: &OVɫ #$ 潾\_$!]Yӱ( "@'ݣ:''C.췱9: QH ?B۷7  ܲ%I1 !KG3O1!*&(' 4[I' <9)K6޻  )*  I-)%+ ѷ8+ IP6% )& 5*$ .  !K<6# 56 % )*1# *" $8 %I(3?   U5-]    #     $'     $                          !%  V\  +  *"+  4   "1+     $=/#  "=-6"HB,  5/4 -,%'""!"(>9.# !  !<= !EA $=?     '  ȹ#*.= ,  %W +7 ,) , !9 &  -8.- (  ?6 '5(, -% @2 #3 ' ɽ )$!#/3 &73 "713A  $&>:/J0̳96  ,5 * 4 /-5. * ) !#2 "+ 8, ,2)-#1(/> !,X l %/- $ '% =6%/3 @3۶+" % +(B4!" 3% %"#*1LL-°!' (B0=Q5իH@0#ƣ.FQLԹ 1@5Ǧ@J>%Ļ$GG1ž=b]0RTE1,.$062I/ SZ&CYC '60+'.  =:4$(ǣ1?*' 0.3 #5//)  +3(M+ %D0  69:Y_J5M?, '5)D -&A+ %#!=:#$#  G, ,+ +910'$,3P=%4 + ##?(.75@   *)"2CD$< " ()#) !#    "! &0      !&    Z?                                                    [.Ȟ                    "      .3!?) (  !+9%7.%(  .2"# &# ,#̺-51 8 .'' /F*%(3 "!\hw^ ) */% ,'#5 +-40..    '9/?+5% *D)   ! (.! '  10  %$ +$!)!   +$0C%  #" # * H:2I  -     4>$)(Gj^=QNaȁ18&3tÁ\HB!@o "Gt^- ݄<Jҁ́y󁁖ā5({NM q\P\(~pCxցفEQk< @U@ϻUԁ/I~hbcځ܁S|X[`S3؁Q{ӁP ׸"6BlVlJUiā #Sq#r,O!5I9Gcʁ`',vpÄ[V@"ҁ~Ӱ{%+HēbX1s!2YÁ[q3Kmg`{m)y ā=sDynFe,~wS@ぁ?yqTH-\#NL@\93@$ymǁtglwG灁!`IO0>dāu\񁁁C[<,k235恓UWeXb06SAXv5A(G'ׁ` V`Łԁzv4`1=IZ\UWbEC[/V?>,"'b #)0̼q\~TՠZ;S偁てG(.a ǁS61>ALGG7Zс7恁t%<؁Q1ŁQrՁu3^ƛ\Lʹҁ8Xzxρk78TZD=Ł@Nc8Rkǂ Dpvt^)X z i,|3*v0ya^{ہ}2*\BbÁkG!$JoʈBwAՁAKY=ʁxF{97"MqwQx䞁@hn>|kD=hWKYiL>`쁟x`v `G7||;k3yL/G$lM2x'fh 5OyL,y{V:ASJnˁgGxTyki ,aā q` TW) ĢsH(pUSJۊk6T4a.΁3Gj쁰TցqK"a=wE܁Y3Wa)`&\m@CY/${ fYӛsÁ4x97b01{i8P7v݁I"wVsNҁ7.(hぁ%tk%n,OZ1KSUG&2%0x*9L)ŁvFāqkvUgǁPbHsF)ȁ8 5{Pub@Vb0uv@L1Ж끁ІSƍ4U݉#L~q!|؁4])XeIFށ+;f=?,0ן0|NǗrPeNXぁd5I ρ4̷):q'"޺Ӂ~fh"8-&?@t.0⁁<OSځ݁%vADO1FI71M-v6COuQLsiĘO_2$3Ns4ՁDh2*J_.tv J@>2s9fg]0nށ'-<&LJˁk\Ewp}b"$Ew&Hց b(";T(PāD}aLekXl9j*q v'2'Cd0R;Nc>X\\ϫ`{2GEr,d3{hD"Evx4E&@#!s3lePCZrPb!Vd!90)A@jGgz@t¤n_G#|Oān Qցρ200c M68zOBa'psvXo 07ہ?O y8IG'i~#xVx c*Tg큁Ou؍.j o٥OՕt X+_|$%Bx5(-{C.x0-(hy~:6'(<ǁZc1؁Nl ā7p\Qfar i!0;MA]x>]-BoM'<f PׁT*m~rꁞD&Ϯ^>Aa"" &PjsہLց0%Ꮽf63d=xrr"%('  5 !(#'   !  " !!$"*   $$0   &+" 0     ##%        & ( ,  )Q,     "  2( 0%       /- &5%#( /& -!!  #* (  .)5!) ( 3" 16$(  3 !?<, - ! ( 3)%0") # )  ,<o                     '   ;5$'!5 '=     8/I$-'$; ν/L__O$Ὧ!Fe  ! *C>-*- $$$-!  -/!$*-$*;22QO*ůI !2 *@ZQO> !>5T/-!-2ӽ*!F!I;-!''*T2 *b'@!>~C$Ӻ/58*5*85*!ӡ*/ */!*!>;58WZI$! '525C';!! - //* '*$2!   I$     !  '!  !!$!  ! -?ѡ      !!!5-''*;!*! '$88  *        !!       !!   @~Lw+     $$   5$                 8SVXVHDR AVNAMEAlarmANA:NOAudio Master IIBODYFORM8SVXVHDR>%ANNOCreated with WAVE!NAMEAlarmBODY`6<8O2Q݁p* D*끁Tہn#(xfԁv"6;y*JZāfbG\΁5Z&ًUJ)i;N쁁~cT^cқ$N) G{XJ4aLdnC/UDj ŁQl28=B ^gzс%KWwef&W\FS&:W饁9Ҭm ld?ρ&.}V3ˁifL)d]ǛNle31\ wSQ[f,0b>Wq|g8pFǁiW] LL%Ȍ{6ZIoWjaU6B_vSnj@y΁~'5T2.cF⁃ @`{Rsށthuz:)C %y⁁Gg^0@W'$+Wth42;Pُ%4́o~B9l0p9) ρ"8m}ၢ$x@PvHw@)сƁYi+xhŁ[J sԁ>nԁf0쁋flj\6)#C069CzHE|򁁃XF<0΁ݣlqt #V\gh cILM֪Ɂ4w~0 P{D֯zڹv;rفuv۴`96g Nȁě$;TbV/_C-I-#vQx@W2`Vс|`m; ၁M>2q,75~ %T .Οʱf3_Wǔdbt'\ig@6@ρF8\Y}ypfnMtց3^@0NM@ȳՁݑjȁ=h.y=,ME!ѷ$(rx@{Иl3Dc˛_灵[󪁁_I7  [ `ӁTQ]݁?.偁x,r[,ctp 7n0@2uށkR P2BсAD_L|t́z.VK .8}QLf.]s),b.Z`d]w(8&#2s&>܁MЁnog[llss)PځXDL\g6qc|p-we8F¬PFg&-|~#o! bsρ Xȁvn T|䪫CTGЁˁhg'nwއg tZv+  ԁ{uK`Bgx}-IHpX'ŁOF}1ěU9̍,Rwnp f@.Kf=iXځ#^1E<~>g6ʁɁ*ZŁƁ@L䁁=d8sZ@36;+4/1(@?0 .+ (@/P/;/8@h 7 7Fbo@/7  + 0'? ;"Oz90PK??p(g( WP7@80 7 ?`;8 ?HK?P0? ?@OW`0O,#T  /0?  b/`P 'b(`> l (25 7t40_p H=('J $*'@? 0 *?0sO/8??'Z  7D/3e<7 ( ?@ +2ڽ:,(PQ4 2':gPD#:!?$*< & $`4(G@*H 7$7D W@. Է +0! ( ȟ/g@7@ T 4% @| 7!"++`$4? "Я ` W ?  '<>?`8P(387 L/P;8>/|0?_`787n0&dH_ /@?@7@"?@ '8D ?!'*5! ! -!* * $  8T    5!O2$-  Ƚ8@W_Z!¦ $~2 !$5F/!*$!' -!!!-$!-8٦/';T2Ⱥ5-*$$;LQLC! $-5>*!5-!;@>- !!'T- !*Q>!9(  522'-!/*!ѡ!-2'5'  5C52FZF!!5C!!2-!   *''*  !!!'  !* $           ! !   *:Qn-     !- !*-  !!   !$ '5!  $             $!   ; @    !!    $!-                   &.k4            $6%" 07 8E'(  /((MK 74?() )?2ϸ< !8 !3 /2  + ")J7D  H:4 W 'O4' /"4?(D#F4?2%(0 4:$ @_'- ; P8l $w$(' / P @# ?X1P/0";@x7 /+/P /( 5?@>/;/?0 :(T =?h/@?0 &0#0"0,2* @H#/$[` ?P _ $, @'@_ '? `' wT 0/P' %; 0@?VR_?00 q/!@W8(_ſ7>O@ &@ 8 L ? //@ @+; h'P?'@S_ 5(/ ? V700 hWW Z/ ?0+70'Go/G(G"D/dP0 D[ 6[_ `?`j@ OP4cT`?Z@+ U0 0X /8' ?70[@E/f00h7@`da /@ 8??P?@@?0/T9 '0 4P`'W5/03 T/@d`/[0EP`[IP)LxO?W@V  P&3''@?`` /`[@?4п`?P?Z@(?2 Ƞ?\(/P࠿(`8/`7/a ``/(0`P4 `ڠ]] ?` PZ\?п[84O $XU0 7 0`@`П0 ?`?':>(@/`@0PP`U\@ \\Wп?X/ X53D(*HZ[Я O4 '?[W](``@[0$POV#?8'` ,87`?HP?` X``?`?00P? ` [ *(`08 ?@ 0^@7'`0`00O + /` ?P8H/a/07a'SaD 8T0+ W`?0 /a SaPa @?8K?a <` 62\ ?a`?(;a ???a8/`R0Z ` 7`0`?`?/`8+`7`F<`@>@?`?0/`??`@`@<_@?0?`? ?` H ?`/0/?`/4`@? @`0 WP? 0`@M7` B?_`? `@?)W&'J(DK@7`0:+ 0a002(34<02> b$/ /JЕ??P;/@!cS (ذ?`@+`/P ++(Pd@_`@?d+?d@d 4 8=) 70(70O81/@ -K?d9*@fb)O ۠"7P$ ` g  0*Th4?0-Ы /h/ 7' S'@? ? `h i 'h@:?`i$?H?W0D&`0 i? iP@?h/ Я`? TH,?0jP,B1h0@8?P8-hj'k$kJRW@1А?[@?/7e::k0 ?PB?k3P7k0S@! 0dk ?0k'W@?Ќ'?@Џ@O0W0, ?T/'m@00p00OHD2G?n@@8 m`HBW ?l/ 0_`0+783W`$-4K _ 17H?@HWp0@,p HHpP$0g @3p@<P0?`пW - ?@Ѕ42o@8;h+_h !?P$= /or/00Oa  <8r 8+/`) B` Z r0Е7]( _D' W@'W@?З%s@7_P' ?s?/s [H$7 ''s@dOs@ /r Jr0_@ڰ#r 렏0/B "а _@? ?`/?`/ _?X /u';o0#>?u27.)u0 ,up:8?H 0 u' _@@0 ?u/3?p'u@('Ї /p oo00( w.7 w?vx@5Wp y @x ]00w@ ?7 0o/T8wD0 ?/x/00x0@0oP2_@ PЀ`87x/D0wP/( 8SP5,8?d 64_@4 ?B77o@0x`/OhX.x Ty@"?P0y0&@/y@yPQx xO࠻_@'*W@7O0' /P0>JzЫ/$i V?$2?p?0?`(g"((? |PЁG/f$ /xX 7j 4|` +{00 |`0{ @з?{W@ {PHƻoP[ Ť` ȿ|X||/} 0$7|70 3Z ? } 4 h08o@ (࠿p/@0} <Š_@t ~(!./'/[+7%, /$O@  +O ?j+F0)#(0'?~$; ?8*!?g0?0,k`` / 0'<'?+` 04? 8<@O?P0(D /`/( /@$'0¿ 'p[ ?@"H?~ _0?=_ ? ?07@7 Ŀ/P`?H`O@&?PP (i O``/4зT!k@%/hW0mP.OoP?h$7 `W@[ ; G1Ͱ/= O `? /@h+TH?X?_dwMjBd̀Ͻ'@ࠀ⠀u`OtWH4/@֐/w`owۨĐȟoS@ؖר ?0;@5OS kEojh_T13P ܘؐL_XhO 䠄'|XWPO`\p(3R @&9S$H0?(+%7"/R<|@kZ{op( WA0ͰuPP 5DoI π)۰Ͽ/pX;p=&?p7T?htK0С, HҕO@x XW@kx萟ਂ/xPw| =@os ؤ;@/;tB$ǺݨܧP$#4G,4⨧ߠ/0޺(萀TO|4'I_`>2w`[ep7<0#4Wh(HoR`?iq00_7|( ຏ(/o{@𘀯LЃ  (I'GDCE9GRx\sp?? д󘀮Ѐ0/O]x?[h0?ZYZ(OHⴀ١47H% (?J<;fPԴgp _yhV#OkMSn@ +.$ &ڀ¶4%9>O@g@Ы>G~`2Ogp@ "0ܸȵ؏+߸G@Oj]0R[` ȷҰOH$/ia[j@:ۿO,"+N˼ O /ȵ-7@ аڴ'W2kh/NOcqHJ E@'C@.8_L8 3'30!߸ЄK@8* ';:BWxxV@ 7@7 ˴ 3W@Կ˸,%WVsxehK_D ǰƻį/7I;H"𵡿F]*gn $V8->'$< 謒 ?L/;8c6s`R8EotDЧ 2$]D>2 /4;+$/(óՅ/",@97@1;L"+*' Ǹگ @7(7EF [jP /W0=B:?:е䀀#L(X1KR@꺠 +$/J(6?0GX3Wh / '0ذ (Ⱦ̣ϼ.-OP9L,;h?fE 7(:D /&"!4Ұ' -@ )!  Fbb  ) !:/AGZ]R<ȹȷÿ0#*3 _5Z0  +07 Ի  -/, 54ҿ  ;*6  3(?*E%'070  .( ȿ @2F)#55į 93./  '<':& *7,**7"'   *,87L.'K*6.";0* !ѽƴ ?R8?J#LM>IO0%- )6  7;&" ,(   '.. -5*74(* &(" 1  +#7<.;#      ($  +)$  *'!  %1: & )"! "NxԼ!' 3"#71   (!(  &        #/            #(-     0 A;? W +H(\ ժ [l0U@WHO]Kgnspoi_a\LH9(!ɻƤ+)6ANglmtzzxpl]VLB-& º#*1:CEFUcdjlqq~~zzytpfa`XUPH?;<0%$cy  ʼ'.6;ILKWe`[j{~x}tqpsnje]USKIIC81,&  &+/4:?AEKSRV[^acilnvttxzzx{y{zy{vnnomkhifa\XUPOLHFDD;82,00'%"   #$%%)*-//245679;==>?@@?ACEEEGGIIIIIIIJIFGFF%Nkn3EDBDB?><;;641/.+($  ÿ "&*-26:>AEINQSVY[]``dcfgjiinmmpopsstrrrsqppoomjihfcc`\ZXWUTQOLIFDB><9530/*(%"    #$&(),-.0101122121222111222345666554443210.,+*()''%%$###! όQ  0p 0 p p0}p p 0 @p  Sp0p p0 p 0p  0 p  0p :0 p 0p X 0 p  0p000 X` 0 츍0 0 0 0 0 0 0 0DA 0 0 0 0 0   0000 @@ q0S  0 }  0 0 @ 0S  0 }  0 0 } ԧa0  0  0 0  :0 а 0  X0000 @ 0S  0 }  0 0 @ 0S  0 }  0 ^0 } 0  0  0 0  :0 а 0 ֐  X00S0F>g6쀀'0;tOP?27w|J??}_ x=s?@O '€KĀW|npWl0_n(7xox@БLJπWhx.50 퐀X_B '0{x3wxLh3fX@ ֐    ֐  _tV  ֐h    ֐}  C  N\                     ֜    $ " $ & $ & ( ( 0 0 2 2 4 4 6 6 8 8 @ @ B֜B D D F F- H H P P R R T T V ///////////////////////////////////////////////////// / Q U I C K L A M E D I S K B Y O C T O N / ///////////////////////////////////////////////////// F1 - WAR3 BY ALEC F2 - JARRESUPRISE2 BY ALEC F3 - SHOW PICS F4 - KILLPOINTER F5 - LIST ROUTINES HELP - THIS MENU +D[D[mKmKmSmSm[m[l[l[ZZZZZZXXoo5/5/5O5O5o5o1o1o""j_j_jjjj04bbEETTU?U?UUEE  ))**++  RRTTVV-- t%%))----[[KKSS[[[[77''7777oo//OOoooo{JRJRz^bBRBK t3________{JRJRz^bBRBK?????????? ~ uuu =J~~~~~ |}}}|x!{{{x-pBwZBB.`4.`HB2.A 40PgT`;BNuanB.T TXk8X;TNuaPB.T Tqj8q;TNunNu.99NuB.3Nu|fIlNufI`NufITNuIPNuByz yj&H $HXB 9n2ҹrByxKMaKMaKMaKMa0<Q0<yx3 yfBy3 yfBy3 yfBy3 yfBy3r rf"BrRnB09vnfBnLNu,XB. gf(C-q(=sH=sH/. fn`;sH B63H֮-C =sH ng -n =sHJVg>3Jnf=|a8=V+n;n;V0.yx=nNuX(\:}hS@. xqwar3st-1\S4: hitsnare@st-14: bassdrum40@st-03:03scream@st-15:steventrokk @ st-06:06alarm@Cst-07:micro16j@st-05:animate-bass\@st-03:03mgunh@st-06:06enemyn#@st-06:06jarre2/]@st-06:06breathl@st-06:explosion1.st-10:10hihat2@st-06:06d50string6@@st-07:micro25@x h|J'%{*CB„&sZX}9W>'A S]1\`> $ POWERLORDS->COOL IS THE RULE!  b  q(@J*6<+`i/%0E,G`eaB0!&ȸ$n/(Ce !q6B)-Q \j[ g&ʔ BB` g0C"g*f (?Nenfr `CE efr`BB ?(FE ➹,}sy,- aZ B$@ y$gq."j"*7($d<6g @)h٤t=nY`.Ld|a8q"@yf3g|"r H.<,xr\L`pd`si\=UCbA;f8gNudosod+s/z ^AYPn>3bk{En:9c̀yFi3*ꌾQYT|Y1Gl}ךkk!{n+xf'<ۂ'q#op\g* vgpz~հ  l7c;g$JgwŇ;@L(p$Z$>″K\Ey#hPT< ,\Z8F$NuNV<<$.$n&C~(&f.$ّ Jd,n Ӏ .ourkSThipgraquiresa 1.2 /msoHc so*V.devi+.IFʂysm error ߁locate a signa( DEVS:xs 0}notlhpen keymap file?a xY0 j0޷  4iUtopaz.font`Cance7o9q鱘:C̐dfH Jl8PA8 *7$Ys(P@YEgAt&Oq pJWFg?@BHT x#L\,x:A|H, //9N2O`) $ Uア'9(mRqWzL@za܊ @ʼD^TjV<2q * f0lUkW :kg.g <+ x+v,xO 8DʰA:k IBb/+&+e dSD+> xU82زK W 7M45LAd xjPԠuA(@jb/R7CRV/ܡL[,_rFpA ,j H02,y d"$` &o$ ^(",$X0&/4NLL NuF +*PefԠXJ5Q֌Y+fDȼ^$ Bϭ:xvxh Ԍj 1`Yr. 5#,F\ W(Ԙq `ZSbXkٸ^lPlnC2&9$~~=rt$#\%ޞ p .95_f;{v<@oFkv%iqh^O24@8[}.a8O 'WO~<H 4T0 X` QAvQkI!""{G; #A S'u͇P^ E0@208?@@ _ナ q|<^ FctP"Os5-\(Š)P Qv@ <2#)u-` H* T[@6*@Dns@~Ƞ`rj^N@ ,ҀD$`Ju5t6rz@-$Fh1X"#p,(jNrҩ`")S#Ar#An8ґtԁr0(#A t nvl`r.p0(jNrҩ`p$(jNN%X4: %X2tidyup J\g"*\p (jNp (jNJ`g"*`p (jNp (jN"*xp (jNNNq$TN & H **BREAK typelinJdg$*hG|" p(j(Np(jN"tgrp(jNJgr p(jNrtgFN"p(jNr gt gv fRhrN%I5 typehexBr ҉#A$<hԉ#Bd#Bd%AlBtv%Cpr#A|tnZ" <INJf&&)$)|")$OVAX@#piy@,DR1 G0 $(+O=v+L 1<fpN! 0/_Ȝ^Q@8i 0aJpP, f"1  J H /HYʸz9lFI>-%<]$-`Y{ rI @ O <@s 8]Akc0~%0A-q1YƱ%1AaŇ` `P#aGF փςh|.6כ ЎA[v;n=d:CF|{=O ?ׇ1?\? )#!@a0&PDa `6aH&K`/K61A2cAqݶʣP:?C.ln|aǒǐ}HԌ$PY eB8#%lϳ~M@r@!y`F;9A!=MJL J"?.p@ K[B%`+yRQ(&F*ـq"Mm,yX`)P_q`C/:3ZX =z t :y:XŢj#'X **J̝ ,&p.`)!6H;Y\L H$L \O'@D/aG020 ں'n~< 33e9قW?rrr=YxC/ C6  ( lecZ`Fa(JJ.T#8["% 7C(Fp4RjP@ԞL#ajK[g&<" a5HQBXĠmHس/CX>0" 1.a  H@$m*4!511xnCl .-!ƴ^ ^0V(>!~0x2$*gJ.2NѰP3s=es8I2$+JyTKZ|h2%>dE;Nb@ā aRxTA$Ƀu#pC> JC T-  - `RwD`['B\v=bJ2.Yx;O 8'`JBlv)nͰD +a}  x4& 斠ĐY0@H:>๖ #! Aj~  ~9 kI`/Y}|0 5 ,1#/i@etIfpl zfI*Yty FJ~dHHs(I-|U#GL@E1q,p#|R X+y(! udE< vT;AÇa)vbd.z;13?A% hH\x~# D Զt0?bOd F `THdŀ rCp:?w*Z1T/DU<O @ {=h|h@jPIW BsAB1񘀩X`4B80&*0PATk⠐օA, QB0S"|t#GC4lv }APJcG'W4L12[O ^u")XX##Jd 'v"alhl{ \hd\b0*\na\e0-@!AMp  $($! 9R`! 9 T(HcBhC8-,Ǝn >diB@x0V`"1RQhbS& Bc 0`pDvq_>2ODp*cMC||1V*30B7P~ ,@UY<5J)% q7pm̩ şJ q h> /R08 x'@C@gp45B ƠĒ0F@0@"`@)bRbRb @Hl IHbK]1* BVVH@d I#QP(&( glThr$=Hy P @O@/7/c ] wV36&~G, G|(WA,㡴1tKutL\Ƿ4TK\m<{Pd0[D0 TPD@T@RIYEGju3 (HB'`#NRQ2P`gc3 K L #$+#0'CwK;s{_x,WpTBr%+&1K Cg;Y|!yM#{ckW/>BSfP+^a@9.mmaG#&޷SP$OAcz25NDZ= Rx81!@Ȫ`m"[(^P5@E ۑ:Y89:X9G 6*! #f%y?h6 n611aCSL`S C@--Ǜ?>x1K# {1?x$!.U4!@/ !B(G Xx,{OƸu$e  :d7?e|A Zx 7`: dA0\ PeSċH @cp t 닄{0n(~$h ,BGY_ S/d( q -H^+ @XR^ďPB  ,~^1xS>CUNG3њ HbgGI1BPd_,8,g& o1bȖB ̘#p&3t& ,L9x#HeCS(.e^0 Fbf< Xq*QSG_CE@xeCƀƇk(daC hL`k&S4q\D 蒒/y ~q  aY  `! äapAaHl8##pA? f T} _&'G$grTw@?B#V&hGD#Lj 4' hX -C^ ,`" 4L6 !DPI l!`$ dŨEhJ$E;!e`kmfgtGHPD]2ZLh+ |+gL}0 ta P P 5ZF  , , 3 N n)c6C*#p6g@sX@Q {&SŔrf5P)zhĬ`xRSMaȫ%?8݋򇱿sQ :I @H! C~f@xs?} `fp*p(& % @E a/z&͜=&q'X90(qV8BfΠ$Ҝ,P9066`69ؠ)^t7$!hA@#1O:-BW9  CaP1B+g- g0E$!J+E(֐ #ӯ"!Dcl(C0D6 ӁĊp2PiK HP`SDm'lAn` i0} ׶gPRf?ue+@d'= 2 7Դ  /wÂ"_pYF%W{! %A~hN#T`فR"I(G AP+`B/A@DlvŒ>M0,TZF a yCw! D)@PlogkLddd'"/. g= \ HRP!F4cEcO!%P@ BWa @ӑpYp )lOh.+f5h RUEleEMs0-r Wj.k. T @`D xd#@G%ᘁᘏCXA#$^ٌ < t\SHXPd ˟~jk)< a@  Ӏ^#R# pC@7U @  LmXYE; 塲aGU[()$NΈ$Y-8@f DRI2b#ljI'*nJL}CCB°τ,WF'^nO (,5a`Ab|ƀQ@&w'_dF!6 pEOMfP ڡM"C!@%#7&cB RkExH/" M %TdA"! k)@s(Aɭ $oA \:d%Pa MkʠB- , GCK^VHM9\>kxQƲ|5~76(1@+hQc"P(l#dC71=8ܗ-6i@> p A}(~F 1:E-V$>f TBCeA %}C !{0zoA&b!h Ƶ |a! nU_j  D1y& 1}Qx2$bUaU?AO]DPYh(4{J3L)_Ԑ+$8Q8-D=q78 ~$CW÷_d zrИ!-nBqN0,L<8%AtD IPKUaX6x 1_ë3QFs͎Tm;RDPX0?ts0wE @-7jTx %P 8=UP i ؀BRS @$WY$Ԑu"ۗ'9D܀<@@-?iӧ@L TI#3 :"`x2 8-hv&1 0<PdS@$!fi25iA@.c v 4mᴽ,z4${8?a.r C:N=7H ! BDt'`dHEIwqy\:nC.a B2) yADKP{ qXVU'!GP? `čHPTK-mT'` lz ,2N(]b@W(fpI#<#=ʥ+ i)A@:$C`5نdJn@+A59J|h`v n rb7ʔ̅55P7C P"Ќ%=JQ0d/ IiMC'-P&J$ 2 w *Z '6> X{ 5D6 ̆A%>"$X"`5NЁ% i_u`%+@wAFC} 0jI@@H#`h`@i"?I,K:ŀ?V( ,@$ @@D!wk=MÀ1Hp3Rx), = H|P&L?$D4 [!AȆ(>ʒB:ST%3;bؚ2 H+|D,>BEVX.tO %d$ZR;Pu$.z5PDW 0a 'IpDHÀ5]3 rʼnh Yh GKӋx)- SԀ@C i 8AaMe Gd*8``8#ǁ |H^@8@0  %qāp X60k1 VE"p(ŷ!D%QA&4TH2 d$qHc@_`2 Bdh`@Ѝq~9oo_H+A9-ڼ2<x 0/H~R?/Pp5(y>0?bя8?&K>g52r6`U9iXxcCH_1釹Gt;QW_p | 7teuSxUܝR:)C H|–X@ @ (P@>A$!^MTQNp/DeC>_ xdRMI(??W*YUHI|q ~ A@|ayYYycڂ&(XˣD5i8B°t"3쪥8?grӃ!xZ/C@yDF%Vk&~9lհ;`g6뭁[l:Ű4`m6m[S>`m)\]0 [l *0`seKs5`q2 !ID0 KS,Θ 00*`~S L ژ05`!CՆ e1s@.MB4 90 MLq4 fht;`U %P4j`h9P eT$DP4(`9Z(DP>}@"ER)z(P]0 EDP2h`/( > m@鬁YF|k y@,\*10 ` } `ad Ԑ3 ^`rw!V`%\*HZ$IDe(iFu kPC|.9js YJ#3 ` #;0 ^ 3u {Nrf'D#  !_Rp ' O+镁\!1HcE`1:`0#MC6 {0t`h'C#F F) 0h`P!!HC L0P` 'K P(%y@0 =3 S򑇧j `JmZ5h&~9lհ;`g6뭁[l:Ű4`m6m[S>`m)\]0 [l *0`seKs5`q2 !ID0 KS,Θ 00*`~S L ژ05`!CՆ e1s@.MB4 90 MLq4 fht;`U %P4j`h%|wA|g`a610Q3eNuprS@Sf< * QNu Hx\^H7%FN@ OI>0` `:DHEJ !B\x A2)P `T,xA9 Z0Fޒ.̴Dd(7~BB Ac@*C An t(."d f x 6f;TE2X  @i7`Z3^%h)*t0 BtX E^]:pQ|+8 /H9'pK"K.:g *lO12 g C)@CBvOXB 9H%Hj !JeŎd! q%{q@@8.Xretn cmp.w #5,yretn bne cont sub.w #1,yretn move.b #0,flagg bra nedover cont: sub.b #$01,rows ; schon 1 zeichen gescrollt bne.L continue1 ; ALT 1 TEGN SCROLLET move.b #16,rows move.l gfxbase,a6 lea rastport,a1 move.l #$02,d0 jsr setapen(a6) lea rastport,a1 move.l #320,d0 move.l #80,d1 bsr text1 add.l #$01,c_ptr cmp.l #ende,c_ptr bne.s continue1 move.l #scrollmsg,c_ptr continue1: movem.l (sp)+,d0-d7/a0-a6 dc.w $4ef9 oldirq: dc.l 0 text1: jsr move(a6) ; H?ente neste tegn fra lea rastport,a1 ; scrolltexten. move.l c_ptr,a0 move.l #1,d0 jsr text(a6) rts newcopper: dc.w $0180,$0300,$0182,$0f00 dc.w $0184,$0f00,$0186,$02b2 dc.w $008e,$2c81,$0090,$f4c1 dc.w $0092,$0038,$0094,$00d0 dc.w $0108,$0004,$010a,$0004 dc.w $0102,$0000,$0104,$0000 dc.w $0100,$2200,$00e0,$0005 dc.w $00e2,$0000,$00e4,$0005 dc.w $00e6,$2260,$ffff,$fffe even scrollmsg: dc.b "OCTON IS BACK AGAIN!!! JEG ELSKER SKRIVE MASSE BULLSHIT" dc.b ", S SCROLLS ER DET RE @jeےTTE FOR MEG!!! DETTE ER EN " dc.b "FALSK SINUS SCROLL. SER KUULT UT ALIKEVEL, ELLER HUR? " dc.b " NEI, N M JEG POSTE DENNE ...... BYE!!! " ende: even dc.w 0 gfxbase: dc.l 0 bitmap: blk.w 4,0 plane1: blk.l 10,0 rastport: ; Gitt verdien 0. Dvs. current window ??? blk.l 1,0 r_bitmap: blk.l 26,0 oldcopper: dc.l 0 gfxname: dc.b "graphics.library",0 rows: dc.b 2 even c_ptr: dc.l scrollmsg ptr1: dc.l 24 ptr2: dc.l 696 yretn: dc.w 0 flagg: dc.b 2 $ 0  neste tegn fra lea rastport,a1 ; scrolltexten. move.l c_ptr,a0 move.l #1,d0 jsr text(a6) rts newcopper: dc.w $0180,$0300,$0182,$0f00 dc.w $0184,$0f00,$0186,$02b2 dc.w $008e,$2c81,$0090,$f4c1 dc.w $0092,$0038,$0094,$00d0 dc.w $0108,$0004,$010a,$0004 dc.w $0102,$0000,$0104,$0000 dc.w $0100,$2200,$00e0,$0005 dc.w $00e2,$0000,$00e4,$0005 dc.w $00e6,$2260,$ffff,$fffe even scrollmsg: dc.b "OCTON IS BACK AGAIN!!! JEG ELSKER SKRIVE MASSE BULLSHIT" dc.b ", S SCROLLS ER DET REBlUi\6a26`gO,P rWBTR|X= "xVgn&Ѭ7A\`A,Ơ{|5BK(t爾 I@Fɀ#05%eeR*HNM˂D (rMz BN3_yހfhElpH:ht8فOb|g@r1O"ШOPXԽH~}%B4XPVT nLOnR.y4?א^nC oHG?n@2WyoEHa@p#'?XJ^#?˦AΏ$< Ly:$AƙdZ?2~=?PBu!`K0l#$+xOxn&B^%9OI`$HT~00 \~64+L#n'C5@BsqG$l&^B}>E5JGnG) move.l #$50000,plane1 move.l #$52260,plane1+4 lea rastport,a1 jsr initrastport(a6) move.l #bitmap,r_bitmap lea rastport,a1 jsr clearscreen(a6) ; Slette skjermen lea rastport,a1 ; Sette tegnefarge fra move.l #$01,d0 ; fargeregister 01. jsr setapen(a6) ; Setter Pen A move.w #$4000,$dff09a ; Setter inn ny irq move.l $6c,oldirq move.l #newirq,$6c move.w #$c000,$dff09a wait: btst #6,$bfe001 ; Venstre musetast trykket ?? bne.s wait move.w #$4000,$dff09a ; Tilb; ;ake til gammel irq. move.l oldirq,$6c move.w #$c000,$dff09a move.l execbase,a6 move.l gfxbase,a1 ; Lukke graphic.lib. jsr closelibrary(a6) move.l gfxbase,a0 ; Bruke gammel copperliste. add.l #$32,a0 move.w #$0080,$dff096 ; Copper DMA av. move.l oldcopper,(a0) move.w #$8080,$dff096 ; Copper DMA paa. move.l execbase,a6 jsr permit(a6) ; Tillater multitasking. move.w #$8020,$dff096 ; Slaar paa sprite DMA. movem.l (a7)+,d0-d7/a0-a6 error: rts newirq: movem.l d0 I gfxbase jsr forbid(a6) ; Forby multitasking. move.w #$0020,$dff096 ; Stop sprite DMA. move.l gfxbase,a0 ; Sette inn copperlisten. add.l #$32,a0 move.w #$0080,$dff096 ; Copper DMA av. move.l (a0),oldcopper move.l #newcopper,(a0) move.w #$8080,$dff096 ; Copper DMA paa. ; ** INITIALISERINGEN AV BITMAPSTRUKTUREN move.l gfxbase,a6 lea bitmap,a0 ; Bitmap'en move.l #$02,d0 ; Ant. bitplanes move.l #352,d1 ; Bredde move.l #200,d2 ; H0yde jsr initbitmap(a6 JnG) move.l #$50000,plane1 move.l #$52260,plane1+4 lea rastport,a1 jsr initrastport(a6) move.l #bitmap,r_bitmap lea rastport,a1 jsr clearscreen(a6) ; Slette skjermen lea rastport,a1 ; Sette tegnefarge fra move.l #$01,d0 ; fargeregister 01. jsr setapen(a6) ; Setter Pen A move.w #$4000,$dff09a ; Setter inn ny irq move.l $6c,oldirq move.l #newirq,$6c move.w #$c000,$dff09a wait: btst #6,$bfe001 ; Venstre musetast trykket ?? bne.s wait move.w #$4000,$dff09a ; Tilb K 7ake til gammel irq. move.l oldirq,$6c move.w #$c000,$dff09a move.l execbase,a6 move.l gfxbase,a1 ; Lukke graphic.lib. jsr closelibrary(a6) move.l gfxbase,a0 ; Bruke gammel copperliste. add.l #$32,a0 move.w #$0080,$dff096 ; Copper DMA av. move.l oldcopper,(a0) move.w #$8080,$dff096 ; Copper DMA paa. move.l execbase,a6 jsr permit(a6) ; Tillater multitasking. move.w #$8020,$dff096 ; Slaar paa sprite DMA. movem.l (a7)+,d0-d7/a0-a6 error: rts newirq: movem.l d0 L<1-d7/a0-a6,-(sp) move.l gfxbase,a6 ; scrolling lea rastport,a1 ;RastPort move.l #2,d0 ; dX. Pixels ad gangen. X-retn. move.l #0,d1 move.l #0,d2 ; min X move.l #10,d3 ; min Y move.l #351,d4 ; max X move.l #50,d5 ; max Y jsr scrollraster(a6) ; Kaller scroll-rutine. sub.b #$01,rows ; schon 1 zeichen gescrollt bne.L continue1 ; ALT 1 TEGN SCROLLET move.b #5,rows move.l gfxbase,a6 lea rastport,a1 move.l #$02,d0 jsr setapen(a6) lea rastport,a1 move.l #3 M+} 20,d0 move.l #20,d1 bsr text1 runde: bsr scroll addq.w #2,miny cmp.w #29,miny bne runde move.w #15,miny add.l #$01,c_ptr cmp.l #ende,c_ptr bne.s continue1 move.l #scrollmsg,c_ptr continue1: movem.l (sp)+,d0-d7/a0-a6 dc.w $4ef9 oldirq: dc.l 0 text1: jsr move(a6) ; Hente neste tegn fra lea rastport,a1 ; scrolltexten. move.l c_ptr,a0 move.l #1,d0 jsr text(a6) rts newcopper: dc.w $0180,$0003,$0182,$000f dc.w $0184,$000f,$0186,$02b2 dc.w $008e,$2c81,$0090,$f4c1 dc.w $0 NTB092,$0038,$0094,$00d0 dc.w $0108,$0004,$010a,$0004 dc.w $0102,$0000,$0104,$0000 dc.w $0100,$2200,$00e0,$0005 dc.w $00e2,$0000,$00e4,$0005 dc.w $00e6,$2260,$ffff,$fffe even scroll: lea rastport,a1 clr.l d0 move.l #-1,d1 move.l #320,d2 clr.l d3 move.w miny,d3 move.l #350,d4 move.l #35,d5 jsr scrollraster(a6) rts scrollmsg: dc.b " HEI ANTIMON! DENNE RUTINEN FORDOBLER TEKSTEN" dc.b " I Y-RETNING. ENKELT HVA? DEN ER BYGGET UT I " dc.b "FRA EN STANDARD HQC-SCRO OgLL. DU VET VEL HVORDAN MAN BRUKER" dc.b " SCROLLRASTER? MED DEN KAN DU SCROLLE ALT SOM ER INNEN" dc.b "FOR EN RAMME (minX, minY, maxX, maxY) ET GITT ANTALL PIXELS." dc.b " DU KAN SCROLLE ALLE VEIER, OG DU KAN OGS LAGE FLE" dc.b "RE SLIKE RAMMER. F.EKS. TO VERTIKALE OG TO HORISONTALE. " dc.b " .....OCTON. " ende: even dc.w 0 gfxbase: dc.l 0 bitmap: blk.w 4,0 plane1: blk.l 10,0 rastport: ; Gitt verdien 0. Dvs. current window ??? blk.l 1,0 r g w_bitmap: blk.l 26,0 oldcopper: dc.l 0 gfxname: dc.b "graphics.library",0 rows: dc.b 2 even c_ptr: dc.l scrollmsg ptr1: dc.l 24 ptr2: dc.l 696 yretn: dc.b 0 even miny: dc.w 15 yliste: dc.b 0,0,1,1,2,3,5,-3,-2,-1,-1,0,0,10  #320,d2 clr.l d3 move.w miny,d3 move.l #350,d4 move.l #35,d5 jsr scrollraster(a6) rts scrollmsg: dc.b " HEI ANTIMON! DENNE RUTINEN FORDOBLER TEKSTEN" dc.b " I Y-RETNING. ENKELT HVA? DEN ER BYGGET UT I " dc.b "FRA EN STANDARD HQC-SCROFgfxbase jsr forbid(a6) ; Forby multitasking. move.w #$0020,$dff096 ; Stop sprite DMA. move.l gfxbase,a0 ; Sette inn copperlisten. add.l #$32,a0 move.w #$0080,$dff096 ; Copper DMA av. move.l (a0),oldcopper move.l #newcopper,(a0) move.w #$8080,$dff096 ; Copper DMA paa. ; ** INITIALISERINGEN AV BITMAPSTRUKTUREN move.l gfxbase,a6 lea bitmap,a0 ; Bitmap'en move.l #$02,d0 ; Ant. bitplanes move.l #352,d1 ; Bredde move.l #200,d2 ; H0yde jsr initbitmap(a6Rffff,$fffe posx: dc.w 29440,39296,33024,36096,3328,22144,20480,4736,43008,31872, dc.w 24064,43904,14464,43264,42240,24192,25472,30336,31744,33536, dc.w 30208,20480,15104,7040,33280,24576,19200,2432,34688,23168, dc.w 25472,33536,29952,10368,20992,5760,21888,2432,16384,25856, dc.w 44800,13056,29696,42496,17152,40320,36096,42880,14592,18688, dc.w 19200,33152,9856,9856,34560,30848,32384,42240,11776,23296, dc.w 21376,6144,21888,27520,7936,14848,11008,25728,36736,5632, dc.w 384,3200,7552,SMb32256,23680,42240,27648,25088,32512,19584, dc.w 4608,15488,37760,41216,20480,8704,37120,25984,38400,5120, dc.w 44416,26240,27776,31488,38528,17280,10240,2944,15872,12544, dc.w 26368,4608,7808,12032,23296,39680,18688,4864,24832,16128, posy: dc.w 15616,21376,30464,11904,6784,14208,29312,25472,9344,15872, dc.w 5376,32256,28160,13184,23680,19328,14592,23296,27648,11392, dc.w 2176,13440,10880,13056,20736,26496,1920,22528,19840,20224, dc.w 23424,22912,28032,8576,27648,12672,27264,15232,28T:Ӵ16,12544, dc.w 30848,2432,22784,15232,6144,4736,11136,7680,1792,8576, dc.w 2048,2944,22016,4096,19328,13568,6016,11776,27392,1920, dc.w 12672,20480,21504,32512,20864,29952,28544,10368,32384,4992, dc.w 17920,13696,18688,0,15744,14720,7808,31360,32256,1024, dc.w 14976,22400,29824,6144,14720,18688,29184,18432,19328,18816, dc.w 28672,28928,1024,9344,29184,21120,19712,8960,1664,1920, dc.w 31360,21376,26752,9216,31232,29952,17664,27776,9728,128, sine: dc.w 0, 4, 8, 12 dc.w 16, 22, 26, 30,U2J 34, 40, 44, 48, 52, 56, 60, 66, 70 dc.w 74, 78, 82, 86, 90, 94, 100, 104, 108, 112, 116, 120, 124, 128 dc.w 130, 134, 138, 142, 146, 150, 154, 156, 160, 164, 166, 170 dc.w 174, 176, 180, 184, 186, 190, 192, 196, 198, 200, 204, 206 dc.w 208, 212, 214, 216, 218, 220, 222, 226, 228, 230, 232, 232 dc.w 234, 236, 238, 240, 242, 242, 244, 246, 246, 248, 248, 250, 250 dc.w 252, 252, 252, 254, 254, 254, 254, 254, 254, 254, 256, 254 dc.w 254, 254, 254, 254, 254, 254, 252, 252, 252, 250, 250V, 248, 248 dc.w 246, 246, 244, 242, 242, 240, 238, 236, 234, 232, 232, 230, 228 dc.w 226,222,220,218,216,214,212,208,206,204,200,198,196 dc.w 192,190,186,184,180,176,174,170,166,164,160,156,154,150 dc.w 146, 142, 138, 134, 130, 126, 124, 120, 116, 112, 108, 104 dc.w 100, 94, 90, 86, 82, 78, 74, 70, 66, 60, 56, 52, 48, 44, 40 dc.w 34, 30, 26, 22, 16, 12, 8, 4,-2,-6,-10,-14,-18,-24,-28,-32,-36 dc.w -42,-46,-50,-54,-58,-62,-68,-72,-76,-80,-84,-88,-92,-96,-102 dc.w -106,-110,-114 dc.w -1WD18,-122,-126,-130,-132,-136,-140,-144,-148,-152,-156,-158,-162 dc.w -166,-168,-172,-176,-178,-182,-186,-188,-192,-194,-198,-200,-202 dc.w -206,-208,-210,-214,-216,-218,-220,-222,-224,-228,-230,-232,-234 dc.w -234,-236,-238,-240,-242,-244,-244,-246,-248,-248,-250,-250,-252 dc.w -252,-254,-254,-254,-256,-256,-256,-256,-256,-256,-256,-256,-256 dc.w -256,-256,-256,-256,-256,-256,-254,-254,-254,-252,-252,-250,-250 dc.w -248,-248,-246,-244,-244,-242,-240,-238,-236,-234,-234,-232,-230 dc.w 90:0-228,-224,-222,-220,-218,-216,-214,-210,-208,-206,-202,-200,-198 dc.w -194,-192,-188,-186,-182,-178,-176,-172,-168,-166,-162,-158,-156 dc.w -152,-148,-144,-140,-136,-132,-128,-126,-122,-118,-114,-110,-106 dc.w -102,-96,-92,-88,-84,-80,-76,-72,-68,-62,-58,-54,-50,-46,-42,-36 dc.w -32,-28,-24,-18,-14,-10,-6 end: 2, 48, 44, 40 dc.w 34, 30, 26, 22, 16, 12, 8, 4,-2,-6,-10,-14,-18,-24,-28,-32,-36 dc.w -42,-46,-50,-54,-58,-62,-68,-72,-76,-80,-84,-88,-92,-96,-102 dc.w -106,-110,-114 dc.w -1Y=$04,a6 move.l gfxbase,a1 jsr -414(a6) rts newirq: movem.l d0-d7/a0-a6,-(sp) move.l gfxbase,a6 lea rastport,a1 move.l #$01,d0 clr.l d1 clr.l d2 move.l #190,d3 move.l #336,d4 move.l #200,d5 jsr -396(a6) sub.b #$01,rows bne.s exit move.b #$08,rows lea rastport,a1 move.l #320,d0 move.l #198,d1 jsr -240(a6) lea rastport,a1 move.l zeiger,a0 move.l #$01,d0 jsr -60(a6) addq.l #$01,zeiger cmp.l #end,zeiger blt.s exit move.l #scrollm,zeiger exit: movem.l (sp)+,d0-d7/a0-a6 oldirq: jmp $00000000iS newclist: dc.w $008e,$2c81,$0090,$f4c1,$0092,$0038,$0094,$00d0 dc.w $0102,$0000,$0104,$0000,$0108,$0002,$010a,$0002 dc.w $0100,$1200,$0180,$0000,$0182,$0fff dc.w $00e0,$0006,$00e2,$0000,$ffff,$fffe scrollm: dc.b "F O U N D A T I O N " end: even zeiger: dc.l 0 oldclist: dc.l 0 gfxbase: dc.l 0 gfxname: dc.b "graphics.library",0 even bitmap: blk.w 4,0 plane1: blk.l 20,0 rastport: dc.l 0 r_bitmap: blk.l 30,0 rows: dc.b 2 $6c move.l gfxbase,a0 move.l oldclist,50(a0) move.l [e^A|g`a610Q3eNuprS@Sf< * QNu Hx\Jh.eLyzU'3KF0}=W+0?`(%Gi -zg\PsLH2YRKTF!+`"4SQxy=q I@'KGJ9^~5{U5E 'fN`zZFUhP8IѳB~ X n`.' @nð-)%Ԑ#̘tEEMqrb~yxY LH \EPgۺpvlօM( La8åȪB .YHi-݆c9*~!!퉞鉠jEqf-@.D>72D4EDiFA?OƾxD, YXnf :Q$ 9 ٳA ݈?`"AA=S?uT< u1J^/{ # TPTI'[YtLZ?APTR$XX 9urr |v^IJtYWs! C@ mq2DܳP YmVtmOA |Ed#>[M(n1)DpW[*T^ ],u#WssU+dž66Kk(TL"`@q~Œ\5 ; EHTt )|7pLfFpfU0+< LE]* Ѣ@d%&6 *m h]Jkatack rts systack:dc.l 0 gfxlib:dc "graphics.library",0,0 gfxbase:dc.l 0 Initchips: ; Initialize custom chips move.w $dff01c,intesave move.w $dff01e,intrsave move.w $dff002,dmasave move.w $dff010,adksave move.w #%0111111111111111,$dff096 ; DMACONW move.w #%1000001111100000,$dff096 ; Disable disk access. move.w #%0111111111111111,$dff09a ; INTENA move.w #%1100000000110100,$dff09a ; Enable desired IRQ's move.l #copl,$dff080 rts intesave:dc.w 0 intrsave:dc.w 0 dmasave:dc.w 0 adksav^e:dc.w 0 InitInt: ; Initialize interrupts move.l $6c,level3save ; Save level 3 vector move.l $6c,af3+2 move.l $68,level2save ; Save level 2 vector move.l $68,af2+2 move.l #level2irq,$68 ; Set new interrupt vector 2 move.l #level3irq,$6c ; Set new interrupt vector 3 rts level2save:dc.l 0 level3save:dc.l 0 ResetInt: ; Reset Interrupts move.l level3save,$6c ; Restore level 3 vector move.l level2save,$68 ; Restore level 2 vector rts Resetchips: ; Reset custom chi_I@ps move.w intesave,d7 bset #$f,d7 move.w d7,$dff09a ; Reset Interrupts move.w intrsave,d7 bset #$f,d7 move.w d7,$dff09c ; Reset interrupt request move.w dmasave,d7 bset #$f,d7 move.w d7,$dff096 ; Reset DMAConw move.w adksave,d7 bset #$f,d7 move.w d7,$dff09e ; Reset ADK move.l gfxbase,a0 move.l $26(a0),$dff080 rts SwitchOSIn: ; Allow OS to operate again. move.l 4,a6 ; System Base jsr -$8a(a6) ; _LVOPermit move.l systack,d0 ; Systemstack jsr -$9c(a6) ; _LVOUserStat`>pe rts level2irq: af2:jmp 0 level3irq: movem.l d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6,-(a7) ;move.w #$000f,$dff180 movem.l (a7)+,d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6 af3:jmp 0 rotdly:dc.w 250 rotdirection:dc.w 0 rotate:dc.w 0 dorotation: tst.w rotate bne.s rotatin subq.w #1,rotdly bne.s norot move.w #150,rotate rotatin: subq.w #1,rotate beq.s norot3 tst.w rotdirection bne.s other lea dire,a0 moveq #99,d6 slp: move.w (a0),d0 addq.w #2,d0 cmpi.w #720,d0 blt.s nomoa?[ re subi.w #720,d0 nomore: move.w d0,(a0)+ dbf d6,slp bra.s norot2 other: lea dire,a0 moveq #99,d6 slp2: move.w (a0),d0 subq.w #2,d0 cmpi.w #0,d0 bge.s nomore2 addi.w #720,d0 nomore2: move.w d0,(a0)+ dbf d6,slp2 bra.s norot2 norot3: not.w rotdirection move.w #250,rotdly norot2: norot: rts initother: lea $60000,a0 move.w #$3000,d0 clp: clr.l (a0)+ dbf d0,clp rts Wait: ; Wait. wtl: cmp.b #255,$dff006 bne.s wtl ;move.w #$fff,$dff180 bsr dostars ;move.w #$003,$dff180 bsr dorotatib"+on ;move.w #$002,$dff180 jsr $4015c ;move.w #$000,$dff180 btst #6,$bfe001 bne.s wait rts delay180:dc.w 200 dostars: moveq #99,d2 lea $60000,a0 ; Bpl 1 lea $64000,a1 ; Bpl 2 lea sine,a6 ; Sine table lea posx,a5 ; X pos table lea posy,a4 ; Y pos table lea dire,a3 ; Direction table thelot: move.w (a5),d0 ; Xpos * 100 move.w (a4),d1 ; Ypos * 100 move.w (a3)+,d7 ; Direction (angle * 2) move.w d7,d6 add.w #180,d6 ; Y direction cmpi.w #720,d6 blt.s notnow subi. c0j{w #720,d6 ; cos(360)=cos(0) notnow: movem.l d0/d1/d3/a1,-(a7) lsr.w #7,d0 lsr.w #1,d1 and.w #$ffc0,d1 ; YPos/128 * 64 = Row offset move.w d0,d3 lsr.w #3,d3 ; Byte offset not.b d0 ; DELETE OLD STAR andi.b #7,d0 add.w d3,d1 bclr d0,0(a0,d1) bclr d0,0(a1,d1) add.w #$4000,a1 bclr d0,0(a1,d1) movem.l (a7)+,d0/d1/d3/a1 move.w (a6,d7.w),d5 ; Get sine value move.w (a6,d6.w),d4 ; Get cosine value move.w 198(a3),d7 ; Distance muls d7,d4 muls d7,d5 asr.w #5,d4 asr.w #5,d5 a de̊dd.w d5,d0 ; Xpos add.w d4,d1 ; Ypos move.w d0,(a5)+ ; Xpos save move.w d1,(a4)+ ; YPos save lsr.l #7,d0 ; Xpos = Xpos/128 = Xpos lsr.l #7,d1 ; Ypos = Ypos/128 = Ypos cmpi.w #352,d0 bge.s res cmp.w #256,d1 blt.s nores res: move.w #176,d0 move.w #22528,-2(a5) ; Save the pos'n moveq #127,d1 move.w #16256,-2(a4) clr.w 198(a3) ; Clear nummoves moveq #0,d7 nores: addq.w #1,198(a3) ; One step further ; SETDOT lsl.w #6,d1 ; * 64 move.w d0,d3 lsr.w #3,d3 ;  eDivide by 8 = byte offset add.w d3,d1 not.b d0 andi.b #7,d0 lsr.w #4,d7 beq.s Nopl3 addq.b #1,d7 ; Color is dependent upon dist cmpi.b #7,d7 ble.s nofix moveq #7,d7 nofix: lsr.b #1,d7 bcc.s nopl1 setp1: bset d0,0(a0,d1) ; Set point nopl1: lsr.b #1,d7 bcc.s nopl2 setp2: bset d0,0(a1,d1) nopl2: lsr.b #1,d7 bcc.s nopl3 add.w #$4000,a1 bset d0,(a1,d1) sub.w #$4000,a1 nopl3: dbf d2,thelot rts dire: dc.w 468,624,524,574,52,352,326,76,684,506 dc.w 382,698,230,688,672,384,406,482,504 f,532 dc.w 480,326,240,112,530,390,306,38,552,368 dc.w 406,532,476,166,334,92,348,38,260,410 dc.w 712,208,472,676,272,640,574,680,232,296 dc.w 304,526,156,158,548,490,514,672,188,372 dc.w 340,98,348,438,126,236,176,410,584,88 dc.w 6,52,120,512,378,670,440,398,516,312 dc.w 72,246,600,656,326,138,590,412,610,82 dc.w 706,418,442,500,612,274,164,48,254,200 dc.w 420,74,124,192,370,630,298,76,394,256 nummoves: blk.w 100,0 copl: dc.w $0100,$3200 dc.w $00e0,$0006,$00e2,$0000 dc.w $00e4,$000 Qkz6,$00e6,$4000 dc.w $00e8,$0006,$00ea,$8000 dc.w $0102,$0000,$0104,$0030,$008e,$2480 dc.w $0090,$24e0,$0092,$0030,$0094,$00d8 dc.w $010a,$0014,$0108,$0014,$0120,$0000 dc.w $0122,$0000 dc.w $0182,$0111,$0184,$0222,$0186,$0444,$0188,$0777 dc.w $018a,$0aaa,$018c,$0bbb,$018e,$0ccc dc.w $0124,$0000,$0126,$0000,$0128,$0000,$012a,$0000 dc.w $012c,$0000,$012e,$0000,$0130,$0000,$0132,$0000 dc.w $0134,$0000,$0136,$0000,$0138,$0000,$013a,$0000 dc.w $013c,$0000,$013e,$0000 dc.w $0180,$0000 dc.w $ h>*N.w #3,d3 ; Divide by 8 = byte offset add.w d3,d1 not.b d0 andi.b #7,d0 lsr.w #4,d7 beq.s Nopl3 addq.b #1,d7 ; Color is dependent upon dist cmpi.b #7,d7 ble.s nofix moveq #7,d7 nofix: lsr.b #1,d7 bcc.s nopl1 setp1: bset d0,0(a0,d1) ; Set point nopl1: lsr.b #1,d7 bcc.s nopl2 setp2: bset d0,0(a1,d1) nopl2: lsr.b #1,d7 bcc.s nopl3 add.w #$4000,a1 bset d0,(a1,d1) sub.w #$4000,a1 nopl3: NoDraw: dbf d2,thelot rts dire: dc.w 468,624,524,574,52,352,326,76,684,506 dc.w 382,698,230,6 i88,672,384,406,482,504,532 dc.w 480,326,240,112,530,390,306,38,552,368 dc.w 406,532,476,166,334,92,348,38,260,410 dc.w 712,208,472,676,272,640,574,680,232,296 dc.w 304,526,156,158,548,490,514,672,188,372 dc.w 340,98,348,438,126,236,176,410,584,88 dc.w 6,52,120,512,378,670,440,398,516,312 dc.w 72,246,600,656,326,138,590,412,610,82 dc.w 706,418,442,500,612,274,164,48,254,200 dc.w 420,74,124,192,370,630,298,76,394,256 nummoves: blk.w 100,0 copl: dc.w $0100,$3200 dc.w $00e0,$0006,$00e2 j),$0000 dc.w $00e4,$0006,$00e6,$4000 dc.w $00e8,$0006,$00ea,$8000 dc.w $0102,$0000,$0104,$0030,$008e,$2480 dc.w $0090,$24e0,$0092,$0030,$0094,$00d8 dc.w $010a,$0014,$0108,$0014,$0120,$0000 dc.w $0122,$0000 dc.w $0182,$0111,$0184,$0222,$0186,$0444,$0188,$0777 dc.w $018a,$0aaa,$018c,$0bbb,$018e,$0ccc dc.w $0124,$0000,$0126,$0000,$0128,$0000,$012a,$0000 dc.w $012c,$0000,$012e,$0000,$0130,$0000,$0132,$0000 dc.w $0134,$0000,$0136,$0000,$0138,$0000,$013a,$0000 dc.w $013c,$0000,$013e,$0000 dkc.w $0180,$0000 dc.w $ffff,$fffe posx: dc.w 29440,39296,33024,36096,3328,22144,20480,4736,43008,31872, dc.w 24064,43904,14464,43264,42240,24192,25472,30336,31744,33536, dc.w 30208,20480,15104,7040,33280,24576,19200,2432,34688,23168, dc.w 25472,33536,29952,10368,20992,5760,21888,2432,16384,25856, dc.w 44800,13056,29696,42496,17152,40320,36096,42880,14592,18688, dc.w 19200,33152,9856,9856,34560,30848,32384,42240,11776,23296, dc.w 21376,6144,21888,27520,7936,14848,11008,25728,36736,563l2, dc.w 384,3200,7552,32256,23680,42240,27648,25088,32512,19584, dc.w 4608,15488,37760,41216,20480,8704,37120,25984,38400,5120, dc.w 44416,26240,27776,31488,38528,17280,10240,2944,15872,12544, dc.w 26368,4608,7808,12032,23296,39680,18688,4864,24832,16128, posy: dc.w 15616,21376,30464,11904,6784,14208,29312,25472,9344,15872, dc.w 5376,32256,28160,13184,23680,19328,14592,23296,27648,11392, dc.w 2176,13440,10880,13056,20736,26496,1920,22528,19840,20224, dc.w 23424,22912,28032,8576,2764ms8,12672,27264,15232,2816,12544, dc.w 30848,2432,22784,15232,6144,4736,11136,7680,1792,8576, dc.w 2048,2944,22016,4096,19328,13568,6016,11776,27392,1920, dc.w 12672,20480,21504,32512,20864,29952,28544,10368,32384,4992, dc.w 17920,13696,18688,0,15744,14720,7808,31360,32256,1024, dc.w 14976,22400,29824,6144,14720,18688,29184,18432,19328,18816, dc.w 28672,28928,1024,9344,29184,21120,19712,8960,1664,1920, dc.w 31360,21376,26752,9216,31232,29952,17664,27776,9728,128, sine: dc.w 0, 4, 8, 1nd2 dc.w 16, 22, 26, 30, 34, 40, 44, 48, 52, 56, 60, 66, 70 dc.w 74, 78, 82, 86, 90, 94, 100, 104, 108, 112, 116, 120, 124, 128 dc.w 130, 134, 138, 142, 146, 150, 154, 156, 160, 164, 166, 170 dc.w 174, 176, 180, 184, 186, 190, 192, 196, 198, 200, 204, 206 dc.w 208, 212, 214, 216, 218, 220, 222, 226, 228, 230, 232, 232 dc.w 234, 236, 238, 240, 242, 242, 244, 246, 246, 248, 248, 250, 250 dc.w 252, 252, 252, 254, 254, 254, 254, 254, 254, 254, 256, 254 dc.w 254, 254, 254, 254, 254, 254, 2oWP52, 252, 252, 250, 250, 248, 248 dc.w 246, 246, 244, 242, 242, 240, 238, 236, 234, 232, 232, 230, 228 dc.w 226,222,220,218,216,214,212,208,206,204,200,198,196 dc.w 192,190,186,184,180,176,174,170,166,164,160,156,154,150 dc.w 146, 142, 138, 134, 130, 126, 124, 120, 116, 112, 108, 104 dc.w 100, 94, 90, 86, 82, 78, 74, 70, 66, 60, 56, 52, 48, 44, 40 dc.w 34, 30, 26, 22, 16, 12, 8, 4,-2,-6,-10,-14,-18,-24,-28,-32,-36 dc.w -42,-46,-50,-54,-58,-62,-68,-72,-76,-80,-84,-88,-92,-96,-102 dc.w p^-106,-110,-114 dc.w -118,-122,-126,-130,-132,-136,-140,-144,-148,-152,-156,-158,-162 dc.w -166,-168,-172,-176,-178,-182,-186,-188,-192,-194,-198,-200,-202 dc.w -206,-208,-210,-214,-216,-218,-220,-222,-224,-228,-230,-232,-234 dc.w -234,-236,-238,-240,-242,-244,-244,-246,-248,-248,-250,-250,-252 dc.w -252,-254,-254,-254,-256,-256,-256,-256,-256,-256,-256,-256,-256 dc.w -256,-256,-256,-256,-256,-256,-254,-254,-254,-252,-252,-250,-250 dc.w -248,-248,-246,-244,-244,-242,-240,-238,-236,-23O7%4,-234,-232,-230 dc.w -228,-224,-222,-220,-218,-216,-214,-210,-208,-206,-202,-200,-198 dc.w -194,-192,-188,-186,-182,-178,-176,-172,-168,-166,-162,-158,-156 dc.w -152,-148,-144,-140,-136,-132,-128,-126,-122,-118,-114,-110,-106 dc.w -102,-96,-92,-88,-84,-80,-76,-72,-68,-62,-58,-54,-50,-46,-42,-36 dc.w -32,-28,-24,-18,-14,-10,-6 end: 2, 48, 44, 40 dc.w 34, 30, 26, 22, 16, 12, 8, 4,-2,-6,-10,-14,-18,-24,-28,-32,-36 dc.w -42,-46,-50,-54,-58,-62,-68,-72,-76,-80,-84,-88,-92,-96,-102 dc.w \PhReset custom chips bsr SwitchOSin ; Switch in Operating System. move.l InitialSP,a7 ; Restore Stack Frame Pointer movem.l (a7)+,a0/a1/a2/a3/a4/a5/a6/d0/d1/d2/d3/d4/d5/d6/d7 rts InitialSP:dc.l 0 ; Hold initial SP SwitchOSout: ; Switch out disturbing stuff. move.l $4,a6 ; System Base lea gfxlib,a1 clr.l d0 jsr -552(a6) ; _LVOOpenLibrary move.l d0,gfxbase ; Save Graphics_lib base jsr -$84(a6) ; _LVOForbid jsr -$96(a6) ; _LVOSuperState move.l d0,systack ; System ss]=gE---------------------------------------* * D0=BOBWidth in words, D1=Height in pixels * * D2=BitMapWidth in bytes. * * D3=Horiz.Position, D4=Vertical Position * * A1=BitMap Pointer * ********************************************************* EraseBobNoSave: movem.l d0-d7/a0-a6,-(a7) bsr WaitBlit ext.l d4 addq.w #1,d0 asr.w #4,d3 ; Divide by 16 to get word offset. asl.w #1,d3 ; Multiply with 2 to get byte offset mulu d2,d4 ; To get byte offset =vertwidth*ypos add.w d3,d4  ; Total offset add.l d4,a1 ; Calc BitMap pointer move.l a1,$dff054 ; BLTDPT move.w #$0100,$dff040 ; D=0 clr.w $dff042 ; BLTCON1 move.w d2,d3 ; BitMapWidth in bytes asr.w #1,d3 ; Divide by two. sub.w d0,d3 ; Calculate modulo asl.w #1,d3 ; Must be even move.w d3,$dff066 ; BLTDMOD lsl.w #6,d1 ; Height is mapped to bits 6-15 ori.w d0,d1 ; Width is mapped to bits 0-5 move.w d1,$dff058 ; BLTSIZE and trigger movem.l (a7)+,d0-d7/a0-a6 rts ckground * *---------------- gb ; Xpos add.w d4,d1 ; Ypos move.w d0,(a5)+ ; Xpos save move.w d1,(a4)+ ; YPos save lsr.l #7,d0 ; Xpos = Xpos/128 = Xpos lsr.l #7,d1 ; Ypos = Ypos/128 = Ypos cmpi.w #352,d0 bge.s res cmp.w #256,d1 blt.s nores res: move.w #176,d0 move.w #22528,-2(a5) ; Save the pos'n moveq #127,d1 move.w #16256,-2(a4) clr.w 198(a3) ; Clear nummoves moveq #0,d7 nores: addq.w #1,198(a3) ; One step further tst.w Drawem bne.s NoDraw ; SETDOT lsl.w #6,d1 ; * 64 move.w d0,d3 lsrv!m chips bsr SwitchOSin ; Switch in Operating System. move.l InitialSP,a7 ; Restore Stack Frame Pointer movem.l (a7)+,a0/a1/a2/a3/a4/a5/a6/d0/d1/d2/d3/d4/d5/d6/d7 rts InitialSP:dc.l 0 ; Hold initial SP SwitchOSout: ; Switch out disturbing stuff. move.l $4,a6 ; System Base lea gfxlib,a1 clr.l d0 jsr -552(a6) ; _LVOOpenLibrary move.l d0,gfxbase ; Save Graphics_lib base jsr -$84(a6) ; _LVOForbid jsr -$96(a6) ; _LVOSuperState move.l d0,systack ; System stack rts sw25ystack:dc.l 0 gfxlib:dc "graphics.library",0,0 gfxbase:dc.l 0 Initchips: ; Initialize custom chips move.w $dff01c,intesave move.w $dff01e,intrsave move.w $dff002,dmasave move.w $dff010,adksave move.w #%0111111111111111,$dff096 ; DMACONW move.w #%1000001111100000,$dff096 ; Disable disk access. move.w #%0111111111111111,$dff09a ; INTENA move.w #%1100000000110100,$dff09a ; Enable desired IRQ's move.l #copl,$dff080 rts intesave:dc.w 0 intrsave:dc.w 0 dmasave:dc.w 0 adksave:dc.w 0 IxݸnitInt: ; Initialize interrupts move.l $6c,level3save ; Save level 3 vector move.l $6c,af3+2 move.l $68,level2save ; Save level 2 vector move.l $68,af2+2 move.l #level2irq,$68 ; Set new interrupt vector 2 move.l #level3irq,$6c ; Set new interrupt vector 3 rts level2save:dc.l 0 level3save:dc.l 0 ResetInt: ; Reset Interrupts move.l level3save,$6c ; Restore level 3 vector move.l level2save,$68 ; Restore level 2 vector rts Resetchips: ; Reset custom chips move.w iybntesave,d7 bset #$f,d7 move.w d7,$dff09a ; Reset Interrupts move.w intrsave,d7 bset #$f,d7 move.w d7,$dff09c ; Reset interrupt request move.w dmasave,d7 bset #$f,d7 move.w d7,$dff096 ; Reset DMAConw move.w adksave,d7 bset #$f,d7 move.w d7,$dff09e ; Reset ADK move.l gfxbase,a0 move.l $26(a0),$dff080 rts SwitchOSIn: ; Allow OS to operate again. move.l 4,a6 ; System Base jsr -$8a(a6) ; _LVOPermit move.l systack,d0 ; Systemstack jsr -$9c(a6) ; _LVOUserState rts levezml2irq: af2:jmp 0 level3irq: movem.l d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6,-(a7) ;move.w #$000f,$dff180 movem.l (a7)+,d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6 af3:jmp 0 rotdly:dc.w 250 rotdirection:dc.w 0 rotate:dc.w 0 dorotation: tst.w rotate bne.s rotatin subq.w #1,rotdly bne.s norot move.w #150,rotate rotatin: subq.w #1,rotate beq.s norot3 tst.w rotdirection bne.s other lea dire,a0 moveq #99,d6 slp: move.w (a0),d0 addq.w #2,d0 cmpi.w #720,d0 blt.s nomore subi.w #{720,d0 nomore: move.w d0,(a0)+ dbf d6,slp bra.s norot2 other: lea dire,a0 moveq #99,d6 slp2: move.w (a0),d0 subq.w #2,d0 cmpi.w #0,d0 bge.s nomore2 addi.w #720,d0 nomore2: move.w d0,(a0)+ dbf d6,slp2 bra.s norot2 norot3: not.w rotdirection move.w #250,rotdly norot2: norot: rts initother: lea $60000,a0 move.w #$3000,d0 clp: clr.l (a0)+ dbf d0,clp rts Wait: ; Wait. wtl: cmp.b #255,$dff006 bne.s wtl bsr dostars tst.w Drawem beq.s NoSub subq.w #1,Drawem ; A bit ugly in the beg|Tpinning NoSub: bsr dorotation btst #6,$bfe001 bne.s wait rts delay180:dc.w 200 Drawem:dc.w 100 dostars: moveq #99,d2 lea $60000,a0 ; Bpl 1 lea $64000,a1 ; Bpl 2 lea sine,a6 ; Sine table lea posx,a5 ; X pos table lea posy,a4 ; Y pos table lea dire,a3 ; Direction table thelot: move.w (a5),d0 ; Xpos * 100 move.w (a4),d1 ; Ypos * 100 move.w (a3)+,d7 ; Direction (angle * 2) move.w d7,d6 add.w #180,d6 ; Y direction cmpi.w #720,d6 blt.s notnow subi.w #720,d6  t; cos(360)=cos(0) notnow: movem.l d0/d1/d3/a1,-(a7) lsr.w #7,d0 lsr.w #1,d1 and.w #$ffc0,d1 ; YPos/128 * 64 = Row offset move.w d0,d3 lsr.w #3,d3 ; Byte offset not.b d0 ; DELETE OLD STAR andi.b #7,d0 add.w d3,d1 bclr d0,0(a0,d1) bclr d0,0(a1,d1) add.w #$4000,a1 bclr d0,0(a1,d1) movem.l (a7)+,d0/d1/d3/a1 move.w (a6,d7.w),d5 ; Get sine value move.w (a6,d6.w),d4 ; Get cosine value move.w 198(a3),d7 ; Distance muls d7,d4 muls d7,d5 asr.w #5,d4 asr.w #5,d5 add.w d5,d0 ~2 6, 6, 6, 6, 6 dc.b 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8 dc.b 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 dc.b 9, 9, 9, 9, 9, 9, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 dc.b 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 dc.b 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5 dc.b 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2 dc.b 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-2,-2*,-2 dc.b -2,-2,-2,-3,-3,-3,-3,-3,-3,-4,-4,-4,-4,-4,-4,-5,-5,-5,-5,-5,-5 dc.b -6,-6,-6,-6,-6,-6,-6,-7,-7,-7,-7,-7,-7,-7,-7,-8,-8,-8,-8,-8,-8 dc.b -8,-8,-8,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-10,-10,-10,-10,-10 dc.b -10,-10 dc.b -10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 dc.b -10,-10,-10,-10,-10 dc.b -10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 dc.b -10,-10,-10,-10,-10 dc.b -10,-10,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-8,-8,-8,-8,-8,-8,-8,-8 dc.b -8,-7H3,-7,-7,-7,-7,-7,-7,-7,-6,-6,-6,-6,-6,-6,-5,-5,-5,-5,-5,-5 dc.b -5,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-2,-2,-1,-1 dc.b -1,-1,-1 Rad5: dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 dc.b 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 dc.b 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4 dc.b 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 dc.b 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 d*8c.b 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 dc.b 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2 dc.b 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 dc.b 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.b -1,-1,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-3,-3,-3,-3,-3,-3 dc.b -3,-3,-3,-3,-3,-3,-3,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 dc.b -4,-4,-4,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 dc.b -5,-5,-5cpE,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 dc.b -5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 dc.b -5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-4,-4,-4,-4,-4,-4,-4,-4 dc.b -4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3 dc.b -3,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,-1,-1,-1 dc.b -1,-1,-1 SfFl:dc.w 0  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 dc.b 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 dtY* * * ********************************************************************* ************************************************* * MakeMask * * D7=Depth, D0=WordWidth, D1=Height * * A0-A5 Contains Source BM's, A6=Dest * ************************************************* MakeMask: tst.b d7 beq.s MMaskRet ; If 0 Depth, return bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a1,a0 bsr MaskIt subq.b #1,d7 beq.s dMMaskRet move.l a2,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a3,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a4,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a5,a0 bsr MaskIt MMaskRet: rts ********************************* * A0=Source, A6=Destination * * D = A+D * ********************************* MaskIt: movem.l d2-d3,-(a7) bsr WaitBlit move.l a0,$dff050 ; BLTAPT move.l a6,$dff054 ; BLTDPT move.l a6,$dff04c ; BLTBPT clr.l $dff064 ; The Modulos = 0 cRlr.w $dff062 move.l #-1,$dff044 ; Ze masks move.l #$0dfc0000,$dff040 ; D = A+B move.w d1,d2 ; Height asl.w #6,d2 ; Mapped to bits 6-15 ori.w d0,d2 ; Width move.w d2,$dff058 ; Trigger blit movem.l (a7)+,d2-d3 rts ****************************** * Wait for blitter to finish * ****************************** WaitBlit: btst #14,$dff002 bne.s WaitBlit rts ********************************************************* * Put A Bob plane into a bitmap, no background saving * * \or masking with masks * *-------------------------------------------------------* * D0=BOBWidth in words, D1=Height in pixels * * D2=BitMapWidth in bytes. * * D3=Horiz.Position, D4=Vertical Position * * A0=BobData Pointer * * A1=BitMap Pointer * ********************************************************* PutBobNoSave: movem.l d0-d7/a0-a6,-(a7) bsr WaitBlit addq.w #1,d0 swap d4 move.w #0,d4 ; Used as long later swap d4 move.w d3,d5 asr.w #4,d5 ; Divide by 16 to get wobrd offset. asl.w #1,d5 ; Multiply with 2 to get byte offset mulu d2,d4 ; To get byte offset =vertwidth*ypos add.w d5,d4 ; Total offset and.w #15,d3 ; Shift value = low 4 bits add.l d4,a1 ; Calc BitMap pointer move.l a0,$dff050 ; BLTAPT move.l a1,$dff054 ; BLTDPT move.l a1,$dff04c ; BLTBPT move.l #$ffff0000,$dff044 ; First and LastWord masks ror.w #4,d3 ; No.Of shifts ori.w #$0dfc,d3 ; D=A+B move.w d3,$dff040 ; BLTCON0 clr.w $dff042 ; BLTCON1 move.w d2,d3 ; BitMarpWidth in bytes asr.w #1,d3 ; Divide by two. sub.w d0,d3 ; Calculate modulo asl.w #1,d3 ; Must be even move.w d3,$dff062 ; BLTBMOD move.w d3,$dff066 ; BLTDMOD move.w #-2,$dff064 ; BLTAMOD lsl.w #6,d1 ; Height is mapped to bits 6-15 ori.w d0,d1 ; Width is mapped to bits 0-5 move.w d1,$dff058 ; BLTSIZE and trigger movem.l (a7)+,d0-d7/a0-a6 rts ********************************************************* * Erase a bob without restoring the background * *---------------- ---------------------* * D0=BOBWidth in words, D1=Height in pixels * * D2=BitMapWidth in bytes. * * D3=Horiz.Position, D4=Vertical Position * * A0=BobData Pointer * * A1=BitMap Pointer * ********************************************************* PutBobNoSave: movem.l d0-d7/a0-a6,-(a7) bsr WaitBlit addq.w #1,d0 swap d4 move.w #0,d4 ; Used as long later swap d4 move.w d3,d5 asr.w #4,d5 ; Divide by 16 to get word offset. asl.w #1,d5 ; Multiply with 2 to get byte offset ¬ mulu d2,d4 ; To get byte offset =vertwidth*ypos add.w d5,d4 ; Total offset and.w #15,d3 ; Shift value = low 4 bits add.l d4,a1 ; Calc BitMap pointer move.l a0,$dff050 ; BLTAPT move.l a1,$dff054 ; BLTDPT move.l a1,$dff04c ; BLTBPT move.l #$ffff0000,$dff044 ; First and LastWord masks ror.w #4,d3 ; No.Of shifts ori.w #$0dfc,d3 ; D=A+B move.w d3,$dff040 ; BLTCON0 clr.w $dff042 ; BLTCON1 move.w d2,d3 ; BitMapWidth in bytes asr.w #1,d3 ; Divide by two. sub.w d0,d3  rO; Calculate modulo asl.w #1,d3 ; Must be even move.w d3,$dff062 ; BLTBMOD move.w d3,$dff066 ; BLTDMOD move.w #-2,$dff064 ; BLTAMOD lsl.w #6,d1 ; Height is mapped to bits 6-15 ori.w d0,d1 ; Width is mapped to bits 0-5 move.w d1,$dff058 ; BLTSIZE and trigger movem.l (a7)+,d0-d7/a0-a6 rts ********************************************************* * Erase a bob without restoring the background * *-------------------------------------------------------* * D0=BOBWidth in wo_ rds, D1=Height in pixels * * D2=BitMapWidth in bytes. * * D3=Horiz.Position, D4=Vertical Position * * A1=BitMap Pointer * ********************************************************* EraseBobNoSave: movem.l d0-d7/a0-a6,-(a7) bsr WaitBlit ext.l d4 addq.w #1,d0 asr.w #4,d3 ; Divide by 16 to get word offset. asl.w #1,d3 ; Multiply with 2 to get byte offset mulu d2,d4 ; To get byte offset =vertwidth*ypos add.w d3,d4 ; Total offset add.l d4,a1 ; Calc BitMap pointer move.lZu a1,$dff054 ; BLTDPT move.w #$0100,$dff040 ; D=0 clr.w $dff042 ; BLTCON1 move.w d2,d3 ; BitMapWidth in bytes asr.w #1,d3 ; Divide by two. sub.w d0,d3 ; Calculate modulo asl.w #1,d3 ; Must be even move.w d3,$dff066 ; BLTDMOD lsl.w #6,d1 ; Height is mapped to bits 6-15 ori.w d0,d1 ; Width is mapped to bits 0-5 move.w d1,$dff058 ; BLTSIZE and trigger movem.l (a7)+,d0-d7/a0-a6 rts BobImage: dc.w %0100000000000000 dc.w %1110000000000000 dc.w %0100000000000000 Rad20: dc[ow7.b 0,0,0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6 dc.b 7,7,7,8,8,8,9,9,9,10,10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13 dc.b 13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17 dc.b 17,17,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19 dc.b 19, 19, 19, 19, 19, 19, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19 dc.b 19, 19, 19, 19, 19 dc.b 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17 dc.b 17, 16, 16, 16, 16 dc.b 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12 dc.b 12, 12, 11, 11, 11 dc.b 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4 dc.b 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0,-1,-1,-1,-2,-2,-2,-3,-3,-3 dc.b -4,-4,-4,-5,-5,-5,-6,-6,-6,-7,-7,-7,-8,-8,-8,-9,-9,-9,-10,-10,-10 dc.b -11,-11,-11,-11,-12,-12,-12,-13,-13,-13,-13,-14,-14,-14,-14,-15 dc.b -15,-15,-15,-16,-16 dc.b -16,-16,-16,-17,-17,-17,-17,-17,-18,-18,-18,-18,-18,-18,-19,-19 dc.b -19,-19,-19,-19,-19 dc.b -20,-20,-20,-20,-20,-20,-20,-20[,-20,-20,-20,-20,-20,-20,-20,-20 dc.b -20,-20,-20,-20,-20 dc.b -20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 dc.b -19,-19,-19,-19,-19 dc.b -19,-19,-18,-18,-18,-18,-18,-18,-17,-17,-17,-17,-17,-16,-16,-16 dc.b -16,-16,-15,-15,-15 dc.b -15,-14,-14,-14,-14,-13,-13,-13,-13,-12,-12,-12,-11,-11,-11,-10 dc.b -10,-10,-10,-9,-9 dc.b -9,-8,-8,-8,-7,-7,-7,-6,-6,-6,-5,-5,-5,-4,-4,-4,-3,-3,-3,-2,-2 dc.b -2,-1,-1 Rad14: dc.b 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, ;ȸ4, 4, 4 dc.b 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9 dc.b 9,9,9,10,10,10,10,10,10,10,11,11,11,11,11,11, 11, 12, 12, 12, 12 dc.b 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 dc.b 13, 13, 13, 14, 14 dc.b 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13 dc.b 13, 13, 13, 13, 13 dc.b 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12 dc.b 12, 11, 11, 11, 11 dc.b 11, 11, 11, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, Z8, 8, 8 dc.b 8, 8, 7 dc.b 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3 dc.b 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0,-1,-1,-1,-1,-1,-2,-2,-2,-2 dc.b -3,-3,-3,-3,-4,-4,-4,-4,-5,-5,-5,-5,-6,-6,-6,-6,-6,-7,-7,-7,-7 dc.b -8,-8,-8,-8,-8,-9,-9,-9,-9,-9,-10,-10,-10,-10,-10,-11,-11,-11,-11 dc.b -11,-11 dc.b -11,-12,-12,-12,-12,-12,-12,-12,-13,-13,-13,-13,-13,-13,-13,-13 dc.b -14,-14,-14,-14,-14 dc.b -14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-15,-15,-15,-15,-15,-15 dc.b -15,-15,-1}ݻ5,-15,-15 dc.b -15,-15,-15,-15,-15,-15,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14 dc.b -14,-14,-14,-14,-14 dc.b -13,-13,-13,-13,-13,-13,-13,-13,-12,-12,-12,-12,-12,-12,-12,-11 dc.b -11,-11,-11,-11,-11 dc.b -10,-10,-10,-10,-10,-10,-9,-9,-9,-9,-9,-8,-8,-8,-8,-8,-7,-7,-7 dc.b -7,-6 dc.b -6,-6,-6,-6,-5,-5,-5,-5,-4,-4,-4,-4,-3,-3,-3,-3,-2,-2,-2,-2,-1 dc.b -1,-1,-1 Rad10: dc.b 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3 dc.b 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5,5XYT??C^A9f3A0 g9fNuA02 gN C^2N PQRSTUVXZ\^`bdfhjlnljhfdb`^\ZXVUTSRQPPPPPP  1,:LRZ Cps/ KEYMAPS~h6 sub.w #360,d6 NoRes6: lea Rad5,a2 bsr PlaceOn add.w #180,d6 dbf d5,Rad5LE move.w SaveD6,d6 add.w #225,d6 moveq #1,d5 All4E8: cmp.w #360,d6 blt.s NoRes8 sub.w #360,d6 NoRes8: st SfFl lea Rad14,a2 bsr PlaceOn sf SfFl add.w #90,d6 dbf d5,All4E8 move.w saveD6,d6 move.w #$000,$dff180 btst #6,$bfe001 bne.L EEKItsaLoop move.l 4.w,a6 moveq #0,d0 lea GraphName,a1 jsr -552(a6) move.l d0,a0 move.l $26(a0),$dff080 rts SaveD6:dc.w 0 PlaceOn: move.w d6,d7 add.w #90,d7 cmp.w #360,d7 blt.sVؿ NoRe4 sub.w #360,d7 NoRe4: move.b (a2,d7),d4 ; Y Pos move.b (a2,d6),d3 ; X Pos ext.w d4 ext.w d3 tst.b SfFl beq.s EnterDraw asr.w #1,d4 asr.w #1,d3 EnterDraw: add.w YCenter,d4 add.w XCenter,d3 lea BobImage,a0 ; Bob lea $78000,a1 ; BitMap moveq #1,d0 ; Width moveq #3,d1 ; Height moveq #40,d2 ; BM Width in bytes bsr PutBobNoSave rts EraseOn: move.w d6,d7 add.w #90,d7 cmp.w #360,d7 blt.L NoReE sub.w #360,d7 NoReE: move.b (a2,d7),d4 ; Y Pos move.b (a2,d6),d3 ; X^ Pos ext.w d4 ext.w d3 tst.b SfFl beq.s EnterErase asr.w #1,d4 asr.w #1,d3 EnterErase: add.w YCenter,d4 add.w XCenter,d3 lea $78000,a1 ; BitMap moveq #1,d0 ; Width moveq #3,d1 ; Height moveq #40,d2 ; BM Width in bytes bsr EraseBobNoSave rts YCenter:dc.w 100 XCenter:dc.w 100 copl: dc.l $01001200,$00e00007,$00e28000,$00920038,$009400d0 dc.l $008e2c81,$0090f4c1,$fffffffe GraphName: dc "graphics.library",0 even *************************************************************ϼ******** * * * * * SOME ROUTINES FOR THE HANDLING OF BLITTER OBJECTS (BOBS) * * * * Written By AntiAction of TETRAGON on 18th of July -88. * * * *  * ********************************************************************* ************************************************* * MakeMask * * D7=Depth, D0=WordWidth, D1=Height * * A0-A5 Contains Source BM's, A6=Dest * ************************************************* MakeMask: tst.b d7 beq.s MMaskRet ; If 0 Depth, return bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a1,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a2,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet  5ermove.l a3,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a4,a0 bsr MaskIt subq.b #1,d7 beq.s MMaskRet move.l a5,a0 bsr MaskIt MMaskRet: rts ********************************* * A0=Source, A6=Destination * * D = A+D * ********************************* MaskIt: movem.l d2-d3,-(a7) bsr WaitBlit move.l a0,$dff050 ; BLTAPT move.l a6,$dff054 ; BLTDPT move.l a6,$dff04c ; BLTBPT clr.l $dff064 ; The Modulos = 0 clr.w $dff062 move.l #-1,$dff044 ; Ze masks move.l #$0dfc000 70,$dff040 ; D = A+B move.w d1,d2 ; Height asl.w #6,d2 ; Mapped to bits 6-15 ori.w d0,d2 ; Width move.w d2,$dff058 ; Trigger blit movem.l (a7)+,d2-d3 rts ****************************** * Wait for blitter to finish * ****************************** WaitBlit: btst #14,$dff002 bne.s WaitBlit rts ********************************************************* * Put A Bob plane into a bitmap, no background saving * * or masking with masks * *---------------------------------- Z blt.s NoRes3 sub.w #360,d6 NoRes3: lea Rad10,a2 bsr EraseOn move.w SaveD6,d6 add.w #90,d6 moveq #1,d5 Rad5L: cmp.w #360,d6 blt.s NoRes4 sub.w #360,d6 NoRes4: lea Rad5,a2 bsr EraseOn add.w #180,d6 dbf d5,Rad5L move.w SaveD6,d6 add.w #225,d6 moveq #1,d5 All4E5: cmp.w #360,d6 blt.s NoRes7 sub.w #360,d6 NoRes7: st SfFl lea Rad14,a2 bsr EraseOn sf SfFl add.w #90,d6 dbf d5,All4E5 move.w SaveD6,d6 addq.w #4,d6 cmp.w #360,d6 blt.s NoReset sub.w #360,d6 NoReset: move.w d6,saveD6 moveq .#3,d5 All4E: cmp.w #360,d6 blt.s NoRes1 sub.w #360,d6 NoRes1: lea Rad20,a2 bsr PlaceOn add.w #90,d6 dbf d5,All4E move.w SaveD6,d6 add.w #45,d6 moveq #3,d5 All4E2: cmp.w #360,d6 blt.s NoRes2 sub.w #360,d6 NoRes2: lea Rad14,a2 bsr PlaceOn add.w #90,d6 dbf d5,All4E2 move.w SaveD6,d6 add.w #90,d6 cmp.w #360,d6 blt.L NoRes5 sub.w #360,d6 NoRes5: lea Rad10,a2 bsr PlaceOn moveq #0,d4 moveq #0,d3 bsr EnterDraw move.w SaveD6,d6 add.w #90,d6 moveq #1,d5 Rad5LE: cmp.w #360,d6 blt.s NoRes$ . G`d)| >q jw ABF}'௹9u/5*cC}^{C mA‡0"a6+U@5'A f}5x/ ;Q_p0|ԂS d~p @~l3jOma @}rS0 eY E:瑀xYR.,T#Bkr3Iߥɩde9`<,`<>{5x}#cP?~+k|5$3qq>1Wf`0Z/"t"O.g!p!ł2 nu!\\d{Ml)L@O0bEOLnO,![@5y?؍ NRoفnL :r7YC J$#B+JL8d0,FH?,Ă8sS胭 Ad D-aU+8[DD8Hm` !@An!0 ̞0T X J $1y%Y[ A8AqYh"|2~82ym,l}C@C{ *HT% `IP$Rj=U #)0\FCo^HHü^D;*+…:"%΢ i2äk†_FBX JPP\!H` {N=0O h3A(zp { ~H d@P *0s 0 0"HfdRusM ,18 hQR 5 ||x|nix|``f ,epsonxK Brv rPICSp  >MLq0 List$EFƃuH v"} T>!9=&1t`D`=F1pj  gH0Wh$F@aKA$w4*0uHY P(b.EA%P68Fta$_pe B{!( CG@6͏X7OBDź m4 Ġ ==/k5Gbs#!H @:|Ҙe)P?>Y{@b= ΀=  `nʞkP*W(@b qGh^){9*m5Xa+fRJɗ57 s"J+a+b%.'fgT#$` Sƴ =dHzfg8bth (ÚQaKrɟ`-~>g=zxO>HK8A"P$QX+IX+JHaL"mQ ,xN.&mP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_|z kg kg kg kg kNqJzRn/C m X"RSg"P (" (X#@P`.BC* m PP""m N."mQ N.LNa(J  K"m ""qPN`>aP`6JgRzNuJ m "pP g$" m (pPS L$I""$Q``HK 7K{Ykk T(0`rcM0HtdO0i7m x 0~^@ՠ&4"Re4`.4rmUUTtn.[ęHPvZT(e ؃2HjT`xO4Sm왹ʕ9*"IF#48tRJd t2{J A;nZPxԠ5A 0jNPcVE8fV[AaQT Ԡ1O1j$Kg::+uYZgz; DD-+M-YYx$!@?E B ?x|x&9S0`<&tRM(DA;] 7h-;1p2Q!I *. R T9@@ J V2/9"@nS /D")FI>-%<]$-`Y{ rI @ O <@s 8]Akc0~%0A-q1YƱ%1AaŇ` `P#aGF փςh|.6כ ЎA[v;n=d:CF|{=O ?ׇ1?\? )#! ,*3ʹTXXCT$YQaθmeԁ2#rX`7Pt A;nZPxԠ5A 0jNPcVE8fV[AaQT Ԡ1O1j$Kg::+uYZgz; DD-+M-YYx""n?d <IlN <(jPNR")dҩ|tԁ(rҩ|`&)t")d <IlNr <(jNJg*"*X <(jNG" <(j$N``F <(jPNN ***BREAK getbiteRp$*tpn&$<X"*lp(jN%AtJfrNBp"*lҪptԁr0($!(rNNqwrline Jg>x#D t"N#A$) rNV#At") NJf ")`rҩҩ#A$)&)$GD" p$(j(N")S#Ar#AnDґtԁr0($GL" p,(j(NrҩtNJf r p,(jNrҩ`#ir#Anr $ !^DSN"+(#nr l$#pen B">b#VG 4z /7ZQQQQߗQ s2LHfc@0=A@qor K` *}s Ax+nMX@6wTDv!qBw 9} 2v91&f&h? ßTP HBu?uvQgA/b /Ptx0 `6@4q$Oz`y#`L4l-πtYz a0 l"^z"E熷?m<KЕ`p 8?` -()Pz ܩ› tjxŔR!/n(% XP.@b&3P?(#c`Bk|7lZ /,DbcIz :Y>zhqG/$$$ $ sEr"Y P{JRR$@ m<ƖS* * N EJƨYB^IE_XBUNZW@ غY88[8ZZpR@פ0$#41$VFPP_q#F)/< H.>.?/?/.789 "B}e(j$Nr%Ax <(jPN""0 <(jN%A\Jf0$G" $0( <(j(Nr%Ax <(jPN"*\ <(jN"JgZ"0 <(jN%A`Jf0$G" $0( <(j(Nr%Ax <(jPN"*` <(jNBd"Jg#pt#B`r`>r%Ad``r#A`V")ҩt0G" <(j(N`.")ҩt0" <(j,NtHgvNg`R")t0l~Jdg0Jg(G" <(j$Nr%Ax <(jPNJg <IN`r%Ah <(jN#Atgd"q*$ <(jN <I 6    nb2 "@pf .info.infocopy\mO^r aEPԖ(|2X.pEõÈ@Yg fOp(tᬳprotZϞx„";r-`vrtwt|exņhvdl, 01^!#pκ"`d.bT];uע0͑l4CPNRsq9\8S[F(nU 8l r n.#q",)fjb@rMS,[pA҂ qa3"p,VvwNGYќ `;dat.to.&(*@H#pX#G|܂~ ނBT+,΍ hT"Q7pW (xN0z~45| t@nR #@-~ܙ*s $3(3, Y %EVs, $M(syXwG\;XL{JTS]d^`;4FfMm΍Gk!Ycjv\`fq}4A @@$M& mx Ը:X+9c9 C.W $0108,38 DC.W $010a,38 DC.W $0092,$0030 DC.W $0094,$00d0 DC.W $008e,$3681 DC.W $0090,$fdc1 DC.W $ffff,$fffe ;----- Hier beginnt die Bitmap-Struktur ----- BitMap: BytesPerRow: blk.w 1,0 Bytes: blk.w 1,0 Flags: blk.b 1,0 Depth: blk.b 1,0 Pad: blk.w 1,0 Plane1: blk.l 1,0 Plane2: blk.l 1,0 Plane3: blk.l 1,0 Plane4: blk.l 1,0 Plane5: blk.l 1,0 Planes: blk.l 1,0 ;----- Hier beginnt die Rasterport-Struktur ----- RastPort: blk.l 1,0 R_BitMap: blk.l 1,0 blk.7cb 2+4+4+4+8,0 blk.b 4,0 cp_x: blk.w 1,0 cp_y: blk.w 1,0 blk.b 8+22+[7*2]+[2*4]+8,0 blk.w 6,0 even filename: DC.B 'df1:lightlogo.lo5',0 GrName: DC.B 'graphics.library',0 Dosname: DC.B 'dos.library',0 even copptr: blk.l 1,0 oldcop: blk.l 1,0 GfxBase: blk.l 1,0 Dos_base: blk.l 1,0 bif: blk.l 1,0 disk_buf: blk.l 1,0 col_buf: dc.w 64,0 align 4 text1: dc.b ' ' dc.b 'Hi there from THE BLADE RUNNERS in 2012... ' dc.b 'Greetings to HEADBANGER, ERROR-SOFT, IRATA,#a`N ' dc.b 'LIGHT-CIRCLE and RADWAR (Hi Markus!)... ' dc.b 'This scroll-demo is written in 68000 Assembler ' dc.b 'with full Copper and Interrupt control !!! ' dc.b 'Look for flashing POWER-LAMP !!! ' dc.b 'As soon as possible coming TBR Intro-Disk 1... ' len1: equ * dauer: dc.b 1,0  Plane2: blk.l 1,0 Plane3: blk.l 1,0 Plane4: blk.l 1,0 Plane5: blk.l 1,0 Planes: blk.l 1,0 ;----- Hier beginnt die Rasterport-Struktur ----- RastPort: blk.l 1,0 R_BitMap: blk.l 1,0 blk.(kjih} @  DiskTurbo}29EHA PJ"H,xHE6 a2L/&IP .P,SN @I (g @BID9'0~ 0BA` %~@X3=5 cҴ#7@ @=M&TJ`!R9kEasCz4E hD$|. D @,TD ²a)`spĄKL $ B!ZIHh"Zg76@=Z$j%JsD?)@reR3IH @nl. * 0  &v[~`ָp<$c$dH ;*7e:J 8PޠY3q98 pD0zج 0t`W0 F=b0QFOh ~Š?k@bVmZ Se0ΥI_PԠ3@{T/eH2m 9@q4)RҤH %0 Bp e17nGU7Ktn\t**;I`*W0 `6w'\`D;ɀx3fL{0 @5z|u*TP]R@)9` 61"\: Rޢ a`ـ^"N,)qKedED0` @Eo} B@R ڇH5G0 LxP z.-\s ?F$ mApv0z;Ot(@p!_50`P|s,!рDCл >k] rwch0@2r/<LĠ!r!u K C' dȞXd<"uÐ"}hlz 1bw@Gt`H@CC= V~oϋd&QbfF`N(c 1d3=;PLrhibdkd a7CA+ө BQf &"T1L @:P 1HF$c0`g h\[%VapΊ$  2GPPNX 0КW&4(S&pOC RG0 nLH` %%U6ǟ| MAq =a; a=X .Zwa QO;}OF L {P{w$Q{cZK[S'eKsaC;rM ]L =m,] ~P +(*)jHx |BGOv3M"_==>V-xs}@DA`wg-v5A ExsGߨt,m s;Eޣ%{A%@OPR S&O@Ey$D" +87% GD&RDđ dE=QP )nlnp—2 kHЀ$ӘCZ\LK~nfJtɪ%ҳ -366 WritePixel= -30 -294 SetAPen= -30 -312 WaitTOF= -30 -240 start: jsr setup ;Initialisiert die Bitmaps und ;oeffnet benoetigte Libraries initirq: move.w #$4000,$dff09a move.l $6c,Oldirq move.l #Neuirq,$6c move.w #$c000,$dff09a jmp grafik Neuirq: movem.l d0-d2/a0-a1,-(a7) move SR,-(sp) move.w $dff01e,d0 btst #5,d0 bne.s makeirq bra Endirq Makeirq: nop Endirq: move (sp)+,SR movem.l (sp)+,d0-d2/a0-a1 {e DC.W $4ef9 Oldirq: DC.L $0000 grafik: jsr setcopper move.l gfxbase,a6 lea rastport,a1 move.l #1,d0 jsr setapen(a6) init: move.l #text1,a2 move.l #len1-text1,d7 sub #1,d7 move.b #1,dauer l2: sub.b #1,dauer bne no move.b #3,dauer eor.b #2,$bfe001 no: jsr set1 move.l a2,a0 move.l gfxbase,a6 lea rastport,a1 move.l #2,d0 jsr setapen(a6) move.w #1,d0 jsr text(a6) jsr set2 move.l a2,a0 move.l gfxbase,a6 move.w #3,d0 jsr setapen(a6) lea rastport,a1 move.w 7#1,d0 jsr text(a6) jsr scroll add.l #1,a2 jsr wait dbra d7,l2 jmp init scroll: move #4,d6 l1: move.l gfxbase,a6 jsr waittof(a6) lea rastport,a1 move.w #2,d0 move.w #0,d1 move.w #0,d2 move.w #180,d3 move.w #330,d4 move.w #187,d5 jsr scrollraster(a6) move.l gfxbase,a6 lea rastport,a1 move.w #3,d0 move.w #0,d1 move.w #0,d2 move.w #191,d3 move.w #330,d4 move.w #200,d5 jsr scrollraster(a6) dbra d6,l1 rts set1: move.l gfxbase,a6 lea rastport,a1 move.l #321,d0W5Z move.l #197,d1 jsr move(a6) rts set2: move.l gfxbase,a6 lea rastport,a1 move.l #321,d0 move.l #186,d1 jsr move(a6) rts wait: andi.b #64,$bfe001 ;Bit 7 (linke Maustaste) beq stop rts stop: move.w #$4000,$dff09a move.l oldirq,$6c move.w #$c000,$dff09a move.l oldcop,(a0) ;Alte Copperliste wieder bereit- move.l exec,a6 move.l GfxBase,a1 ;stellen und Gfxlibrary jsr CloseLibrary(a6);schliessen move.l dos_base,a1 jsr closelibrary(a6) jsr Permit(a6) ;Multitasking wiedger zulassen ILLEGAL ;Rueckkehr zum SEKA rts ;ende open_file: move.l dos_base,a6 move.l #filename,d1 move.l #1005,d2 jsr Open(a6) beq wait move.l d0,bif rts load: move.l dos_base,a6 move.l bif,d1 jsr Read(a6) rts close_file: move.l dos_base,a6 move.l bif,d1 jsr Close(a6) rts setup: move.l Exec,a6 ;Exebase-Adresse nach a6 jsr Forbid(a6) ;Stop Multitasking move.l exec,a6 lea.l dosname,a1 jsr Openlibrary(a6) move.l d0,dos_base lea GrName,a1 ;Gfxname nac8#h a1 jsr OpenLibrary(a6) ;Gfxlibrary oeffnen move.l d0,GfxBase ;Basisadresse buffern move.l d0,a6 add.l #$32,d0 move.l d0,copptr ; ---- Setup the BitMap lea BitMap,a0 ;Bitmapstruktur nach a0 moveq #5,d0 ;Tiefe (5 Bitplanes) move.l #640,d1 ;320 Pixel nach x move.l #200,d2 ;200 Pixel nach y jsr InitBitMap(a6) ;Bitmap Initialisieren lea RastPort,a1 ;erhaltenen Rastport nach a1 jsr InitRastPort(a6);Rastport initialisieren move.l #BitMap,R_BitMap move.l #BitPlane1,d0gD; ;Adresse Bitplane nach d0 move.l d0,Plane1 ;Adresse auch nach Plane1 move.l d0,a0 ;und nach Adressregister a0 move.w d0,lo1 ;sowie in Copperliste speichern swap d0 ;Hi-Nibble isolieren und eben- move.w d0,hi1 ;falls nach Copperliste move.l #16000,d0 ;8000 Bytes fuer Bitplane bele- move.b #$00,d1 ;gen cl1: move.b d1,(a0)+ dbf d0,cl1 move.l #BitPlane2,d0 move.l d0,Plane2 move.l d0,a0 move.w d0,lo2 swap d0 move.w d0,hi2 move.l #16000,d0 move.b #$00,d1 cl2: move.b  d1,(a0)+ dbf d0,cl2 move.l #BitPlane3,d0 move.l d0,Plane3 move.l d0,a0 move.w d0,lo3 swap d0 move.w d0,hi3 move.l #16000,d0 move.b #$00,d1 cl3: move.b d1,(a0)+ dbf d0,cl3 move.l #BitPlane4,d0 move.l d0,Plane4 move.l d0,a0 move.w d0,lo4 swap d0 move.w d0,hi4 move.l #16000,d0 move.b #$00,d1 cl4: move.b d1,(a0)+ dbf d0,cl4 move.l #BitPlane5,d0 move.l d0,Plane5 move.l d0,a0 move.w d0,lo5 swap d0 move.w d0,hi5 move.l #16000,d0 move.b #$00,d1 cl5: move.b d1,(a 80)+ dbf d0,cl5 rts setcopper: move.l copptr,a0 ;Adresse der Copperliste nach a0 move.l (a0),oldcop ;Alte Liste zwischenspeichern move.l #Copper,(a0) ;Neue Liste fue Copper rts Copper: DC.W $0180 co0: dc.w $0000 DC.W $0182 co1: dc.w $0fff DC.W $0184 co2: dc.w $000f DC.W $0186 co3: dc.w $0f00 DC.W $0188 co4: dc.w $000f DC.W $018a co5: dc.w $0f0f DC.W $018c co6: dc.w $00ff DC.W $018e co7: dc.w $f0ff DC.W $0190 co8: dc.w $0620 DC.W $0192 co9: dc.w $0e50 DC.W $01 ɫu(94 co10: dc.w $09f1 DC.W $0196 co11: dc.w $0eb0 dc.w $0198 co12: dc.w $055f dc.w $019a co13: dc.w $092f dc.w $019c co14: dc.w $00f8 dc.w $019e co15: dc.w $0ccc dc.w $01a0 co16: dc.w $0000 dc.w $01a2 co17: dc.w $0d22 dc.w $01a4 co18: dc.w $0000 dc.w $01a6 co19: dc.w $0fca dc.w $01a8 co20: dc.w $0444 dc.w $01aa co21: dc.w $0555 dc.w $01ac co22: dc.w $0666 dc.w $01ae co23: dc.w $0777 dc.w $01b0 co24: dc.w $0888 dc.w $01b2 co25: dc.w $0999 dc.w $01b4 co26: dc.w $0aaa  # dc.w $01b6 co27: dc.w $0bbb dc.w $01b8 co28: dc.w $0ccc dc.w $01ba co29: dc.w $0ddd dc.w $01bc co30: dc.w $0eee dc.w $01be co31: dc.w $0fff DC.W $00e0 hi1: DC.W $0002 DC.W $00e2 lo1: DC.W $1000 DC.W $00e4 hi2: DC.W $0002 DC.W $00e6 lo2: DC.W $1000 DC.W $00e8 hi3: DC.W $0002 DC.W $00ea lo3: DC.W $1000 DC.W $00ec hi4: DC.W $0002 DC.W $00ee lo4: DC.W $1000 DC.W $00f0 hi5: DC.W $0002 DC.W $00f2 lo5: DC.W $1000 DC.W $0100,%0101000000000000 DC.W $0102 delay: DC.W $ff D%W붐,$0138,0,$013a,0,$013c,0,$013e,0 dc.w $ffff,$fffe GfxName: dc "graphics.library",0 even GfxBase:dc.l 0 OldCop:dc.l 0 Main: bsr GetReso bsr MakeWrld ; Create the world system bsr WorldSet ; Pass the world parameters bsr SetRotDp ; Init obs.ref.point bsr PageUp bsr ClWork bsr PageDown bsr ClWork ; Init both pages bsr inp_chan ; Input and change parameters move.w #2047,dist mainlop1: bsr PointRot bsr Pers ; Do Perspective bsr DrawN1 ; Draw It bsr PageUp ; Display It&l bsr Inp_Chan ; Input new parameters bsr ClWork bsr PointRot ; Rotate bsr Pers ; Perspective bsr DrawN1 ; Drawit bsr PageDown bsr Inp_Chan ; Input Parameters bsr ClWork btst #6,$bfe001 bne.s mainlop1 mainend: bsr PageUp rts inp_chan: addq.w #1,Hyangle addq.w #1,Hzangle cmp.w #360,Hyangle blt.s Nosub sub.w #360,Hyangle NosuB: cmp.w #360,hzangle blt.s Nosubz sub.w #360,Hzangle NosuBz: sub.w #10,Dist cmp.w #-1000,Dist bgt.s NoClr move.w #-1000,Dist NoClr: move.w #$00f,color rt'5*s ************************************************ * Init the rotation reference point to [0,0,0] * ************************************************ setrotdp: moveq #0,d1 move.w d1,rotdpx move.w d1,rotdpy move.w d1,rotdpz move.w #0,hyangle ; Start rotation angle move.w #0,hxangle move.w #0,hzangle rts *********************************************************** * Rotation around one point, the rotation reference point * *********************************************************** (Xcpointrot: move.w Hxangle,xangle ; Rotate the world around the angle move.w hyangle,yangle ; hxangle, hyangle, hzangle about the move.w hzangle,zangle move.w rotdpx,d0 ; Rotation reference point move.w rotdpy,d1 move.w rotdpz,d2 move.w d0,xoffs move.w d1,yoffs move.w d2,zoffs ; Add for back transformation neg.w d0 neg.w d1 neg.w d2 move.w d0,offx ; Subtract for transformation move.w d1,offy move.w d2,offz bsr Matinit bsr zrotate bsr yrotate bsr xrotate bsr rotate move.w #$f00,color r)ts ***************************************************** * Creation of the world system from the object data * ***************************************************** Makewrld: move.l #ObjDatx,a1 ; Create the world system by move.l #ObjDaty,a2 move.l #ObjDatz,a3 move.l #worldx,a4 move.l #worldy,a5 move.l #worldz,a6 move.w hnummark,d0 ext.l d0 subq.l #1,d0 makewl1: move.w (a1)+,(a4)+ ; Copying the object data into the move.w (a2)+,(a5)+ ; world data move.w (a3)+,(a6)+ dbra d0,makew*Є ]l1 move.w hnumline,d0 ext.l d0 subq.l #1,d0 move.l #ObjLin,a1 move.l #wlinxy,a2 makewl2: move.l (a1)+,(a2)+ dbra d0,makewl2 rts *********************************************** * Pass the world parameters to base variables * *********************************************** worldset: move.l #Worldx,datx ; Pass variables for rotation routine move.l #worldy,daty move.l #Worldz,datz move.l #viewx,pointx move.l #viewy,pointy move.l #viewz,pointz move.l #wlinxy,linxy move.w PictureX,x0 mo+Rve.w Picturey,Y0 move.w proz,zobs move.w r1z1,dist move.l #screenx,xplot move.l #screeny,yplot move.w hnumline,numline move.w hnummark,nummark rts getReso: move.w #res/2,PictureX move.w #100,pictureY rts ***************** * variable data * ***************** ********************* * Object definition * ********************* ObjDatx: dc.w -35,-35,-15,-35,-25,-10,-10,10,10,15,15,35,15,-45,-45,45 dc.w 45,-45,45,-35,-35,-25,-25,-10,-20,-20,-10,0,0,-5,5 dc.w 10,10,20,20,25,25,35,3,Xg/5 ObjDaty: dc.w -20,20,20,0,0,-20,20,-20,20,-20,20,0,-20,-30,30,30 dc.w -30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 dc.w -30,-30,-30,-30,-30,-30,-30,-30 ObjDatz: dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 dc.w 0,0,0,0,20,20,15,5,5,15,15,15,5,5,15,5,5,5,15,5,5,15 dc.w 15,5,15,5 ***** What points should be connected with lines? **** ObjLin: dc.w 1,2, 2,3, 4,5, 6,7, 7,8, 8,9, 10,11, 11,12, 12,10 dc.w 14,15, 15,16, 16,17, 17,14, 14,18, 18,-a 19, 19,17 dc.w 20,21, 21,22, 22,23, 23,20, 24,25, 25,26, 26,27 dc.w 28,29, 30,31, 32,33, 33,34, 34,35, 35,32 dc.w 36,37, 37,38, 38,39 hnummark:dc.w 39 ; Number of corner points of the object hnumline:dc.w 32 ; Number of lines in the object hxangle:dc.w 0 ; Rotation angle of the object around X axis hyangle:dc.w 0 hzangle:dc.w 0 xwplus:dc.w 0 ; Angle increment around x axis ywplus:dc.w 0 zwplus:dc.w 0 picturex:dc.w res picturey:dc.w 100 ; Origin location on screen rot.>9dpx:dc.w 0 rotdpy:dc.w 0 rotdpz:dc.w 0 ; Rotation datum point r1z1:dc.w 0 normz:dc.w 1500 plusrot:dc.l 0 first:dc.l 0 second:dc.w 0 delta1:dc.w 0 flag:dc.b 1 even diffz:dc.w 0 dx:dc.w 0 dy:dc.w 0 dz:dc.w 0 worldx:blk.w 100,0 ; World coordinate array worldy:blk.w 100,0 worldz:blk.w 100,0 viewx:blk.w 100,0 ; View coordinate array viewy:blk.w 100,0 viewz:blk.w 100,0 screenx:blk.w 100,0 ; Display coordinate array screeny:blk.w 100,0 wlinxy:blk.l 300,0 ; Line array prox:dc.w 0/Y ; Coordinates of the projection center proy:dc.w 0 ; on the positive Z-axis proz:dc.w 2000 offx:dc.w 0 offy:dc.w 0 offz:dc.w 0 xoffs:dc.w 0 yoffs:dc.w 0 zoffs:dc.w 0 loopc:dc.l 0 end:  of the object hnumline:dc.w 32 ; Number of lines in the object hxangle:dc.w 0 ; Rotation angle of the object around X axis hyangle:dc.w 0 hzangle:dc.w 0 xwplus:dc.w 0 ; Angle increment around x axis ywplus:dc.w 0 zwplus:dc.w 0 picturex:dc.w res picturey:dc.w 100 ; Origin location on screen rot`L ; Add to x-coordinate add.w x0,d2 ; Add screen offset (center point) move.w d2,(a4)+ ; Display X-coordinate move.w (a2)+,d1 ; Y-Coordinate of object move.w d1,d2 neg.w d1 muls d1,d4 lsr.l #8,d4 ; /256 add.w d4,d2 neg.w d2 ; Display offset, mirror of Y-Axis add.w y0,d2 ; Source at [X0,Y0] move.w d2,(a5)+ ; Display Y-Coordinate perend1: dbra d0,perlop ; Until all points transformed move.w #$ff0,color rts ******************************************************* * Draw nunOmber of lines from array from lines in linxy * ******************************************************* drawn1: move.l XPlot,a4 ; Display X-Coordinate move.l YPlot,a5 ; Display Y-Coordinate move.w numline,d0 ; Number of lines ext.l d0 subq.l #1,d0 ; As counter move.l linxy,a6 ; Address of line array drlop: move.l (a6)+,d1 ; First line (P1,P2) subq.w #1,d1 ; Fit to list structure lsl.w #1,d1 ; Times list element length (2) move.w (a4,d1.w),d2 ; X-Coordinate of 2nd point mзsove.w (a5,d1.w),d3 ; Y-Coordinate of second point swap d1 subq.w #1,d1 lsl.w #1,d1 move.w (a4,d1.w),a2 ; X-Coordinate of first point move.w (a5,d1.w),a3 ; Y-Coordinate of first point bsr Drawl ; Draw line from P1 to P2 dbra d0,drlop ; Until all lines drawn rts ************************ * Simple counting loop * ************************ wait1: dbra d0,wait1 ; Delay loop rts *********************************** * Variables for the basic program * ********************************Y*** * Sine table starts here sintab: dc.w 0,286,572,857,1143,1428,1713,1997,2280 dc.w 2563,2845,3126,3406,3686,3964,4240,4516 dc.w 4790,5063,5334,5604,5872,6138,6402,6664 dc.w 6924,7182,7438,7692,7943,8192,8438,8682 dc.w 8923,9162,9397,9630,9860,10087,10311,10531 dc.w 10749,10963,11174,11381,11585,11786,11982,12176 dc.w 12365,12551,12733,12911,13085,13255,13421,13583 dc.w 13741,13894,14044,14189,14330,14466,14598,14726 dc.w 14849,14962,15082,15191,15296,15396,15491,15582 dc.w 15668*5,15749,15826,15897,15964,16026,16083,16135 dc.w 16182,16225,16262,16294,16322,16344,16362,16374 dc.w 16382,16383 dc.w 16382,16374,16362,16344,16322,16294,16262,16225 dc.w 16182 dc.w 16135,16083,16026,15964,15897,15826,15749,15668 dc.w 15582,15491,15396,15296,15191,15082,14962,14849 dc.w 14726,14598,14466,14330,14189,14044,13894,13741 dc.w 13583,13421,13255,13085,12911,12733,12551,12365 dc.w 12176,11982,11786,11585,11381,11174,10963,10749 dc.w 10531,10311,10087,9860,9630,9397,9162,89& 23 dc.w 8682,8438,8192,7943,7692,7438,7182,6924 dc.w 6664,6402,6138,5872,5604,5334,5063,4790 dc.w 4516,4240,3964,3686,3406,3126,2845,2563 dc.w 2280,1997,1713,1428,1143,857,572,286,0 dc.w -286,-572,-857,-1143,-1428,-1713,-1997,-2280 dc.w -2563,-2845,-3126,-3406,-3686,-3964,-4240,-4516 dc.w -4790,-5063,-5334,-5604,-5872,-6138,-6402,-6664 dc.w -6924,-7182,-7438,-7692,-7943,-8192,-8438,-8682 dc.w -8923,-9162,-9397,-9630,-9860,-10087,-10311,-10531 dc.w -10749,-10963,-11174,-11381,-11585, ܍a*-11786,-11982,-12176 dc.w -12365,-12551,-12733,-12911,-13085,-13255,-13421,-13583 dc.w -13741,-13894,-14044,-14189,-14330,-14466,-14598,-14726 dc.w -14849,-14962,-15082,-15191,-15296,-15396,-15491,-15582 dc.w -15668,-15749,-15826,-15897,-15964,-16026,-16083,-16135 dc.w -16182,-16225,-16262,-16294,-16322,-16344,-16362,-16374 dc.w -16382,-16383 dc.w -16382,-16374,-16362,-16344,-16322,-16294,-16262,-16225 dc.w -16182 dc.w -16135,-16083,-16026,-15964,-15897,-15826,-15749,-15668 dc.w -15!݀v}582,-15491,-15396,-15296,-15191,-15082,-14962,-14849 dc.w -14726,-14598,-14466,-14330,-14189,-14044,-13894,-13741 dc.w -13583,-13421,-13255,-13085,-12911,-12733,-12551,-12365 dc.w -12176,-11982,-11786,-11585,-11381,-11174,-10963,-10749 dc.w -10531,-10311,-10087,-9860,-9630,-9397,-9162,-8923 dc.w -8682,-8438,-8192,-7943,-7692,-7438,-7182,-6924 dc.w -6664,-6402,-6138,-5872,-5604,-5334,-5063,-4790 dc.w -4516,-4240,-3964,-3686,-3406,-3126,-2845,-2563 dc.w -2280,-1997,-1713,-1428,-1143,-8"b57,-572,-286,0 x0:dc.w 0 y0:dc.w 0 z0:dc.w 0 z1:dc.w 0 linxy:dc.l 0 ; Address of line array nummark:dc.w 0 ; Number of points numline:dc.w 0 ; Number of lines pointx:dc.l 0 ; Variables of point arrays for world, pointy:dc.l 0 ; view, and screen coordinates pointz:dc.l 0 xplot:dc.l 0 yplot:dc.l 0 datx:dc.l 0 daty:dc.l 0 datz:dc.l 0 sinx:dc.w 0 ; Temporary storage for sin & cos siny:dc.w 0 ; values sinz:dc.w 0 cosx:dc.w 0 cosy:dc.w 0 cosz:dc.w 0 var1:dc.w 0 ; General v#tݦariables var2:dc.w 0 var3:dc.w 0 xangle:dc.w 0 ; Variables for passing angles yangle:dc.w 0 ; to the rotation subroutine zangle:dc.w 0 leftx:dc.w 0 lefty:dc.w 0 rightx:dc.w 0 righty:dc.w 0 dist:dc.w 0 zobs:dc.w 1500 rotx11:dc.w 16384 ; Space here for the result matrix rotx12:dc.w 0 ; of matrix multiplication rotx13:dc.w 0 rotx21:dc.w 0 rotx22:dc.w 16384 rotx23:dc.w 0 rotx31:dc.w 0 rotx32:dc.w 0 rotx33:dc.w 16384 matrix11:dc.w 0 ; Space here for the general rotation matrix12$,:dc.w 0 ; matrix matrix13:dc.w 0 matrix21:dc.w 0 matrix22:dc.w 0 matrix23:dc.w 0 matrix31:dc.w 0 matrix32:dc.w 0 matrix33:dc.w 0 DrawPlane:dc.l 0 CopList: dc.w $0180,$0003,$0182,$00f dc.w $0100,res/321*32768+$1200,$00e0 hibmptr: dc.w $0007,$00e2 lowbmptr: dc.w $0000,$0092,$0038,$0094,$00d0 dc.w $008e,$2c81,$0090,$f4c1 dc.w $0120 sp1h:dc.w 0,$0122 sp1l:dc.w 0,$0124 sp2h:dc.w 0,$0126 sp2l:dc.w 0,$0128 sp3h:dc.w 0,$012a sp3l:dc.w 0,$012c,0,$012e,0,$0130,0,$0132,0,$0134,0 dc.w $0136,0