8(;TEPILLILL c}E q0 \C)CC8`DCeECiD` RP h1$E ȍ @y b Y)hܭ]L]` q  DMD   u j)`0  ,p0i2 &28jJ1f02 9 g iJf0i1)xԍӭ232002XԦ`  *'  } *(L `(  L l pL[,L] C i0 } p  gފދLh ( LD 0  C  C  \i +$+0'}; $(%)  b L[C `D P^߰")(݃   $DD}G@НL]S")M T H0 G$Ș݃ b 8$}$%8(() T `$E0(0)8`$GE` P} Li 8GD }L[ PH >iJ ;  yyB } ' |L[ "E( % H$ H#`L]B  0 G LO<  ( d lH۪!A3 A }jA !B EIC Y$E0 F  < 7 JN8Ndâ!,P h0ʠJd,6 } ' r/ $ ɛ ` '  L[  l }-     }    L[L  }  '  L[   p  ` g  l }) g ' }L[) ̠,L]T-0 |LM N݃:ː6UV LM N L(TU N,)M}LL[IL3GDIɛ ɜ DI  , JȊGм  G I) GȦ=}*GG ȄI1200820I H1E 1h0hIGI2ȢI`FE 0ɛ rɛ$ l '}蚦TTUVD`M L$:;Pyȱ$` r  iȱ$/:ȱ$VWyA**⩀ / }`$***? mL]-+ȱ$ɛ m* ? g. $0f.?'@BrAsTt[ }0: gL  `$0`j`& CpCi s L0JCܢj? I#}𴽎F ގМގ& & 0 C4 08L`0   | 레L] EGȽGȽ}G | E` 8,  }EG)݀G)ȱGȱG`"!L] l!i}栠$8  (IƭIp  h,g+j? 8 ii(Lq)! }S S0$}) E9`H)N,L]8GH Lq`gNgfj****8jHi h` } 2J  &e2i`"%?&;^$IM ! ! <u hh`$}Ev옝^! 1EHFHjm GHm H`u$Ev`L=? +`!,pFE ȄD8 }q D&E`I0` i`+DOS SYSMOC.I  J ٍ = ) F)}8`Ll T!U<; Ln <JM -18    HH =}D 1 :  /1[F:M #.! 0`>C #   #`>   e}L'>/b;\I\o@ @LK~ L  % /e  L ; H}H0S0N:;=91D,1ɛK$ɛ`:;ʾ  ,ɛ}`XYȄ #`DTDRLUFFFCICLRSJ==CIYEEONSMDLNOOUAOOOARPLNCL#####PANVBNFR*),-PQORa/%<}) j ө  RES L%-, # 3 0 %   4(H 4(` }( 3  #  ZOiۨ L4RE 3 =F S Z +8!} 0+  FF % 4 4& 4(X)Y    # 4 ʤ Ȅ L"}F F LH hL4`*J 0 B B 0a   8#}    Lkl  );<  : ` 0 } T T 7̀΀$}LIl <;`<LZ0 3   #/ ! R( 7 7   7 89i L7 ,(&  %} L480  ` Ln    `   HJJJJ h) ii0HI B V`0  ,BLV&}[J  B Vso Fhh` GH ,H hɐɀɡ)HDCȱCɛeCD먥D h'}N MSп` ED` OIH`hhXhh  nL Free FilesBreakI/O-Error 170Disk f(}ullWrite protectedFile MismatchBad FilenameDOS II+/D - Version 6.1 RUN:Copyright 1987 by Stefan DorndorfFile lock)}edDevice doneDirectory fullFile not foundBad Load FileNot DOS II+Bad HexAbort-> Source-> DestinationD1:+DOS SY}rH ԍЭЭЭ ԩ(h@H ԍЭЭ ԩJh@H ԍЭЭЭ ԩh@HS+}p (c) PSC-ACTION! (parts by A.C.S)  B JKIHiDiELV`L9S,} 9S BLV`BLSSl LS &` Fj`8冨凪` SEӅӥ S-}`ʆǪƩ Ɛee` SƦʆǢ &Ɛeǐ T TLS S'&&&8儨児.}祂*LS&&*ń8&&LS WT`hihiHHȱȱLSc !#3`/}LSJJJJ`H Sh`Hȩh nSLT wSLT !SLT )SLT /SH8`0}HhHh [ULT BHI V䅠LT LU 9SLTԆ ؠPIPP` U1}P )SLT ULU ULU VLUH- U8塪墨hLV VLU "VLU UȹP`2}8堨塪 U芨Oȩ-`PP UP棩 Ѥģ0-ģ6000:,80H & &3}ehe&eģ0ʥ 8堅塅`$ U&*i0:0i UƦ`¢ 护°4}ڱ%ȱ%E UL\W担CS NUL\WI VL\WH WL\W UL\W &B V TNLMȑ`5} MLN%B VLTS:WE:XH HU XX U HUh)0IXXLU[\ZUVT` [ T/[8[<}7[/[ "T7[e8[em1[7[i8[3[4[2[8[7[ mY5[m/[6[i0[`8L[[[[m=}[[i[`[L[ T[[m[[i[ "Tm[`ЅL)\ T\8"\#\"\m>}\"\#\i#\\\\\#\"\ mY!\\ \`\L}\y\y\ "Tee DY`L\\Ͳ\?}L\\m\\i\L\`L\ T\ HU\\ U\ "T Z HU`L4]0]0]`L@}A] 1]`ILK]G]8jG]jW Xj` Xj`Lk] T`]a]g]`]f]d]b]c]]]d]LQ^b]md]c]ie]e]A}L]e] L]e]i@e]L2^e]L]e]_L]8e] e]L2^e]L^e]ɠL^e]i@e]L2^e]L2^e]L2^8e] e]f]gB}]e]f]g]d]L]`]l]L]`L]^S^R^Y^ȌX^R^^S^^^X^^Y^L^aT^T^L^T^T^L^X^Y^Lx^`a^LC}^ T^^^^^ʹ^L^ͭ^^I^^^L^`^L^z^y^IL _^m^^i^^^D}`LH_B_  XD_ȌC_dB_ "T___C__D_L_LC_D_Lx_ X` qtpE}_)p鸀쀈㉀_DD1:LEVELDAT.SCR>_=_ W ;W>_=_ W /L_9_p DDBF} DDDDDDDDDDDDDDDDDDDDDDA灁L`L`(ؠG}㩠`_ h]L`(Load Save Dir Menue Edit  `Ǣ h]L)a(X: Y: PIECE: H} a( h]`___LGa_m_7aa87a MV_m_7aa<7a MVa@_ MVLa a|* h]La a0 h]LaI} a: h]a8* h]a<0 h]a@: h]_ۢA h]`LaR ` Da"`_ WT#`-`J} WT.`+`10 ` LVbObNbNb "T_e_eOb "TeQbK}eRbPbPbL-cPb "TeeQb`Pb "TeeRbQb WT`QbiL}PQbRbiRbPbLb`bXbLL7c z\`wx ;[xI Lqcͥ_Lqc8__ DaxILc_ Lc_ Da_M} "T_e2c_e3c82c&`82c3c WT'`2ci)`2ci3ci WT*` Z^ .cN} [.cxI YLQc YLBd_LGd_`Od_LRdL~d(Color 1 Color 2 Color 3 Farbe EXIT dU h]JdO}Hd2 Z^ YIdIdI LdHdLd8HdHd E_IdILdHdLdHd E_Hd "TeMdeNdNdMP}d ^ Z^NdMd ^ YLdHdLeHdLeJdL_eHdiHdLeHd WTKdHd TLdQ}LdLdILeLdKd "TLdeHdHdILeJdIJdJdLeLeFarbe eۢ h]L fLfHelligk.eR} h] Z^HdILdLJf(File Color Clear Quit Exit  f! h]` pLafLf(File Color Clear Quit ES}xit  fd h]Xf2 Z^ YYfYfI LfXfLf8XfXf E_YfILfXfLfXf E_Xf "TT}e\fe]f]f\f ^ Z^]f\f ^ YLfXfL#hZfDmZfi ^ ^[f E_DmZfi ^U}[fI~LgZfLg8ZfZfLh`[fLg[fzLgDmZf8[f@Zfi8[f _ZfLh/[fLh[f:LhDmZf8V}[f Zfi[f_ZfZfILHgXfIL7h Od2 Z^XfILPh__ DYXfILdhXf_XfILfLh(Load W}Save Dir Menue Edit  hq h]` p]`_L_LhXILhLh X/ \ 6XLi$ PhoeniXX} SoftCrew - Catapill Editor h NU 6XLNi'---------------------------------------i& NU HULfiD1:*.SCRi]Y} Uhhh vUmhh 6X hh NUhILihhLihhI Li HU"/ YLi a #[`LiZ} X/ HU_۩ U__ Z Z HU a"/ #[`LHj X/ HU_۩ U[}__ Z Z HU a"/ #[`"/Ljjj "Tejejjj ^2 Z^jj ^\} YjjI Lk͝jLk8jj E_jIL2kjL2kj E_j "Tejejjj ^ Z^]}jj ^ YjI jI LjjLk ijILk EjjILk hjILk ^fjILkjILk_Lk_`kL^}k_m_ "T_e_e_m_ "Tekek8_ "Ti_}k_LlkkkkkkkiOkkikkkkkkkL1mkkkk`}kkkkikiOkkikkkkikkkkki`kiL:m2 Z^4m Y2m2mI a}Lmͦ_Lum8__Lmͨ_Lm8____ Sb Da2mILm_Lm_Lm_Lm___ Sb Da2mILnͧ_Lb}m8__Lnͩ_Ln8____ Sb Da2mI L9n_ L n_L6n_ L6n___ Sb Da2mILHn z\_ c}"T0e_ "TEe`w ;[ 3m [3m Z^ YLn_ILn kI!Ln4md}_4mILKm`ILnj_aSaS Z H]n/L%oD:CATAPILL.FNTno \n HULJo D:EDITOR.DAToe}= U__ Z HULoD1:LEVELDAT.SCRor_ Y io Sb C_____"/f} #[_Lo 4cLo_ILo jLo_ILo 7m_ILo \ X``n Sb C_____"/H9W (c) PSC-ACTION! (parts by A.C.S)  B JKIHiDiELV`LS9h} S9 BLV`mL99l L9 &` Fj`8冨凪` 9EӅӥi} 9`ʆǪƩ Ɛee` 9ƦʆǢ &Ɛeǐ : :L9 9'&&&8儨児j}祂*L9&&*ń8&&L9 q:`hihiHHȱȱL9c !#3`k}L9JJJJ`H 9h`Hȩh 9L; 9L; ;9L; C9L; I9H8l}`HhHh u;L; BHI V䅠L; L; S9L;Ԇ ؠPIPP`m} ;P C9L;  BYTE2) BHIJKED r}VB>`Hh`h C>HI`L>8jj/ /j <:iijԩЩs}j <: .=`L ?/ /`mYRETL'? :?!? ?? <: ?e!?em? ?i!?t}8 ?!??e?e ?m?!?i?e?e???!? ? W=?m??i?` u}L? :??m??i? <:m?`L(@$@$@ <:ee .=`,Lc@]v}@]@L@^@m]@_@i]@Lh@` L@ :@ b;@@ +;@@ > b;`dy,xL@!o`)mYxL@ :w}@@ <:@e@@e@@ <:@@@@ $?@ <:i@i@ix}@@ $?`yLwAsA8jsAjW q b;`LB B B b; B B +;%>$> > ;6> ;7> ;z}8>9> b;`LmB==ILB==m>+>*>>> @`mLBB͞BLBLB8 jB{}LBBLB`FLBBBL(CɠL"C jBLCBLB`)L-C)C)CLrCLlC8|} jBLdC)CL2C`LwCsCsCLCɘLC jBLCsCL|C`xLCCʹCLC8>> j}}BLCCLC`LCCCLD> jBLDCLC`uLDDDLFD8>> jBL8DDLD` LKDG~}DGDLsD> jBLeDGDLPD`LwD d <2 <>LDLD|>LD CLD BLD C8>>} <`LD d <2 <>L%EɠLE>ɞLE CLE BLE C> jB <`L,E d <2 <} >LELuEX>LoE DLrE *CLxE D8 > > jB <`LE d <2 < >$LEɘLE>ɘL}E HDLE tCLE HD > jB <`,93)LEEEEi <:$>e%>eEi <:eEe}EEEEiPEEiEEEȑ`LFFFF> FFFFFF}F̀FLGFLGFIFIFI FI LG/>.>+>*> W=L)G3>2>+>*> W=F+>*>>}> @F>FF>F̀FLtGLfGFLWGFI FILG/>.>+>*> W=LG3>2>+>*> W=} jB`@ ULGGGGi <:$>e%>eGi <:eGeGGG` sy}=yyL=H :2H2Hi <:$>e%>e3Hi <:e6He7H4Hi <:}$>e%>e5Hi <:e8He9H8H9H6H7H6H7H8H9H8H9H6H7H}6HiO6H7Hi7H8HiO8H9Hi9H8H9H6H7H6H7H8H9H8H9H6H7H`09 THLI :IIi} <:$>e%>eIi <:eIeIIIIIIIIIiIiO}IIiIIIIiIIIIIi`LgJbJaJbJaJ GcJcJLJcJcJLJ cJ <: } < AcJLJ < bJaJ I`YLJJJJiJm> GLOKJm>JJJ :HJJ E AJm>J}iJm>J :HJm>J I`YLUKQKPK8PKQKm> GLKQKm>PKQKPK :HQKPK E AQKm}>8PKQKm>PK :HQKm>PK I`LKKKKm>8K GL]LKm>KKK :HKK }E AKm>Km>8KK :HKm> K I`LcL_L^L^Lm>_Li GLL^Lm>_L_L}^L :H_L^L E A^Lm>^Lm>_Li_L :H^Lm>_L I` ax=xLL :LLLiL GLLmL}IL&ML8LL GLLmLILRMLLiL GLLmLIL~ML8LL GL}LmLILMLL` LMMM  <]MM IMi]M IMiMi] IMi8M]} I8M]M I8MMi] I8M8M] IMi]M I8M]M Id A <Mi}M EMiMi EMi8M E8MM E8MMi E8M8M EMi}M E8MM EMM E` RL7O.O-O/O/O.O-O G0O-Om>-O.Om>.O0O40OI-0OI &0OI0OI 0}OI0OI /OLBO0O3O8-O>1O8.O>2O8-O>-O8.O>.O/OLO0O0OI LP/OLP 2 <0O/O}PP0OLLP8-O>-O8.O>.O-Om>.Om>.O-O :H0OL P.O-O E <-Om>.Om> G0O0OIq 0OIm}LP-Om>.Om>0O L0O0OILP-Om>.Om> M/OLtQ3OI LP2O1O dJ3OIL Q>L Q82O>}1O J3OI L.Q>L.Q81O>2O K3OILQQ>LQQ81O>2O `L3OILtQ>LtQ82O>1O RK` mL}Q} >>wQvQyQxQxQvQ GuQvQwQvQI( wQI uQILQvQI( wQILQwQvQxQyQxQI yQI uQILQ8v}Q >8xQ>wQvQ <:8vQwQyQxQ <:8xQyQvQwQLR>mvQmwQ8}阍>wQvQxQyQLR>mxQmyQ8項i>yQxQvQwQLR 8vQvQwQwQ}xQyQL%S 8xQxQyQyQL%SvQ wQL@SxQ yQLRuQuQL[S EuQLHSuQuQLsS )EuQL`}SuQuQLS DuQLxSuQuQLS tDuQLS`LS6>)7>)8>)SͤSLTSͥSLSSS6>L}SSSLS ASLS`E2.MPA"2> MoveBlock (L(T > @ tA T/LPTD1:CATAPILL.FNT TT@ A ԭ TkLzT}D1:TOPLINE.FNT TiTk A Ti b;LTD1:TOPLINE.SCRT +;YX > b;LTD1:LEVELDAT.SCRT͢T ~}=T BLU D:RAUPE.MPAT/>.> @LU D:RAUPE2.MPAU3>2> @/>.>+>*> W="/ ? ?  ?} ?  ? 0 0#T$T#Ti$Ti #Ti$Ti7>L>'>&>LU>Ȍ>>= }S zQ> > E F jB =IT>>TIL!V >>L_VTIL5VȌ >>L_VTILLV >>L_VTIL_V >Ȍ>} >m>>m> G T >M>LV T TI TI TI TILVTILV tDTILV DTILV )ETILV} ELV >m>>m> 4OLWTLW > F ALU``%T TILVTILV tDTILV DTILV )ETILV@@4TPSC+&'**''''**'''**/*****>*** }**ꪫꫯ:***뮫뮻뮫 }ꪺ뮻뮻**:***ꮫ }몪ꮫ몪몪ꮫ몪몺**ꪫ:* }** **>***'**''''**'' }''**       **.**?**?**+ **  }**?*/*/*****/*?**ʏ⣢⿢ }諨諨**>+***?**+*/***/***ʋʋʏ }⣢⣯󣢢諨諯**+**+*/**++/*+****+**ʋʋʋ }򣢢⣲򣿢诸**+***/>*+****+*?*/**?** }˿󯢢⯢迨**/***/>**?****:>* }*+****?/***>>**+ }***//**?**Ͽ򯾾⣢诨诨**/?> }?>>***/**?+***?**ʏʋ⣿諿 }**+/**>***>*/+?**+**ʋϏʋ⣢򢢢 }**+*/*****+**/**ʿ򣢢 }**TUU(TU/TWU!U*TUJUUTU**UU?UUTUWUU?TUJUUTURWU?UU }TU_UUTUBUUTUPWUUUTU_U|U TUHUUTU**JUU_UUTU_U!|U?*TuJUUTU**JUU_UUW }OU|UTJUUTU"UUWUUWO}U|UTBUUWU(UUUUUWKUUTHUUWU***UU}UUU!WJU! }U*TJUUWU**TUUT?JU_UTJUUWUTUUTUBW_U#TBUUWUPUUTUHW_U }T?HUUWU***JUUUU**TUJWWU.*TUJUUWU**JUUUUTUJWWUTUKUUWUBUUUUTUBUUTUTUC }UUWU(UUUUTUHUտTUTUOUUWU****UUUU!**TUJU?TU *TUUUWU**TUUUTU UTU TUUUWU }TUUUTU"TUTU_UTUUUUTU(TU?TU_TU****RUUU(**TU*UU*?*RUTU** }JWUTU_UURUTUB]UTUUUUU<RUTU(]UTU_UUUU??PUUUTU**]U }***TUTUUUU*?*RUUU#TU** ]UTUTUUUU?JUUUTU"]UTUTUUUUBUUTUH]UTU }PUUUUHUUTU****JWU***TU*RWUUU***UU!TU**RUUUTUJUUUU uUUUUTUUUUTUB]UUU }"UUTUTUUUTU(]UUU UUUUTU****TUUU!**TU**uUUU***UUUU!TU** UUUUtUUUU }RWUUUTU"UUUUtURWUU B]UUUTUHUUUUtUH}UU(uUUUTU***JUUUU**W** UU****W }UU!TU**JUUUUTU PUURUUUTURUUTUUUTUUTUPUU@UUTU }***TUU!**JUU!TU**TUUJUUTU"UUUPUUBUUTU(UUHUUHUUTU**J]UJUU*** (***JUU!TU }**JUUJUUTUJUUTUJTURWU"UUtUBWUTUBTUUU(UUUUH]UTUHTU**_U!*TUU( }U**J]U(TU*** *TU**TUUTUURU UUTU TUUURUUBU"UUTURUUUUPUUHUTUTU(T }UUUU**JUU*U**TU(TU(****uUUUU**JUU UTUTUJ]UUUU"UUTRUTRWUUUU(UUUTPUT }UU**UUU(R**JU(T****tUU**TUURJUT uUUTUUR"UT"]UUPUUH(UT }(]UU**RUUJ**U(T(***JUU**JUU TTJWUUBUU"RRUU(UUPPU }U**UUU(**R(****RUU**UUUJRUUTUUBRUUTUU(TUU**RUU! } **( ****TUU**RUU TUUBUU" TUUHUU(TUU **UU**TU** UUU }TU TUUTU TUUTU **RUU!**TU** RUUTUU BUUTUU HUUTUU } **UU**RUU**  UURUU "UUURUU TUUPUU **TUU!**RUU** RUUJWUU R }UUBUU HUUH]UU **JUU**]UU**  UU uUU "UUtUU UUUUU **TUU( }**UU** UURWUUUU RUUB]UUUU PWU(UU **JWU**TUUUU** J}URUUUU "UU }UUUU ('**''''**''*,(c)1991 PhoeniX SoftCrew  B J }KIHiDiELV`L1* 1* BLV`L**l L*L*JJJJ`H }ȩh f*L* *L*S:*E:*H * ** * *h)0I**L*L2+Y'+X&+ }T)+4(+.+-+(+)+*+*+M@L,8(+(+)+)+(+)+*+8(+(+)+)+(+)+++8(+(+)+) }+Ȍ,+++++,+L,&+'+*+&+'+-+m*+-+.+i.+,+L+L?,&+'+*+&+'+8(+(+)+)+-+m*+-+ }.+i.+8&+X'+YLN+`La, */ /+\,],D\,i],i\,i],i6/``^,0 }2LZ0L~1L1ppD@t tttttttttttttttttttttTA 0,3  Z02 }X 0Y 00 \`M) 0) G1) 1) )1 c1ԭ 1 1Ӎ1Lb }iP`i`8`8P`  }`01 001`01``00iPD0`Hk ԍ ԭЭЭЍ ԭ }ЭЭЭЭh@Z09[ (c) PSC-ACTION! (parts by A.C.S)  B JKI }HiDiELV`LS9 S9 BLV` L99l L9 &` Fj`8 }冨凪` 9EӅӥ 9`ʆǪƩ Ɛee` 9ƦʆǢ &Ɛeǐ : } :L9 9'&&&8儨児祂*L9&&*ń8&&L9 q:`hihiHHȱ }ȱL9c !#3`L9JJJJ`H 9h`Hȩh 9L; 9L }; ;9L; C9L; I9H8`HhHh u;L; BHI V䅠L; L; S9 }L;Ԇ ؠPIPP` ;P C9L;  ($100), &> raupe2($ }100), T boom ($100), T cols(3), T color(3)=$3CE, Ta &> save1($21), T }D save2($21) T( T TINCLUDE "D:TGINC.ACT" T TPROC Count (BYTE xx,y`````` }00``` 0` 88 `0 ```00`````` }  0`pp`0  >?) B }HIJKED V0@`Hh`h 1@HI`L@8jj/ /j <: }iijԩЩj <: .=`L@/ /` IF z+2 THLA :AAAA <: }AeAemAAiA8AA Ae AeAm AAi Ae AeA AAAA }W= AmA AiA`TURLA :AAmAAiA <:mA`LBBB <:e }e .=`aur LRB :KB b;NBMB +;LBKB s@ b;`aur LB!o`1,93) TwLB :BB <: }BeBBeBB <:BBBB AB <:iBiBiBB A`TL }3C/C8j/CjW q> s@ ;*> ;+> ;,>-> b;`L)D }==IL;D==m>>> B`PL^DZDZDLDLD8 &DLDZDLcD`1LD }DͤDLDɠLD &DLDDLD`xLDDDL.EL(E8 &D }L EDLD`=L3E/E/ELoEɘLiE &DLaE/EL8E`TLtEpEpELE8 &DLEpELyE }`yLEEͣELE &DLEELE`>LEEELF8 &DLEELE` LFFFL/F &D }L!FFL F`L3F d <2 <LFL|F|LvF qELyF [DLF qE8 <`LF d < }2 <LFɠLFɞLF ELF DLF E &D <`LF d <2 <L@GL }1GXL+G EL.G DL4G E8 &D <`LGG d <2 <$LGɘLGɘLG FLG 0ELG F } &D <`sy) LGGGGi <:>e>eGi <:eGeGGG }GiPGGiGGGȑ` scLVH;H;H H>>> W=LH#>">>> W=> B;H>;HOH }>>>> W=LvI#>">>> W= &D` LI{IzIz }Ii <:>e>e{Ii <:e|Ie}I|I}I`yy==+1 TLI :IIi } <:>e>eIi <:eIeIIi <:>e>eI }i <:eIeIIIIIIIIIIIIIIiOIIiI }IiOIIiIIIIIIIIIIIII` LXK :PKPKi <:> }e>eQKi <:eSKeTKSKTKRKSKTKSKTKRKiSKiOSKTKiTKSKTK }RKiSKTKSKTKRKi`L"LLLLiLm ~ILLLmLLL ILL G JCLmLi }LmL ILmL UK`=cLLLL8LLm ~IL&MLmLLL ILL G JCLm }8LLmL ILmL UK` L,M(M'M'Mm8(M ~ILM'Mm(M(M'M I(M'M }G JC'Mm'Mm8(M(M I'Mm (M UK`LMMMMmMi ~IL8NMmMM }M IMM G JCMmMmMiM IMmM UK`00+L?N:N9N:N9N ~I;N;NLN;N;NLN8 };N;N q:8嬅 < JC;NL`N < :N9N UK`veBloLN :NNNiN ~INNmNILN }N8NN ~INNmNILONNiN ~INNmNILEON8NN ~INNmNI }LqONN` =L|OxOwO  <]xOwO UKwOi]xO UKwOixOi] UKwOi8xO] UK8wO }]xO UK8wOxOi] UK8wO8xO] UKxOi]wO UK8xO]wO UKd JC <wOixO G }wOixOi GwOi8xO G8wOxO G8wOxOi G8wO8xO GxOiwO G8x }OwO GxOwO G`N ChangLPPPPPPP ~IPPmPPmPP4PI-PI &PIPI PIPI } PL QPP8PP8PP8PP8PPPLQPPI LRPLR 2 <PPQQP }LR,8PP8PPPmPmPP IPLQPP G <PmPm ~IPPIq PImLRPm }PmP NPPILRPmPm yOPL;SPI LRPP }S=S@S?S?S=S ~IS=SI( >SI SILS>S=S?S@S?SI @SI S=S <:8=S>S@S?S <:8?S@S=S>SLPTm=Sm>S8阍 }>S=S?S@SLTm?Sm@S8項i@S?S=S>SLT 8=S=S>S>S?S }@SLT 8?S?S@S@SLT=S >SL U?S @SLT`^@LU*>)+>),>) U ULpUU }ULeUUU*>L_UUUL>U JC UL/U`4LuU B BqUqULUdmqUqU q: < JCqULU } UK>LU!>6 W=>! W=L&V!> W=>!6 W= G>I> &D }< JC` # Font_LLRVLLWLtV rUI LV rU LVGVLV GV LVCVLVCVi }imGVKViLVii .=LVmCVЩLW <:.@e/@e } LVKV W=`! MPALWWNWMWQWOWOWLXPW PWLWQW &> BOWILWNWMW G JCOWLeW <`2,10&> PM_Col (0,0L&X @ }/m=m @ B 0Ck/LjXD1:CATAPILL.FNTkXZ ~C kiLXD1:TOPLINE.FNTX ~C b;LXD1: }TOPLINE.SCRX +;YX s@ b;LXD1:LEVELDAT.SCRXڢX ~=X CL Y D:RAUPE.MPAY>> OBL,Y D:RAUPE2.M }PAY#>"> OBLIY D:BOOM.MPAY>'>&> OB>>>> W="/ @ A  A A  A 0 }0!X"XĠ!Xi"Xi!Xi"Xi!Xi"Xi>>LY>= U AS G } SH>!> W=`^^LIZ #X &D OV> =IDZ> '= >DZILZ>LZDZILZȌ>L }ZDZILZ>LZDZILZ>Ȍmm ~IEZ>M>L[EZ EZLF[EZLF[DZIL[ 0FD }ZIL)[ FDZIL6[ FDZILC[ DGL[EZIL[ >Lt[mm PL[EZL[mm TWL[ }DZL[> SH JCLWZ``FZLC[ DGL[EZIL[ >Lt[mm PL[EZL[mm TWL[ ;********************************;** **;** Phoenix SoftCrew ACTION! **;** Programme und Tips !}f. 8Bit **;** **;** Carsten Strotmann **;** An der Kreutzbrede 20 **;** "} **;** D- 4410 Warendorf 1 **;** (02581) 8920 **;** **;#}********************************; Programmname:CATAPILL The Game; Programmierer:PSC/Carsten Strotmann; Filename:TG.ACT; $}erste Version:02.07.90; letzte Aenderung:19.03.93; Zweck:; Bemerkung:;;INCLUDE "D:SYSTEM.ACT"MODULEBYTE sflg=$03C6,%} phase, direc, ; Richtung Joystick px=$3DA,py=$3DB, ; Playerposition ax=$3DC,ay=$3DD, ; Absolute Position&} dx=$3DE,dy=$3DF, ; Richtungen hx=$3E0,hy=$3E1, ; Abweichung zum Zentr. pp,sti,str,player, consol=$D01F'}CARD hpixz=$3CA,vpixz=$3CC, svscrol=$3C0, shscrol=$3C1, plf=[$2003], rtclok=$12, points,copadr=$3C2 BYT(}E ARRAY raupe ($100), raupe1($100), raupe2($100), boom ($100), cols(3), )} color(3)=$3CE, save1($21), save2($21) INCLUDE "D:TGINC.ACT"PROC Count (BYTE xx,yy)B*}YTE c c=Look (xx,yy) IF c#0 THEN FOR c=1 TO 20 DO Sound (0,192-c,14,14-(C/2)) Pause (1) OD SndRst () FI +}Restaur (xx,yy,9)RETURNBYTE FUNC ChkLS (BYTE xx,yy,u)BYTE res,z res=0 z=Look (xx+1,yy) IF z+u=222 THEN res=1,} FI z=Look (xx-1,yy) IF z+u=222 THEN res=1 FI z=Look (xx,yy+1) IF z+u=222 THEN res=1 FI z=Look (xx,yy-1)-} IF z+u=222 THEN res=1 FIRETURN (res) PROC BoomK (BYTE xx,yy) Sound (0,6,4,10) Restaur (xx,yy,93) Restaur (x.}x+1,yy,93) Restaur (xx+1,yy+1,93) Restaur (xx+1,yy-1,93) Restaur (xx-1,yy,93) Restaur (xx-1,yy+1,93) Restaur (xx-1,yy-1,/}93) Restaur (xx,yy+1,93) Restaur (xx,yy-1,93) Pause (100) SndRst () ClearK (xx+1,yy) ClearK (xx+1,yy+1) ClearK (xx+10},yy-1) ClearK (xx-1,yy) ClearK (xx-1,yy+1) ClearK (xx-1,yy-1) ClearK (xx,yy+1) ClearK (xx,yy-1) ClearK (xx,yy) RETURN1}PROC MoveBox (BYTE xx,yy)BYTE z,u,sx,sy,sc z=-1 DO z==+1 u=Look (xx,yy) xx==+dx yy==+dy UNTIL u=0 OR u=1 OR 2}u=9 OR u=21 OR u=13 OR u=17 OR u=25 OR z>3 OD sc=u sx=xx-dx sy=yy-dy xx==-dx yy==-dy IF z<4 AND u=0 OR u=9 AND z3}>0 THEN Sound (0,50,12,9) FOR u=1 TO z DO xx==-dx yy==-dy MoveK (xx,yy,xx+dx,yy+dy) OD ClearK (xx4},yy) SndRst () u=Look (xx+dx,yy+dy) IF u=113 OR u=109 THEN u=ChkLS (xx+dx,yy+dy,u) IF u=1 THEN Boo5}mK (xx+dx,yy+dy) FI FI FI IF z>0 THEN IF sc=9 THEN Count (sx,sy) FI IF sc=21 AND dx=0 THEN BLft (sx,6}sy-dy) FI IF sc=13 AND dy=0 THEN BUp (sx-dx,sy) FI IF sc=17 AND dy=0 THEN BDwn (sx-dx,sy) FI IF sc=25 AND d7}x=0 THEN BRht (sx,sy-dy) FI FIRETURNPROC PosR ()BYTE UCARD xx,yy ax=0 ay=0 xx=0 yy=0 DO DO u8}=Look(xx,yy) xx==+1 UNTIL xx=40 OR u=29 OD IF xx=40 THEN xx=0 FI yy==+1 UNTIL yy=24 OR u=29 OD ax=xx-19} ay=yy-1 xx==*8-hx yy==*16-hy IF xx>152 THEN px==+xx-152 xx=152 FI IF yy>160 THEN py==+yy-160+1 yy:}=160 FI DO IF xx>0 THEN sflg==%4 xx==-1 vpixz==+1 FI IF yy>0 THEN sflg==%1 yy==-1 hpi;}xz==+1 FI DO UNTIL sflg=0 OD UNTIL xx=0 AND yy=0 ODRETURNPROC Blend ()BYTE u,c color(0)=cols(0)&<}$F0 color(1)=cols(1)&$F0 color(2)=cols(2)&$F0 FOR u=0 TO $F DO FOR c=0 to 3 DO IF color(c)}+c,12,C/2) Pause (1) OD Restaur (ax,ay,29) IF player = 0 THEN MoveBlock (save1,$3C0,$21) MoveBlock ($3C0,save2,$21?}) ELSE MoveBlock (save2,$3C0,$21) MoveBlock ($3C0,save1,$21) FI ClearK (ax,ay) player == ! 1 ARaupe () SndRst ()@} Pause (2)RETURN PROC ShowTime ()BYTE hpos1=$3D7, hpos=$D000, t1=$12, t2=$13, xv, yvCARD pmadr=$2D5, adrIF t2>A}$1 OR hpos1=0 THEN t2=0 t1==+1 IF t1>19 THEN t1=0 Change () FI IF t1=10 THEN Change () FI IF t1<5 OR t1>14 THEB}N yv=0 ELSE yv=$B FI IF t1<10 THEN xv=7 ELSE xv=0 FI adr=pmadr+$11D+yv Zero (pmadr+$11D,$18) sflg=$10 DO UC}NTIL sflg=0 OD hpos1=$BE+xv hpos=hpos1 sflg=$10 DO UNTIL sflg=0 OD MoveBlock (adr,timpl+$C*t1,$C)FIRETURNPROC BoomBD}ox (BYTE xx,yy)BYTE u,x,zBYTE ARRAY hpos=$3D2 z=0 FOR u=0 TO 7 DO FOR x=0 TO 10 DO Sound (0,z,0,15) E} z==+1 OD Animate (0,px+(dx*8),py+(dy*16),u,boom) IF u=4 THEN ClearK (xx,yy) FI Pause (2) OD SndRst ()RETURF}NPROC MainInit () BYTE chsalt=$26B, chbas =$2F4, dmactl=$22F, nmien=$D40E,chr, crsinh=$2F0 CG}ARD savmsc=$58 BYTE ARRAY file (20),scolor=$2C4 hx=$20 hy=$40 px=47+hx py=61+hy PM_Init () MPA_Set () chsalt=SeH}t_Ramtop (8) dmactl=0 Font_Load ("D1:CATAPILL.FNT",chsalt) nmien==%$C0 chbas=chsalt+4 Font_Load ("D1:TOPLINE.FNT",chbasI}) Close (1) Open (1,"D1:TOPLINE.SCR") BGet (1,savmsc,160) Close (1) SCopy (file,"D1:LEVELDAT.SCR") Screen_Load (filJ}e) MPA_Load (raupe1,"D:RAUPE.MPA") MPA_Load (raupe2,"D:RAUPE2.MPA") MPA_Load (boom,"D:BOOM.MPA") MoveBlock (raupe,raupe1K},$100) dmactl=34 PM_Set () PM_Col (2,0,6) PM_Col (3,2,10) PM_Col (0,0,7) PM_Col (1,0,12) crsinh=1 Dspl () Init ()L} scolor(0)=$C4 scolor(1)=$1A scolor(2)=$86 scolor(4)=$0 points=0 sflg=$F0 DO UNTIL sflg=0 OD dx=1 dy=0 direc=M}2 phase=0 Blend () PosR () ClearK (ax,ay) Dreh(0) player=0 MoveBlock (save2,$3C0,$21)RETURNPROC Main () BYTE sN}t,chr MainInit () ARaupe () rtclok=18 DO ShowTime () st=Stick(player)!$F str=Strig(player) dx=0 dy=0 IO}F st=1 THEN sti=0 dy=-1 ; OBEN ELSEIF st=2 THEN sti=1 dy=1 ; UNTEN ELSEIF st=4 THEN sti=2 dx=-1 ; LINKS ELSEIFP} st=8 THEN sti=3 dx=1 ; RECHTS FI chr=Look (ax+dx,ay+dy); PRINTB(CHR) IF sti=direc THEN IF chr=0 OR (chr>12 Q}AND chr<26) THEN IF st=1 THEN Up () FI IF st=2 THEN Down () FI IF st=4 THEN Left () R} FI IF st=8 THEN Right () FI ELSEIF chr#29 THEN IF str THEN MoveBox (ax+dx,ay+dy) ELSEIF chrS}>25 THEN BoomBox (ax+dx,ay+dy) FI FI ELSEIF st#0 THEN Dreh (sti) Pause (5) FI ODRETURN ELSEIF chrs ;********************************;** **;** Phoenix SoftCrew ACTION! **;** Programme unU}d Tips f. 8Bit **;** **;** Carsten Strotmann **;** An der Kreutzbrede 20 **;** V} **;** D- 4410 Warendorf 1 **;** (02581) 8920 **;** W} **;********************************; Programmname:Playground-Editor; Programmierer:Carsten Strotmann; Filename:EDIT.AX}CT; erste Version:23.04.90; letzte Aenderung:24.04.90; Zweck:; Bemerkung:;;INCLUDE "D2:SYSTEM.ACT"INCLUDE "CATAPILL.Y}INC"MODULEBYTE mode,piece,ex,ey,vx,vyBYTE ARRAY plf(3700),ps(270),ls(41),cl(81)=$8500,fn(17), col(0)=$3C0,dl(Z}60)=[ $70 $20 $C2 0 0 $20 $44 0 0 $44 0 0 $A0 $42 0 0 0 $82 $20 $44 0 0 [} $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $\}44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 $44 0 0 ]} $41 0 0], frame(17)=[ $E7 $E7 $81 $81 $81 0 0 0 0 0 0 0 $81 $81 $81 $E7 $E7]P^}ROC Titel() MWrite (ls,"ؠ젨㩠") MWrite (cl,"Load Save Dir Menue Edit  ")_} MWrite (cl+40,"X: Y: PIECE: ")RETURNPROC Status () BYTE v BYTE ARRAY x(4),y(4),p(4) v=ex`}+vx StrB (v,x) v=ey+vy StrB (v,y) StrB (piece,p) MWrite (cl+42," ") MWrite (cl+48," ") MWrite (cl+58," ") MWria}te (cl+42,x) MWrite (cl+48,y) MWrite (cl+58,p) MWrite (cl+65,fn)RETURNPROC Dl_Init () BYTE lmargn=$52,nmien=$D40E,scb}ol1=709,scol2=710 CARD sdlstl=$230,vdslst=$200 lmargn=0 Titel () Status () dl(3)=ls dl(4)=ls/$100 dl(14)=cl dl(15c})=cl/$100 scol1=0 scol2=43 sdlstl=dl vdslst=$0600 nmien==%$C0RETURN PROC Scroll (BYTE vx,vy) BYTE a CARD pp d}pp=plf+vx*2+vy*160 FOR a=0 TO 21 DO dl(20+a*3)=pp dl(21+a*3)=pp/$100 pp==+80 ODRETURN PROC Choose () BYTE st=$e}278,col CARD adr P_Clear (1) P_Pos (1,120,30,frame,17) DO IF st=11 AND piece>0 THEN piece==-1 Status () FI f} IF st=7 AND piece<32 THEN piece==+1 Status () FI adr=ps+piece*3 dl(7)=adr-1 dl(8)=(adr-1)/$100 dl(10)=adr+g}135 dl(11)=(adr+135)/$100 Pause (15) PM_Col (1,col,10) col==+1 UNTIL st=13 OR Strig(0)=0 OD IF Strig(0)#0 THEq}CB&DOS SYSB=*CEDIT COMB>gC COMB{CTG2 COMB4 TG ACTB<TEDIT ACTB6TGINC ACTB,SYSTEM ACTBBOOM MPABRAUPE MPABRAUPE2 MPABSMOKE MPABEDITOR DATB LEVELDATSCRB'TOPLINE SCRB&/CATAPILLSRCBUCATEPILLCOMB ZCATAPILLFNTB cFONT FNTB lTOPLINE FNTBuCATAPILLINCN mode=1 ELSE mode=2 FIRETURNPROC Color () BYTE cmd,st,flg,lum,hue BYTE ARRAY coltab(0)=$3C0 CARD v MWrite (cr}l,"Color 1 Color 2 Color 3 Farbe EXIT ") flg=0 cmd=4 Pause (50) DO DO st=Stick(0) IF st=11 AND cmd>0 THEs}N cmd==-1 Klick (1) FI IF st=7 AND cmd<4 THEN cmd==+1 Klick (1) FI v=cl+cmd*8 Inv (v,7) t} Pause (15) Inv (v,7) UNTIL Strig(0)=0 OD IF cmd>=0 AND cmd <3 THEN IF flg=0 THEN coltab(cmd)==+$10 Eu}LSE lum=coltab(cmd)/$10 hue=coltab(cmd)MOD $10 hue==+1 IF hue=$10 THEN hue=0 FI coltab(cmd)=hue+v}lum*$10 FI FI IF cmd=3 THEN flg==!1 FI IF flg=0 THEN MWrite (cl+24,"Farbe ") ELSE MWrite (cl+24,"Hew}lligk.") FI Pause (20) UNTIL cmd=4 OD MWrite (cl,"File Color Clear Quit Exit  ")RETURN PROC Menux}e () BYTE cmd,st,pos,key CARD v MWrite (cl,"File Color Clear Quit Exit  ") cmd=4 Pause (50) DO DO y}st=Stick(0) IF st=11 AND cmd>0 THEN cmd==-1 Klick (1) FI IF st=7 AND cmd<4 THEN cmd==+1 Klick (1)z} FI v=cl+cmd*8 Inv (v,7) Pause (15) Inv (v,7) UNTIL Strig(0)=0 OD IF cmd=0 THEN pos=0 DO {}Inv (cl+68+pos) key=Inkey() Klick (1) Inv (cl+68+pos) IF key=$7E AND pos>0 THEN pos==-1 ELSEIF key>9|}6 AND key<122 THEN cl(68+pos)=key-64 fn(pos+4)=key-32 pos==+1 ELSEIF key>47 AND key<58 THEN cl(68+pos}})=key-32 fn(pos+4)=key pos==+1 FI UNTIL pos=8 OD FI IF cmd=1 THEN Color () Pause (50) FI ~}IF cmd=2 THEN Zero (plf,3600) FI IF cmd=3 THEN cmd=4 mode=3 FI UNTIL cmd=4 OD MWrite (cl,"Load Save } Dir Menue Edit  ")RETURNPROC Dir () BYTE dmactl=559,sdlstl=$230,col2=710,f,s,cr=752 BYTE ARRAY fnd(25) Gra}phics (0) cr=1 dmactl=0 col2=16 PM_Restore () Position (0,0) Print (" PhoeniX SoftCrew - Catapill Editor ") Positio}n (0,1) Print ("---------------------------------------") Close (1) Open (1,"D1:*.SCR",6,0) f=0 s=3 DO InputSD (1,}fnd) Position (1+f,s) fnd(0)=13 Print (fnd) IF f=15 THEN f=0 s==+1 ELSE f=15 FI UNTIL fnd(1)#32 OD C}lose (1) dmactl=$22 DO UNTIL Strig(0)=0 OD DL_Init () PM_Set ()RETURNPROC Load () BYTE dmactl=559,sdlstl=$230} Graphics (0) dmactl=0 Close (1) Open (1,fn,4,0) BGet (1,plf,3600) BGet (1,$3C0,3) Close (1) DL_Init () dmactl=$22} PM_Set ()RETURNPROC Save () BYTE dmactl=559,sdlstl=$230 Graphics (0) dmactl=0 Close (1) Open (1,fn,8,0) BPut (1},plf,3600) BPut (1,$3C0,3) Close (1) DL_Init () dmactl=$22 PM_Set ()RETURNPROC Command () BYTE cmd,st CARD v c}md=4 v=cl+cmd*8 Inv (v,7) Pause (50) Inv (v,7) DO st=Stick(0) IF st=11 AND cmd>0 THEN cmd==-1 Klick (1) F}I IF st=7 AND cmd<4 THEN cmd==+1 Klick (1) FI v=cl+cmd*8 Inv (v,7) Pause (15) Inv (v,7) UNTIL Strig(}0)=0 OR st=14 OR st=13 OD IF cmd=0 THEN Load () FI IF cmd=1 THEN Save () FI IF cmd=2 THEN Dir () FI IF c}md=3 THEN Menue () FI IF cmd=4 THEN IF st=14 THEN mode=0 ELSE mode=2 FI FIRETURN PROC Set_Plot ()} BYTE plt BYTE POINTER adr adr=plf+(vx+ex)*2+(ey+vy)*160 plt=(piece-1)*4+1 IF piece=0 THEN adr^=0 adr==+1 adr^=0} adr==+79 adr^=0 adr==+1 adr^=0 ELSE adr^=plt adr==+1 adr^=plt+1 adr==+79 adr^=plt+2 adr==+1 adr^=plt+}3 FIRETURN PROC Editpf () BYTE st,col,end,ch=$2FC BYTE POINTER adr Pause (50) end=0 ch=$FF DO st=St}ick(0) IF st=11 THEN IF ex>0 THEN ex==-1 ELSEIF vx>0 THEN vx==-1 Scroll (vx,vy) FI Status () FI} IF st=7 THEN IF ex<19 THEN ex==+1 ELSEIF vx<19 THEN vx==+1 Scroll(vx,vy) FI Status () FI IF }st=14 THEN IF ey>0 THEN ey==-1 ELSEIF vy>0 THEN vy==-1 Scroll (vx,vy) FI Status () FI IF st=1}3 THEN IF ey<10 THEN ey==+1 ELSEIF vy<10 THEN vy==+1 Scroll (vx,vy) FI Status () FI IF st#15 THE}N P_Clear (2) FI P_Pos (2,48+ex*8,69+ey*16,frame,17) PM_Col (2,col,10) col==+1 Pause (10) IF Strig(0)=0 TH}EN IF mode#1 THEN Set_Plot () FI FI IF ch=33 THEN end=1 mode=0 ch=$FF FI UNTIL end=1 ODRETUR}N PROC Edit () BYTE colfnt=$3EA,sfont,prior=623,dmactl=559, ramtop=106 ramtop=160 piece=0 Error=DL_Init PM_}Init () sfont=Set_Ramtop (8) dmactl=0 Font_Load ("D:CATAPILL.FNT",sfont) colfnt=sfont Close (1) Open (1,"D:EDITOR.DAT}",4) BGet (1,ps,260) Close (1) SCopy (fn,"D1:LEVELDAT.SCR") Load () prior=1 Scroll (0,0) col(0)=4 col(1)=8 col(2)}=12 col(3)=15 col(4)=67 mode=0 ex=0 ey=0 vx=0 vy=0 dmactl=$22 PM_Set () DO IF mode=0 THEN Choose () EL}SEIF mode=1 THEN Command () ELSEIF mode=2 THEN Editpf () FI UNTIL mode=3 ODPM_Restore ()Graphics (0)RETURN}MODULEBYTE ARRAY timpl=[ $60$60$60$60$60$60$C0$C0$C0$C0$C0$C0$00$00$00$18$18$30$30$60$60$60$C0$C0$00$00$00$00$00$00$0C$1}8$30$60$C0$80$00$00$00$00$00$00$00$00$03$0C$38$E0$00$00$00$00$00$00$00$00$00$00$FE$FE$E0$38$0C$03$00$00$00$00$00$00$00$00}$80$C0$60$30$18$0C$00$00$00$00$00$00$C0$C0$60$60$60$30$30$18$18$00$00$00$C0$C0$C0$C0$C0$C0$60$60$60$60$60$60$00$C0$C0$C0$}C0$C0$C0$C0$C0$C0$C0$C0$03$03$03$03$03$03$06$06$06$06$06$06$03$03$03$06$06$06$0C$0C$0C$18$18$18$03$06$0C$18$30$60$C0$00$0}0$00$00$00$07$1C$70$C0$00$00$00$00$00$00$00$00$7F$7F$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$C0$70$1C$07$0}0$00$00$00$00$C0$60$30$18$0C$06$03$18$18$18$0C$0C$0C$06$06$06$03$03$03$06$06$06$06$06$06$03$03$03$03$03$03$03$03$03$03$03$}03$03$03$03$03$03$03]BYTE CIO_statusPROC Init=$3000 ()PROC Dspl=$3003 ()PROC Old=$3006 ()CHAR FUNC CIOQ=*(BYTE dev}, CARD addr, size, BYTE cmd, aux1, aux2)[$29$F$85$A0$86$A1$A$A$A$A$AA$A5$A5$9D$342$A5$A3$9D$348$A5$A4$9D$349$A5$}A6$F0$8$9D$34A$A5$A7$9D$34B$98$9D$345$A5$A1$9D$344$20$E456$8C CIO_status$C0$88$D0$6$98$A4$A0$99 EOF$A085$60]CARD FUNC Bg}et=*(BYTE dev, CARD addr, size)[$48$A9$7$85$A5$A9$0$85$A6$A5$A3$5$A4$D0$6$85$A0$85$A1$68$60$68$20 CIOQ}$BD$348$85$A0$BD$349$85$A1$60] PROC PM_Init () BYTE ramtop=$6A,sdmctl=$22F, gractl=}$D01D,pmbase=$D407 CARD pmadr=$2D5 ramtop==-16 sdmctl==%$1C pmadr=ramtop*$100+$400 pmbase=ramtop gractl=3} Zero (ramtop*$100,$800)RETURNPROC PM_Set () BYTE sdmctl=$22F sdmctl==%$1CRETURNPROC P_Pos (BYTE num,xpos,}ypos,CARD shape,BYTE len) BYTE ARRAY hpos=$3D2,pok=$0 CARD pmadr=$2D5,adr adr=pmadr adr==+num*$100+ypos pok(adr}-1)=0 pok(adr+len)=0 MoveBlock (adr,shape,len) hpos(num)=xposRETURNPROC PM_Col (BYTE num,hue,lum) BYTE ARRAY p}col=$2C0 pcol (num)=hue*$10+lumRETURNPROC P_Clear (BYTE num) CARD pmadr=$2D5 Zero (pmadr+num*$100,$100)RETURN}PROC MPA_Load (BYTE ARRAY shape,file) Close (1) Open (1,file,4) Bget (1,shape,$100) Close (1)RETURNPROC MPA_Set }() BYTE gprior=$26F,u gprior=$21RETURNPROC Animate (BYTE num,x,y,phase,BYTE ARRAY shape) CARD shapeph shapeph=sh}ape+phase*$10 P_Pos (num*2,x,y,shapeph,$10) P_Pos (num*2+1,x,y,shapeph+$80,$10)RETURNBYTE FUNC Set_Ramtop (BYTE page}) BYTE ramtop=$6A,crmode=$57 ramtop==-page Graphics (crmode)RETURN (ramtop)PROC Pause (BYTE times)BYTE u FOR} u=0 TO times DO sflg=$10 DO UNTIL sflg=0 OD ODRETURNPROC Font_Load (BYTE ARRAY file,BYTE page) Close (1) }Open (1,file,4) Bget (1,page*$100,$400) Close (1)RETURNPROC Screen_Load (BYTE ARRAY fn) Close (1) Open (1,fn,4,0}) Bget (1,plf,3600) cols(0)=GetD(1) cols(1)=GetD(1) cols(2)=GetD(1) cols(3)=0 Close (1)RETURNPROC ARaupe () }phase==+1 IF phase=2 THEN phase=0 FI Animate (1,px,py,phase+pp,raupe)RETURNPROC Scrolu () BYTE u FOR u=0 TO 15 }DO IF hpixz>0 THEN hpixz==-1 ARaupe () sflg=2 DO UNTIL sflg=0 OD FI ODRETURNPROC Scrold () BYTE }u FOR u=0 TO 15 DO IF hpixz<160 THEN hpixz==+1 ARaupe () sflg=1 DO UNTIL sflg=0 OD FI ODRETURNP}ROC Scroll () BYTE u FOR u=0 TO 7 DO IF vpixz>0 THEN vpixz==-1 ARaupe () sflg=8 DO UNTIL sflg=0 OD } FI ODRETURNPROC Scrolr () BYTE u FOR u=0 TO 7 DO IF vpixz<152 THEN vpixz==+1 ARaupe () sflg=4 DO }UNTIL sflg=0 OD FI ODRETURNPROC Pup ()BYTE u FOR u=0 TO 15 DO py==-1 Araupe () sflg=$10 DO UNTIL sfl}g=0 OD ODRETURNPROC Pdwn ()BYTE u FOR u=0 TO 15 DO py==+1 Araupe () sflg=$10 DO UNTIL sflg=0 OD OD}RETURNPROC Plft ()BYTE u FOR u=0 TO 7 DO px==-1 Araupe () sflg=$10 DO UNTIL sflg=0 OD ODRETURNPROC Pr}ht ()BYTE u FOR u=0 TO 7 DO px==+1 Araupe () sflg=$10 DO UNTIL sflg=0 OD ODRETURNPROC Up () Sound (0,}100,12,3) Sound (1,50,2,2) IF ay>0 THEN IF hpixz>0 THEN IF py>124 THEN Pup () ELSE Scrolu () FI ELSE} Pup () FI ay==-1 FI SndRst ()RETURNPROC Down () Sound (0,100,12,3) Sound (1,50,2,2) IF ay<18 THEN IF hpi}xz<160 THEN IF py<158 THEN Pdwn () ELSE Scrold () FI ELSE Pdwn () FI ay==+1 ARaupe () FI SndRs}t ()RETURNPROC Left () Sound (0,100,12,3) Sound (1,50,2,2) IF ax>0 THEN IF vpixz>0 THEN IF px>88 THEN Plft }() ELSE Scroll () FI ELSE Plft () FI ax==-1 ARaupe () FI SndRst ()RETURNPROC Right () Sound (0,}100,12,3) Sound (1,50,2,2) IF ax<36 THEN IF vpixz<152 THEN IF px<152 THEN Prht () ELSE Scrolr () FI E}LSE Prht () FI ax==+1 ARaupe () FI SndRst ()RETURNPROC ClearK (BYTE xx,yy) CARD POINTER ptn ptn=plf+(xx+1})*2+(yy+1)*160 ptn^=0 ptn==+80 ptn^=0RETURNPROC Dreh (BYTE sti)BYTE u,hBYTE ARRAY dr($10)=[ 0 0 3 7 0 0 3 7 3 3 0 0} 7 7 0 0 0 ], pps(4)=[4 4 0 0] u=sti u==%(direc LSH 2) h=u u=dr(u) IF u>0 AND u<$10 THEN IF h=6 OR h=7} OR h=9 OR h=13 THEN MoveBlock (raupe,raupe1,$100) ELSE MoveBlock (raupe,raupe2,$100) FI Animate (1,px,py,u,raup}e) direc=sti pp=pps(sti) FOR U=1 TO 5 DO sflg=$10 DO UNTIL sflg=0 OD OD IF sti=1 OR sti=2 THEN } MoveBlock (raupe,raupe1,$100) ELSE MoveBlock (raupe,raupe2,$100) FI ARaupe () FIRETURNBYTE FUNC Look (BYTE} xx,yy)BYTE POINTER ptn ptn=plf+(xx+1)*2+(yy+1)*160RETURN (ptn^)PROC MoveK (BYTE x1,y1,x2,y2)BYTE POINTER ptn1,ptn2} ptn1=plf+(x1+1)*2+(y1+1)*160 ptn2=plf+(x2+1)*2+(y2+1)*160 ptn2^=ptn1^ ptn1==+1 ptn2==+1 ptn2^=ptn1^ ptn1==+79 ptn2}==+79 ptn2^=ptn1^ ptn1==+1 ptn2==+1 ptn2^=ptn1^RETURNPROC Restaur (BYTE xx,yy,chr)BYTE POINTER ptn ptn=plf+(xx+1)}*2+(yy+1)*160 ptn^=chr ptn==+1 ptn^=chr+1 ptn==+79 ptn^=chr+2 ptn==+1 ptn^=chr+3RETURNPROC BLft (BYTE xx,yy) IF} Look (xx+1,yy+dy)=0 THEN MoveK (xx,yy,xx,yy+dy) ClearK (xx,yy) Pause (3) MoveK (xx,yy+dy,xx+1,yy+dy) Restaur (xx,y}y+dy,21) FIRETURNPROC BRht (BYTE xx,yy) IF Look (xx-1,yy+dy)=0 THEN MoveK (xx,yy,xx,yy+dy) ClearK (xx,yy) Pause }(3) MoveK (xx,yy+dy,xx-1,yy+dy) Restaur (xx,yy+dy,25) FIRETURNPROC BUp (BYTE xx,yy) IF Look (xx+dx,yy-1)=0 THEN }MoveK (xx,yy,xx+dx,yy) ClearK (xx,yy) Pause (3) MoveK (xx+dx,yy,xx+dx,yy-1) Restaur (xx+dx,yy,13) FIRETURNPROC B}Dwn (BYTE xx,yy) IF Look (xx+dx,yy+1)=0 THEN MoveK (xx,yy,xx+dx,yy) ClearK (xx,yy) Pause (3) MoveK (xx+dx,yy,xx+dx,}yy+1) Restaur (xx+dx,yy,17) FIRETURNHEN MoveK (xx,yy,xx+dx,yy) ClearK (xx,yy) Pause (3) MoveK (xx+dx,yy,xx+dx,+ MODULE ; SYS.ACTDEFINE EOL="$9B"DEFINE OpenBuf = "$0500"DEFINE OpenBufL = "$00"DEFINE OpenBufH = "$05"BYTE ARRAY cop}y_right(0) = "(c) PSC-ACTION! (parts by A.C.S)"; Primitive IO routinesPROC Clos=*(BYTE d)[$FFA2$A686$CA0$AD0]PROC Ou}tputq=*(BYTE d,BYTE ARRAY s)[$A684$BA0$4D0] PROC In=*(BYTE d,BYTE ARRAY s)[$A684$5A0$A586$A2$0$A386]PROC XIOstr=*(BYTE }d,x,c,a1,a2,BYTE ARRAY s)[$A0A$A0A$98AA$9D$342$A3A5$AF0$9D$34A$A4A5$9D$34B$A9$0$9DA8$349$A5B1$9D$348$12F0$18$A5A5$169$9D$34}4$A6A5$69$0$9D$345$4C$E456$60]PROC Opn=*(BYTE d,BYTE ARRAY s,BYTE m,o)[$A586$A684$3A0$4CXIOstr]PROC Prt=*(BYTE d,BYTE AR}RAY s)[$A586$A684$A2$0$A386$9A0$20XIOstr$AD0$BA9$9D$342$9BA9$4C$E456$60]PROC Error(BYTE err)[$6C$A$0$1113$8301]PROC Brea}k=*()[$BA$8E$4C1$80A0$98$4C Error]; math library routinesPROC LShift=*()[$84A4$AF0$8586$A$8526$88$FAD0$85A6$60]PROC R}Shift=*()[$84A4$AF0$8586$8546$6A$88$FAD0$85A6$60]PROC SetSign=*()[$D3A4$1010]PROC SS1=*()[$8685$8786$38$A9$0$86E5$A8$A9$}0$87E5$AA$98$60]PROC SMOps=*()[$D386$E0$0$310$20SS1$8285$8386$85A5$E10$AA$D345$D385$84A5$20SS1$8485$8586$A9$0$8785$60]P}ROC MultB=*()[$1BF0$CA$C786$AA$15F0$C686$A9$0$8A2$A$C606$290$C765$CA$F6D0$18$8765$8785$86A5$87A6$60]PROC MultI=*()[$20SM}Ops$82A6$1BF0$C686$84A6$15F0$CA$C786$8A2$A$8726$C606$690$C765$290$87E6$CA$F0D0$8685$82A5$85A6$20MultB$83A5$84A6$20MultB$4CS}etSign]PROC DivI=*()[$20SMOps$85A5$27F0$8A2$8226$8326$8726$38$83A5$84E5$A8$87A5$85E5$490$8785$8384$CA$E7D0$82A5$2A$A2$0$}83A4$8684$4CSetSign$10A2$8226$8326$2A$4B0$84C5$390$84E5$38$CA$EFD0$8226$8326$8685$82A5$83A6$4CSetSign]PROC RemI=*()[$20 D}ivI$86A5$87A6$60]PROC SArgs=*()[$A085$A186$A284$18$68$8485$369$A8$68$8585$69$0$48$98$48$1A0$84B1$8285$C8$84B1$8385$C8$84B}1$A8$B9$A0$0$8291$88$F810$11A5$FD0$11E6$4C Break$6308$1109$1819$2113$3323$60]SET $4E4=LShiftSET $4E6=RShiftSET $4E8=Mult}ISET $4EA=DivISET $4EC=RemISET $4EE=SArgsPROC ChkErr=*(BYTE r,b,eC)[$1610$88C0$8F0$98$80C0$11F0$4C Error$8A$4A4A$4A4A$}98AA$9D EOF$60]PROC Break1=*(BYTE err)[$1A2$1186$48$20 Break$68$A8$60]PROC Open=*(BYTE d,BYTE ARRAY f,BYTE m,a2)[$48$A1}86$A284$A8$A9$0$99 EOF$A8$A1B1$8D OpenBuf $A8$C8$9BA9$2D0$A1B1$99 OpenBuf $88$F8D0$68$A2 OpenBufL $A0 OpenBufH $20Opn$4C Chk}Err]PROC PrintE=*(BYTE ARRAY s)[$A186$AA$A1A4$A5device]PROC PrintDE=*(BYTE d,BYTE ARRAY s)[$20 Prt$4C ChkErr]PROC Close}=*(BYTE d)[$20 Clos$4C ChkErr]PROC Print=*(BYTE ARRAY s)[$A186$AA$A1A4$A5device]PROC PrintD=*(BYTE d,BYTE ARRAY s)[$20Out}putq$4C ChkErr]PROC InS=*()[$20In$A084$BD$348$3F0$38$1E9$A0$0$A591$A0A4$60]PROC InputS=*(BYTE ARRAY s)[$A286$AA$A2A4$A5d}evice]PROC InputSD=*(BYTE d,BYTE ARRAY s)[$48$FFA9$A385$68]PROC InputMD=*(BYTE d,BYTE ARRAY s,BYTE m)[$48$A186$A284$A0$0$A}3A5$A191$68$A2A4]PROC InputD=*(BYTE d,BYTE ARRAY s)[$20InS$4C ChkErr]BYTE FUNC GetD=*(BYTE d)[$7A2]PROC CCIO=*()[$A486$A}0A$A0A$AA$A4A5$9D$342$A9$0$9D$348$9D$349$98$20$E456$A085$4C ChkErr]PROC PutE=*()[$A9$9B]PROC Put=*(BYTE c)[$AA$A5device]}PROC PutD=*(BYTE d,BYTE c)[$A186$A1A4]PROC PutD1=*()[$BA2$4C CCIO]PROC PutDE=*(BYTE dev)[$A0$9B$F7D0]PROC XIO=*(BYTE d,f},c,a1,a2,BYTE ARRAY s)[$20XIOstr$4C ChkErr]PROC CToStr=*()[$D485$D586$20$D9AA$20$D8E6$FFA0$A2$0$C8$E8$F3B1$9D$550$F710$8}049$9D$550$8E$550$60]PROC PrintB=*(BYTE n)[$A2$0]PROC PrintC=*(CARD n)[$20 CToStr$A5device]PROC PNum=*()[$50A2$5A0$20 Out}putq$4C ChkErr]PROC PrintBE=*(BYTE n)[$A2$0]PROC PrintCE=*(CARD n)[$20PrintC$4CPutE]PROC PrintBD=*(BYTE d, n)[$A0$0]PRO}C PrintCD=*(BYTE d, CARD n)[$A085$8A$A284$A2A6$20 CToStr$A0A5$4CPNum]PROC PrintBDE=*(BYTE n)[$A0$0]PROC PrintCDE=*(BYTE d},CARD n)[$20PrintCD$A0A5$4CPutDE]PROC PrintI=*(INT n)[$A286$AA$A2A4$A5device]PROC PrintID=*(BYTE d,INT n)[$C0$0$1610$48$A}186$A284$2DA0$20PutD1$38$A9$0$A1E5$AA$A9$0$A2E5$A8$68$4CPrintCD]PROC PrintIE=*(INT n)[$20PrintI$4CPutE]PROC PrintIDE=*(B}YTE d,INT n)[$20PrintID$A0A5$4CPutDE]MODULE ; GRAPHIC ROUTINESBYTE ARRAY dev_S="S:", dev_E="E:"PROC Graphics=*(BYTE m})[$48$A9$0$20 Close$CA9$A385$A9$0$AEdev_E$ACdev_E+1$20Open$6A9$20 Close$68$A485$3029$1C49$A385$6A9$AEdev_S$ACdev_S+1$4COpen}]PROC Position=*(CARD c,BYTE r)[$5B85$5C86$5A84]PROC Pos1=*()[$5585$5686$5484$60]PROC GrIO=*()[$20Pos1$AD$2FD$8D$2FB$AD}dev_S$A585$ADdev_S+1$A685$A9$0$A385$A485$6A9$60]BYTE FUNC Rand=*(BYTE r)[$AE$D20A$C9$0$9F0$8486$A2$0$8586$20MultI$A086$60]}PROC Sound=*(BYTE v, p, d, vol)[$A$A284$A8$7C9$530$64A0$20 Error$998A$D200$A2A5$A0A$A0A$A305$99$D201$60]PROC SndRst=*()[}$AD$232$EF29$8D$232$8D$D20F$A9$0$8A2$9D$D200$CA$FA10$60]BYTE FUNC Stick=*(BYTE p)[$A2$0$2C9$330$E8$129$BDA8$D300$88$4D0$4A}4A$4A4A$F29$A085$60]BYTE FUNC STrig=*(BYTE p)[$BDAA$D010$A085$60]PROC Zero=*(BYTE POINTER a,CARD s)[$48$A9$0$A485$68]PRO}C SetBlock=*(BYTE POINTER a,CARD s,BYTE v)[$A085$A186$A284$A0$0$A4A5$A3A6$10F0$A091$C8$FBD0$A1E6$A3C6$F5D0$3F0$A091$C8$A2C4}$F9D0$60]PROC MoveBlock=*(BYTE POINTER d,s,CARD sz)[$A085$A186$A284$A0$0$A5A5$16F0$A2B1$A091$C8$F9D0$A1E6$A3E6$A5C6$F1D0}$5F0$A2B1$A091$C8$A4C4$F7D0$60]PROC SCopy=*(BYTE ARRAY d,s)[$A085$A186$A284$A0$0$A2B1$A091$8F0$A8$A2B1$A091$88$F9D0$60]}PROC SCopyS=*(BYTE ARRAY d,s,BYTE b,e)[$A085$A186$A284$A0$0$A2B1$A5C5$2B0$A585$A4C6$18$A2A5$A465$A285$290$A3E6$38$A5A5$A4E}5$2B0$A9$0$4CSCopy+10]PROC SAssign=*(BYTE ARRAY d,s,BYTE b,e)[$A085$A186$A284$A0$0$A2B1$DF0$A685$A4C6$38$A5A5$A4E5$2F0$1B}0$AA60$A6C5$890$18$A6A5$AA$A465$A585$A5A5$A0D1$390$A091$18$A0A5$A465$A085$290$A1E6$4C8ASCopy+14]MODULE ; for userF0$1Bw>~~<>~~< @`*n~< @` Jf0 @`B0 `   !} : ``@@p4C:``AAp4&C:@`AA $&@B8@`@A$@8 `@A$ @$@!}: ``@@p4C:``AAp4&C:@`AA $&@B8@`@A$@8 `@A$ @$@ ߿߾߿߾߿߾,^.LZ$ <<<<$<<<$<<<<<<<$<<<<$<<<$(4ztx]2Z$%}---..---..666..666,.^%4(tz`&}@  --..---..666..666,.^%4(tz`$III}}III%%%}}%%%}} V\>n0$<$<<<<<$<<<<<<<<$<<$<<<<j:yx|v8*} t```tt```tlllt```tlll =^, @0x*}zx4t```tt```tlllt```tlll =^, @0x( <<88, 0<<8Xb$< <<8 $|T8,((.}<$8\~fFF~|8,dDD48$00$ .}<$8\~fFF~|8,dDD48$00$ , !"%&)*-.12569:=>ABEFIJMNQRUVYZ]^abefijmnqruvyz}~2}  #$'(+,/03478;<?@CDGHKLOPSTWX[\_`cdghklopstwx{|2 }  #$'(+,/03478;<?@CDGHKLOPSTWX[\_`cdghklopstwx{|06 }   6 }  6 }9:56 ;<78qrqr6}stst6}qrqrstst6}qrqr6}ststqrqr6}stst6}6}ab9:!"56mnijqr9:9:c6}d;<#$78opklst;<;<9:1256mnijqr 6};<3478opklst ab!"1256m6}nijqr cd#$3478opklst 6}abababab6}cdcdcdcd)*)*]^6}+,+,_`6}6}   6}  )*)*6}+,+,)*)* 6}+,+,  6 }  6!}9:9:;<;<6"} 9:9:  6#};<;< 6$}6%}6&} 4g@ABCDEFGHIIIJKLMNOPQRSTUVWXYZ[WWWWW\]^_  !"#$%&' ()*+,-./0123456789:;<=>?`ab:(}c (defghijklmnopqrstuvwxyz{:)}:*}:+}:,}:-}:.}̯8YER .LIOFF"********************************"(*PROGRAMM:CATAPILLMS-ROUT.*2*AUTOR:PHOENIXSOFTCREW*>0}<*DATUM:29.06.90*F*VERSION:0.1*P*FUER:CATAPILL*Z**"d******************************n;x;OSVARIABL>1}EN(PAGE0);CASINI=$02BOOT=$09DOSINI=$0CATRACT=$4DRAMTOP=$6ACPNT1=$74CPNT2=$76>2}SAVMSC=$58;;OSVARIABLEN;VDSLST=$200SDLSTL=$230CHSALT=$26BMEMLO=$2E7";,;EIGE>3}NEVARIABLEN6;@SVSCROL=$3C0JSHSCROL=$3C1TCOPADR=$3C2^COPFRM=$3C4hSCROLFLG=$3C6rSTLSAV=$3C8>4}|VPIXZ=$3CAHPIXZ=$3CCCOLSR0=$3CECOLSR1=$3CFCOLSR2=$3D0COLSR3=$3D1PMX1=$3D2PMX2=$>5}3D3PMX3=$3D4PMX4=$3D5;;HARDWAREREGISTER;HPOS0=$D000HPOS1=$D001HPOS2=$D002HPOS>6}3=$D003&COLOR0=$D0160COLOR1=$D017:COLOR2=$D018DCOLOR3=$D01ANCONSOL=$D01FX;bHSCROL=$D404l>7}VSCROL=$D405vCHBASE=$D409WSYNC=$D40AVCOUNT=$D40BNMIEN=$D40E;;OSEINSPRUENGE;SETVBV>8}=$E45CXITVBV=$E462;;.OR$2000.OF"D:CATEPILL.COM"PLFMPTOP.OR$3000 ;- INITVJMP>9}INIT*DSPLVJMPDSPLINIT4OLDVJMPOLDDSPL>- HDLTOP R.HX7070 \.HX44fTXT.HX0000 p.HX04 z.HX04 >:}.HX84 .HX40 .HX74PLF.DAPLFM.HX740000.HX740000.HX740000.HX740000.HX740000>;}.HX740000.HX740000.HX740000.HX740000.HX740000.HX740000.HX740000$.HX740000..HX><}7400008.HX740000B.HX740000L.HX740000V.HX740000`.HX740000j.HX740000t.HX740000~.HX54000>=}0 .HX41.DADLTOP;INIT LDA#4BITCONSOLBEQENDINIT; LDABOOT ORA#2 STABOOT>>};LDA#INIT STACASINILDA/INITSTACASINI+1(;2LDA#PEND<STAMEMLOFLDA/PENDPSTAMEMLO+>?}1Z; dLDA#3nSTASVSCROLxSTASHSCROL;LDASAVMSC STATXTLDASAVMSC+1STATXT+1;;VB>@}IANSETZEN; VBIINIT LDY#VBI LDX/VBI LDA#7JSRSETVBV; ;ENDE; "ENDINIT,RTS6-@>A}VBI JLDA#0TSTAATRACT ^SCROLhLDASCROLFLG rAND#1 |BEQ.1JSRSCROLU.1LDASCROLFLG AND#2 >B}BEQ.2JSRSCROLD.2LDASCROLFLG AND#4 BEQ.3JSRSCROLL.3LDASCROLFLG AND#8 BEQ.4>C}JSRSCROLR.4LDASCROLFLG CMP#$F0BNEVBIEND&JSRPLFHOME0;:;VBIENDED; NVBIENDXLDASHSCROL>D}bSTAHSCROLlLDASVSCROLvSTAVSCROLJSRLOADADR JSRCOPY LDA#0STASCROLFLGLDA#DLI1STA>E}VDSLSTLDA/DLI1STAVDSLST+1JMPXITVBV- SCROLUINCSVSCROLLDASVSCROL CMP#8 BNE.1 >F}LDA#0 STASVSCROL*LDACOPADR4CLC >ADC#80HSTACOPADR RBCC.1\INCCOPADR+1f.1pRTSz- S>G}CROLLDECSHSCROLLDASHSCROL BPL.1 LDA#3STASHSCROLLDACOPADRCLC ADC#1STACOPADR>H} BCC.1INCCOPADR+1.1 RTS -  SCROLR$ INCSHSCROL. LDASHSCROL 8 CMP#4 B BNE.1 L LDA#0V >I}STASHSCROL` LDACOPADRj SEC t SBC#1~ STACOPADR BCS.1 DECCOPADR+1 .1 RTS - SCROLD DE>J}CSVSCROL LDASVSCROL BPL.1 LDA#7 STASVSCROL LDACOPADR SEC SBC#80 STACOPADR  BCS.1>K}( DECCOPADR+12 .1< RTSF -P ;BILDAUFSPIELFELDHOMEZ - d PLFHOMEn LDA#PLFMx STACOPADR LDA/PLFM>L} STACOPADR+1 LDA#0 STAHPIXZ STAVPIXZ STASVSCROL LDA#3 STASHSCROL RTS - ; ;DLISP>M}LAYLISTEINRICHTEN ; -  DSPLINIT LDASDLSTL" STASTLSAV, LDASDLSTL+16 STASTLSAV+1@ LDA#DLTOPJ S>N}TASDLSTLT LDA/DLTOP^ STASDLSTL+1h RTSr - | OLDDSPL LDASTLSAV STASDLSTL LDASTLSAV+1 STASDLS>O}TL+1 RTS - LOADADR LDACOPADR STACOPFRM LDACOPADR+1 STACOPFRM+1 RTS - COPY  LDX#0>P} .1& LDACOPFRM0 STAPLF,X: LDACOPFRM+1D STAPLF+1,XN LDACOPFRMX CLC b ADC#80l STACOPFRM v BCC>Q}.2 INCCOPFRM+1 .2INX INX INX CPX#68 BMI.1 RTS - DLI1 PHA LDACHSALT STAWSY>R}NC STACHBASE LDACOLSR0 STACOLOR0 LDACOLSR1 STACOLOR1* LDACOLSR24 STACOLOR2> STAWSYNCH >S}LDACOLSR3R STACOLOR3 \ LDAPMX1f STAHPOS0 p LDAPMX2z STAHPOS1 LDAPMX3 STAHPOS2 LDAPMX4 >T}STAHPOS3 PLA RTI - PEND BRK - LOAD.OR$2E0 .DAINIT -APMX3 STAHPOS2 LDAPMX4 <W02LZ0L~1L1ppD@t tttttttttttttttttttttTA 0,3  Z02BV}X 0Y 00 \`M) 0) G1) 1) )1 c1ԭ 1 1Ӎ1LbBW}iP`i`8`8P` BX}`01 001`01``00iPD0`Hk ԍ ԭЭЭBY}Ѝ ԭЭЭЭЭh@Z01``00iPD0`Hk ԍ ԭЭЭ@+eejYZeejeeYYeeVVYYeeUUUUmmmUU  jjZZVVjjF[}jjjjjjjjjjjVVZjjjjZZVVVVZZjjZZZZUUUUUZU^F\}_WggWggWggWgk[[kKSSKkkkkkWggggF]}ggggWjzzzVWWWzzz??????=77VF^}VUUUmmmUU*ꏽ+ ٕ٪ٕF_}ffWf٪ٕ٪fWffWkZ[jkZ[jکjkکjkՕfgfgՕfgfgF`}@a`ha!ERJjj?kkkUPTPUPPUUf@Fa}OLf1C@O@2@OOOOO@f1f:꯷լ^^Wյ:W_^Fb} <<<< 0<`<|fl0fF68of;~Ý~p88pf<06|`f<~<0`nb63ff~ff6f<flxtdf`````f<vv~~nnJf}6ffl8|fbl``=0 AND chr<32 THEN R} chr==+64 ELSEIF chr>31 AND chr<95 THEN chr==-32 ELSEIF chr>127 AND chr<160 THEN chr==+64 ELSEiF chr>159 ANR}D chr<224 THEN chr==-32 FI adr^=chr adr==+1 ODRETURNPROC Pause (CARD times)BYTE wsync=$14,qCARD uFOR uR}=1 TO timesDO FOR q=1 TO 200 DO wsync=q ODODRETURN PROC Inv (BYTE POINTER adr,BYTE len) BYTE u FOR u=0 TOR} len DO adr^==!$80 adr==+1 ODRETURNBYTE FUNC Inkey () BYTE atascii=$2FB,chasci=$2FC BYTE POINTER keydefp CARR}D keydef=$79 chasci=$FF keydefp=keydef DO ; UNTIL chasci#$FF OD keydefp==+chasci atascii=keydefp^ chaR}sci=$FFRETURN (atascii) PROC Klick (BYTE time) CARD u Sound (0,30,10,8) FOR u=1 TO time*100 DO : OD Sound (0,0,0,R}0) RETURN N (atascii) PROC Klick (BYTE time) CARD u Sound (0,30,10,8) FOR u=1 TO time*100 DO : OD Sound (0,0,0,P