#@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr DEMO SOURCE CODES-----------------By Pirx/O5/BCOn the second side of the MegaZine you will again find some source code} made by Pirx/O5/BC.This time it is a special demo for Micro Discount from England. I called it a 'special' demo because it }requests that DOS is present in memory (curious, eh.).Demo after running loads two data files into memory. It enabled making} different texts, etc.Read about the demo below.The demo consists of three files:AUTORUN.SYSThe main file containing a} code, graphics and music.TEXT.TXTATASCII scrolltext. It can be made and edited under The First XLent Wordprocessor.Every } character except A-Z, 0-9 and some punctuation marks (. , ! ? -) are treated as blank spaces.Some chars have special functi }ons - they turn on options of horizontal and vertical scrolling of the main scroller. < |turn on slow horizontal scrolling }= |fast hscrol > |very fast hscrol e) hscrol ^ |smooth vertical jumping _ |no vjumping / |crazy vjmpLenght of this text } must be shorter than $4100 (dec 16,640) bytes.WATER.TXTanother text file which contains wave data for "ATARI logo F/X" a }t the top of the screen.I didn't like the current version of the wave, so I decided to make an ability to change it easily.}This file must NOT contain any chars except for 0,1,2,3,4,5,6,7.This is why it has to be edited under a text processor like }First XLent (or other where EOLs are not necessary).Meaning of those numbers is ho skip after showing former line of "ATARI }logo".Simpler - after "0" computer will show the same line again, "1" makes it show the next one, "2" - the second after cu}rrent, "3" - third, etc, etc.Every frame (1/50 s) computer takes 46 (number of showed lines) values and built a picture of t}hem.Then the pointer of this table is incremented and next time it takes those 46 numbers from one byte higher. Sorry, but I} had to include this nonunderstandable stuff to allow you to operate my program.Maybe an example will help:111111111111111}11111111111111232111010010111101111111111234543211111111110111011111232111.......and so onTHE DATA SHOULD BEGIN WITH ABOUT 5}0 "1"'s !!!At the end program automatically adds $40 "1"'s, so you needn't do it.Lenght of "WATER.TXT" file shouldn't be b}igger than $0FC0 (dec 4032 bytes). It is about 32 single density sectors.On this disk you can find a complete source code o}f this demo (MAC65 format) in case you want to change something (colors, music, add next F/X, etc).To assemble it you have t}o copy all *.M65 and *.SYS files to ramdisk (D8:), load into MAC65 file DISC4.M65 and assemble it on (ram)disk - ASM,,#D8:DIS}C.COM.You will get the pure code file without music module.To link music and code load to cleared memory two music files (M}3.CMC and M3.REP - if you use DOS XL 2.xx try MUS command) thanDISC.COM file and save it (SAV DISCOUNT.COM,2300,61FF).Than }append START.COM to the end of DISCOUNT.COM and save it as AUTORUN.SYS on bootable dos disk.Don't forget to save on that dis}k TEXT.TXT and WATER.TXT files. If you are lucky, it will be working Micro Discount demo.There are no SHORT.SYS and IO.MAC }files on the disk, because they are not a Public Domain or a proprerty of Our 5oft. I count that other guys make those files }for MegaMagazine readers... Sorry.Pirx/Our 5oft/Bloody Coders. erty of Our 5oft. I count that other guys make those files B#aL# }#ppppf)t*44#pppp#ppppppppppppppppt)t1t*2t2t3t34tx4t4A# B VL#D:TEXT.TXTB!}D#ELHIJK VBDbEHGI V B VmX)bmY)L^$D:WATER.TXTBRD$EL"}HIJK VBDEHI V B VmXͩmYΠ@1͈8))%%'b'=/#}ҩҢHp S S ))0#12% \䠏(ԩL/%(ԩ#ԩЩЩЩЍЩЍ &)$}))z.8)))=).8 o)˩#̩)\)%%%% %%)?80 m)))%})a)@ @)a)Oȭ)ȭ)й))))L&Θ)))7/)/i)))))JJJi##i#)&})I))JJi#1i#i*#2i#i#2i#i#3i#i#3i#i#4i#ix#4i#i#4i#'} SLb!)$c+'g+'k+'&))))^+))ԭ)JJJ)i##i#8)###)))*(}`Π)) #`)!*!*Q*Q******'''ͨ)'ͧ) 'b')-3T']'*^')})L'4T']'*^')L'5"T']'*^')L'2T']'*^')L'6&L'8&L'7&L'*}))( o+K*,{*,*[-*#`H>ԩ@ ԩčЩȍЩ̍Э)ЍiЍiЍiЍЩ׍(h+}@HD ԍ ԩ(h@H?ԩ8 ԭ)ԭ)ԩdЩXЩlЩ)h@H< ԍ h@ԩ!oЩ,}c)d)d)`0G11105`-}.}/} $$$##"!    !"##$$$$#"    0}   "#$$$$$$ ,^+++!2         1}          !"#"#$%&'())'2}*+),-. !/+ !/+01&)2 3 2 3 2 3 4'*+4'*+567)89:+;<<=>)?<@+?<A'(01&01&.)4'B+4'CADED3}EDFGHDIJKDFLEDMNKDOPDMQEDEDEDERSTEDEUVDIJKDEDEDEDEDILEDEDWXYDEUVZJ[\DEDILE]^_`DabEcdUVDEefgKhihijklmnoppqDE4}DFJrsJ[\tuEZJ[\DILEDEcvwVxJyz  5}58 !"#$6}%&'(234 67 ./0135792>2>2>219wǎ>wnˊ=}2sӊo       >} !"#$ ! ! ! !"#$ !"#$ !%&'( !)*+,-"#$?}./012345.67./89:;<./=>234./8?234./8?2345.67./=@ABC./89:;<./8?234./D234./8?234EF5.6G;<@}5HIJKLMNOP&5HI75HQRSTUV5HI7WLMN5HI7WLMNOP&5HQRSXYZ5HI75HI7WLMN5HI7WLMN5HI7WLMNOP&[\]^_A}`ab[\&[cdefgh[\&'_`[\&'_`abijklef`[\&[\&'_`[\&'_`[\&'_`abmnDop45mq7B}mnrstuvmnDop4mnrwop4mnrwop45mq7xyz{wop4mnrstuvmnrwop4mnrwop4mnDop45mq7  C}        !"#$%&D}!"#$%&'(#$%&'( #$%&'(!"#$%&!"#$%&'(!"#$%&'( E}F}G}H}I}J}nh]蠀 "+ョUuUw~ pࠈ ȠˆȪ"+ュT|X|xUw~]K}Uw_~zlh]  7?UuȠȪ * ""P`"" Ȫnnv_wVL}#ࠀ "U~"w"  +Ȫ!|X|x>8Ƞʫ"Uw" * "M}+/'/='5sR¢‚ʌNO   tTv_wV_v^|_v^|zlhsQ ࠀ "N}"(0"(2+(0"(2*;+u"UP2(0"(2*; =5555% SRSRFOWu׉͍Ƀ\TO}TT\zlhȠ=555557.SQQQSRPU"UUWW ս+\TSQF8zlࠀ>?ս+]w RP蠈 *!P}|X|x>8  *!!U]wxW@  nȠ"(2-+uUQ}]w +/'/='r   tqࣈ "+UuUv|2(0""+U]uWUw~] R}_v^|zlh5=5555%SRRRS >?͍͉T\TTT\zlhȠȠȪ5=555557SQQQQS}|X|xSPUUUUUUUWUUWUUս+TTT\ UUս+5555%UUUȠʂ +u|X|>0 T}"Ȫ+nw]u~.U]wWࠀ Ƞ"(2-+uU]wW~ " U}V}W}X}Y}Z}+ ࠨ((( /< (((([}((((((? **(((((((((((((?<<\}  jo(XXᴵ(XXᴵ(XXXXᴵjoOXXXX?(XX]}񴵪(XX񴵪(XX?lmdeᴵjoXXjojoOjo Oĕ(``@@^}?ᴵooOooᴵ(XXᴵᴵOOДdhД[U_}UДdhДkUUhOUДkUUUUДdhUU??[^ZUoД[UOOUOАДd`}hЗkUOДd@ ^ZUАdhOOuФkUOUДd`z>ONZknДdh .9O?xa}jU@U .%POO .%PP?@U.@@@@@UUPh@@@@b}Д[UOU@[^ZUАdh`QTPTX@DDDDXP@c}`DDT`-A($HHh( D@TDEP@jTD`QTPTP4. TP /Pd}DTPP@Q@պ.PPPP@@e}f}g}h}i}j}堎 Bk},f8]Æp#E =]NjNKMQQKNPOOONMKLKLKLMKLPMMPPNNRRQPPQLLLOl}pp    m}oxwgU^W#^wffVU^W#߬wVE#[Ϛwwf7hUD433nFxfXfffffn}UUkUD3333(o} )!"+,&'# -.p}*23UXq}WUUSQLNLBNIBDEuEIBNIBNIBDEuEIBUPIUPBLNuNPBXWGSNBKLuLNBUPUUWXXXWUr}XWXZXXWUUUWXXWUXXWUXWXQPPNLXUVUQSSUVSUSQSSUU \ZZX\ZXZ\ddfda_\Zs}XdcaWSUWWWXZZXW WSWSUWWWXZZXW WSSUVUVUSQSNSUVSUSQXXVN mhdhdcdat}\_acdacd]d]d]dfcdcdfcd_\_IUSGIUSGILSPILIGIGSUIGIGILILIGIG cccu}cdfcdfcdfdcacdca_adc____a_PSBNIBFGuGIBNIBNIBFGuGIBUPIUPBLNuNPBXWGSNBv}KLuLNBSNLIIGDGI dca c_ccfdcdfdad_Q dbaa__a__UUPNPLPIUSUXUXUSUSSUw}W WS SZXWX XU USBBBBS SNSS dca_adcacXLPSX WWDPKBGIuIKBSRDPKBGIuIKBx}SR@LGBDEuEGBXWGSNBIKuKNBPGDPKBGIuIKBSRDDDDDDI \a\XXUDDDDDDPKDDDDy}DDKNGGGGGGSRPBBBBBBIKNKID@DID@DID@DID@DID@DID@DID@DID@DIE@EIE@EIE@EIE@EGD@DGD@DGD@DGD uKGBGKGBGKGBz}GKGBGKGBGKGBGKGBGKGBGIE@EIE@EIE@EIE@ELG@GLG@GLG@GLG uJGBGJGBGJGBGJGBGJGBGJGBGJGBGJGBGIE@EIE@EIE@EIE@EGD@DGD@DGD@DGD tK{}LKLNLKL LILKG uu uI aP _U a_\SU _\U USSU XWXWUWXU\UVSUVUSQUQS ff|}fdba_ab_ab_abba_a_\]_dbS _] __]_VVVUSQSUN ZZZZNQNLJGEEGPNPSPUSPSLPSUKLU USP}}N cWUWUSN cXWUSUSSXWUS ]___acBBBBBNBBIGBBBBBNBNBUBIIIBIUIBIUGGGBGSG~}GBNPDDDBDGDPBSRDDDBDGDBSB@@@B@D@LBXKGGGBGKGBPGV bU aS _Q ]N Z}Q ]S _L _addbaddba_]b]V VUVU U __abdba_]aba]_a_]S SNNQNQUSPNPLPSXUUSUS}WUSPIKNPLIGBGIKGL5L.L014L_e(edrǠ G5@+0ph}...)pJJJ // //ҩ....LhY/D/0///0/..ɏ T T`...}......... iU0L/ɏ..`..`..i.i.i.i.}..ҩ.~.LN[LWTLVL_#U#U"T#  .@+}PphETFTGT)pJJJTTTTҩVTGTFTETLhYTTU"U\UwUU)UNTOTɏ T T`T}5T8T>TTATCTJTKTNTOTT iU0LUɏHTIT`HTIT`JTKTiLTiMTi}NTiOTHTITҩVTST쩀>T`ET)>TGTFTETGT%TTT JTi0HKTihePT}iSTJTiKTiGT mGT GTȱ.T+T(T"T)VVGTȱJJJJmETETV"T) }TȌETL]VTGTȱ)mETETET"T)(T8TGTH)8[ThJJJJ>7 0 i8ZT`8ZyZZإHHHH}VTLZATLlXHTITLYXTLW>T0>T5TNTOTTWCTDTTBTTDTT2TiUT}̂W7TLWT3/JJJ)WhWWiW3T [TÛWЋWTLZLWWWWWWWW wU`0`08`0e`0ߍ}HTIT`0ӭ4T0ȌBTeCT4TDTT`0 ɏ`8T8TW>TR2T@KLTMTi@5T) )?;T5T@ })?;T ULIXɀ )?8T5TT)?TITHTITTTT"T)T(T"T)TPTSTT7}!T.TT&SS(TTLXTJJJJJ)ST"T)T( =%T TS T1TT8)D[T})(i+T%T T1TTTTTT)TT)(TT>T S@>T%T"TJJJJJ}TTT}}TT0LXT T"T)1T H$Z)) TҽSST(h)ЭThhhh`}xrke_ZUPKGC?<852/,*'%#! οzqke_VPg`ZUQLHC?=9439-*(%$}! 8 j jFAn0R"zU4w`N8'}xpjd^WR2 @5?@ [hBhh`$[%[L[$M[%hh8[hhp WTLWT[}$[%@LWT V [L_}<<~~}~~8?߀߀}}  }8800p~}p~`~`~?????}}?  }8800}p~p~~~??}}}HS堎 B,f8]Æp#E =]NjNKMQQKNPOOONMKLKLKL}MKLPMMPPNNRRQPPQLLLOpp    }oxwgU^W#^wffVU^W#߬wVE#[Ϛwwf}7hUD433nFxfXfffffUUkUD3333}( )!"}+,&'# -.*23}UXWUUSQLNLBNIBDEuEIBNIBNIBDEuEIBUPIUPBLNuNPBXWGS}NBKLuLNBUPUUWXXXWUXWXZXXWUUUWXXWUXXWUXWXQPPNLXUVUQSSUVSUSQSS}UU \ZZX\ZXZ\ddfda_\ZXdcaWSUWWWXZZXW WSWSUWWWXZZXW WSSUVUVUSQSNSU}VSUSQXXVN mhdhdcda\_acdacd]d]d]dfcdcdfcd_\_IUSGIUSGILSPILIGI}GSUIGIGILILIGIG ccccdfcdfcdfdcacdca_adc____a_PSBNIBFGuGIBNIBNIBFGu}GIBUPIUPBLNuNPBXWGSNBKLuLNBSNLIIGDGI dca c_ccfdcdfdad_Q dbaa__a__U}UPNPLPIUSUXUXUSUSSUW WS SZXWX XU USBBBBS SNSS dca_adcacXLPSX WWDPKB}GIuIKBSRDPKBGIuIKBSR@LGBDEuEGBXWGSNBIKuKNBPGDPKBGIuIKBSRDDDDDDI }\a\XXUDDDDDDPKDDDDDDKNGGGGGGSRPBBBBBBIKNKID@DID@DID@DID@DID@DID@DID@DID@DIE@EIE@EI}E@EIE@EGD@DGD@DGD@DGD uKGBGKGBGKGBGKGBGKGBGKGBGKGBGKGBGIE@EIE@EIE@EIE@ELG@GLG@GLG@GLG uJGBGJGBGJGBGJGBGJGBGJGBGJGBGJGBG}IE@EIE@EIE@EIE@EGD@DGD@DGD@DGD tKLKLNLKL LILKG uu uI aP _U a_\SU _\U USSU XWX}WUWXU\UVSUVUSQUQS fffdba_ab_ab_abba_a_\]_dbS _] __]_VVVUSQSUN ZZZZNQNLJGEEG}PNPSPUSPSLPSUKLU USPN cWUWUSN cXWUSUSSXWUS ]___acBBBBBNBBIGBBBBBNBNBU}BIIIBIUIBIUGGGBGSGGBNPDDDBDGDPBSRDDDBDGDBSB@@@B@D@LBXKGGGBG}KGBPGV bU aS _Q ]N ZQ ]S _L _addbaddba_]b]V VUVU U __abdba_]aba]_a_]S S}NNQNQUSPNPLPSXUUSUSWUSPIKNPLIGBGIKGL5L.L014L_e(edrǠ }G5@+0ph...)pJJJ // //ҩ....LhY/D/0///0/..ɏ} T T`............ iU0L/ɏ..`..}`..i.i.i.i...ҩ.~.S[LN[LWTLVL_#U#U"T#}  .@+PphETFTGT)pJJJTTTTҩVTGTFTETLhYTTU"U\UwUU)UNT}OTɏ T T`T5T8T>TTATCTJTKTNTOTT iU0LUɏ}HTIT`HTIT`JTKTiLTiMTiNTiOTHTITҩVTST쩀>T`ET)>TGTFT}ETGT%TTT JTi0HKTihePTiSTJTiKTiGT mGT GTȱ.T+T(T"T)V}VGTȱJJJJmETETV"T) TȌETL]VTGTȱ)mETETET"T)(T8TGTH)8[ThJJJJ>}7 0 i8ZT`8ZyZZإHHHHVTLZATLlXHTITLYXTLW>T0>T5TNTOTTWCTDTT}BTTDTT2TiUT̂W7TLWT3/JJJ)WhWWiW3T [TÛWЋWTLZLWWWWW}WWW wU`0`08`0e`0ߍHTIT`0ӭ4T0ȌBTeCT4TDTT`0 ɏ`8T8TW>TR2T@KLTM}Ti@5T) )?;T5T@ )?;T ULIXɀ )?8T5TT)?TITHTITTTT"T)T}(T"T)TPTSTT7!T.TT&SS(TTLXTJJJJJ)ST"T)T( =}%T TS T1TT8)D[T)(i+T%T T1TTTTTT)TT)(TT>T S}@>T%T"TJJJJJ}TTT}TT0LXT T"T)1T H$Z)) TҽS}ST(h)ЭThhhh`xrke_ZUPKGC?<852/,*'%#! }οzqke_VPg`ZUQLHC?=9439-*(%$! 8 j jFAn0R"zU4}w`N8'xpjd^WR2 @5?@ [hBhh`$[%[L[$}M[%hh8[hhp WTLWT[$[%@LWT V [L_#@ [hBhh`$[%[L[$K11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111121011111111111111111111}11111111111111111111111111111111111111121011111111111111121011012111012111232101001011111234321101001121100101111111111232111}11123432111010010110101011123432111010011112343211010010112321101001011101121101001011111111232111010010111111111123211101001}01111111111111111123211101001011201120112011111201112011112110111111111111111111111201111111111111010010111111111123211101001_ HERE IS A DEMO SOURCE THAT IGOT FROM MEGA-MAGAZINE 6, WATCH HOWTHE SCROLL STARTS^ JUMPING, NICEJUMP BUT WHAT ABOUT }/CRAZY JUMP......WELL THATS NOT ALL WHAT THE SCROLLCAN DO.... IT ALSO CAN SCROLL = ....FAST.... OR .....>....FASTER.. }...... WELL<_ I HOPE YOU ENJOYED THISSMALL DEMOSTRATION DENON OUT...................FAST.... OR .....>....FASTER.. \ EI#X;#X;堠(#X;ⵠ2>D8:S}HORT.SYS<>D8:IO.MACF X;----P DLADC Z%X;àӺ dladc l2,bsk2dAn,x O>4 P  Q>5 O> P }X;--- EK\TEXTBEGb WATERMUSADRH PLAYS PMBMISSLESPMBPM0PMB}PM1PMBPM2PMB"PM3PMB,DOCDL;ϡ6 WATKO@LINWIDLJ LN0T LB*^ X;--- h}#r !CODE| X;====DL DLBUF A A A A A A A} A A A A A A AX;--- DJM}PS PENDSPBEGS AppppA PENDS f LEMPTY& t0DLCHAN BUFFER: 4=4=4DX;---N X bDJMP}S2 PENDS2lPBEGS2 AppppAv PENDS2X;--- DJMP PENDPBEG AppppppppppppppppAPEND t LEMPTY t} BSK0 L0 t BSK1 L1 t BSK2 L2 t  BSK3 L3 t  BSK4 L4* t4 BSK5 L5> tH BSK6 L6R} t\ BSK7 L7f Ap DLz X;======CODE CLOSE  OPEN ===AD:TEXT.TXTABGET =TEXTBEG=G= }CLOSE &X; ADD.W #TEXTBEG,$0358,TEXTENDQ>4TEXTBEG,OX PTEXTENDQ>5TEXTBEG OXPTEXTEND}X;--!OPEN ===AD:WATER.TXTABGET =WATER==$ CLOSE ."X; ADD.W #WATER,$0358,WATKO8 Q>4WATERB},LOXV PWATKO` Q>5WATERj OXt PWATKO~X;--%>@Q>1 WATKOLOOP P@WATKO71IWATKOLOOPX;--}-POKE =5DISCFNTPOKE DIRFLG= PBHSINPTRDPOKE WATPUT=WATERDPOKE TXADR=TEXTBEGPOKE }DMACTLS=! X;-- POKEY  $>4MUSADR( %>5MUSADR2Q>p< PLAYF$>PAZ PLAYdX;--n SPRITE.R}UNx VDL DLVMAIN MAIN=VDLI DLI0.5X;--POKE IRQEN=HANG STOP  X;====+-> X;====+->MAI}NDPOKE =DLI0.5DPOKE =DLPOKE ="POKE =,POKE =-POKE =.P/POKE }=0P6X;--@ MACHANIEJX;---Md waveT #HMDPTR^ $HMDPTRh ILESS.128r$>| &HMDPTR LESS.128 QHSIN9;}S> PMDHPOSX;--- #VMDPTR $VMDPTR(>VSINENDVSIN HLESS.END$> &VMDPTR LESS.END QVSIN9;}S>&?0 SPRIT.MOVE: X;-------D X;WATERNDPOKE DOCDL=DLBUFXDPOKE ACTEK=EKbX;lVINC WATPUT}v#X; VCMP WATPUT+1,WATKO,FDAL1QWATPUT RWATKO HFDAL1QWATPUT RWATKO HFDAL1DPOKE WATPUT}=WATER FDAL1$>%> FPTL0WATPUTQWATER92X;conversion M>?; S>0*X;--4T?;ҩ>T}?HT?RT?\T?f,p OACTEKz PACTEKDFDAL0;٫ˎ #ACTEK FDAL0X;--- QACTEKR>5EK*  DL}ESS QACTEKR>4EK*  DLESSDPOKE ACTEK=EK* LESSQ>O P@DOCDL7 3 QACTEK$ P@DOCDL7. 38 Q}ACTEKB P@DOCDL7L 3V )>.;Šɪ` HFPTL0j X;-----------t X;LOGOSCROLL~ QDIRFLG HSUBSTRACT #BHSINPT}R $BHSINPTR (>BHSINENDBHSIN HCONT POKE DIRFLG= !SYSYQ SUBSTRACT "BHSINPTR $BHSINPTR HCONT }POKE DIRFLG= CONT QBHSIN9 PHSC QBVSINLOG9( ,2 O>< PVSCF X;------P QVSCZ M>d PVSCROLOGn QVSCx} V? V? V? , O>4PBEG PDJMP Q>5PBEG O> PDJMP X;------ QHSC M> N> PHSCROLOG QHSC }V? V?" >, DLADC L0=BSK06 DLADC L1=BSK1@ DLADC L2=BSK2J DLADC L3=BSK3T DLADC L4=BSK4^ DLADC L5}=BSK5h DLADC L6=BSK6r DLADC L7=BSK7| SYSYQ PLAY !XITVBV X;------- MACHANIE X;czkanie na 36 B}VCHECK$> FNOWAIT QVSCSCR R>$ HNOWAIT QBVLOTAB9 PBVPUT QBVHITAB9 PBVPUT QBVCMPTAB9 PBVEP}UT& POKE BVCHECK=0 PBVSINPTR: NOWAITD X;==========N X; MACHANIEX #BVSINPTRb $BVSINPTRl BVEPUT(>BVSIN}E2BVSIN2v HBANGDPA $> &BVSINPTR BANGDPA BVPUTQBVSIN29 PVSCSCR X;------ M> PVSCROL QVSCSCR }V? V? V? PSMIEC , O>4PBEGS PDJMPS Q>5PBEGS* O>4 PDJMPS> X;---H Q>4PENDS2R ;\ SSMIECf PDJMPS}2p Q>5PENDS2z S> PDJMPS X;==== #XHPTR $XHPTR XHEPUT(>XHTE1XHT1 HNOENDXH $> NOENDXH &XHP}TR XHPUTQXHT19 X;===--- SCROLL FDPA0 PHSCROL:DPA0$X;nowy bajt.DCL WIDTHCTR8 FNEXTLETTB #DLCH}ANLQ>V PHSCROL`:j NEXTLETTt X;-----~ $PREWIDTH%> MOVELOOP QBUFFER9 PBUFFER8QBUFFERLN9PBU}FFERLN8QBUFFERLN9PBUFFERLN8QBUFFERLN9PBUFFERLN823)>LB  HMOVELOOP X;----} NEXXUS(VINC TXADR2$X; VCMP TXADR+1,TEXTEND,TXADR< QTXADRFRTEXTENDP HTXADRZ QTXADRd RTEXTEN}Dn HTXADRxX;DPOKE TXADR=TEXTBEG TXADRQM>> QCONVERT9?R>3HNZ0!POKE XHEPUT=XH}TE1XHT1DPOKE XHPUT=XHT1POKE XHPTR= !NEXXUSNZ0R>4HNZ1!POKE XHEPUT=XHTE2XHT2"}DPOKE XHPUT=XHT2,POKE XHPTR=6 !NEXXUS@NZ1JR>5T HNZZ8^!POKE XHEPUT=XHTE3XHT3hDPOKE XHPUT}=XHT3rPOKE XHPTR=| !NEXXUSNZZ8R>2 HNZZ9POKE XHEPUT=XHTEXHTDPOKE XHPUT=XHTPO}KE XHPTR= !NEXXUSNZZ9R>6HNZ2POKE BVCHECK= !NEXXUSNZ2R>8HNZ3POKE BVCHECK=}& !NEXXUS0NZ3:R>7DHNZ4NPOKE BVCHECK=X !NEXXUSbNZ4lQ>v PPREWIDTH PWIDTHCTR PTRPTR}CT?T??X;nowej literki$> PUTLOOP QLETTERS8PBUFFERLB9QLETTERSLINWID8PBUFFERLBLN9}QLETTERSLINWID8 PBUFFERLBLN9QLETTERSLINWID8 PBUFFERLBLN9*342> TRPTR(>H HPUTLOOPR}X;\POKE DLCHAN=4BUFFERfQ>p STAROLz PHSCROL:X;---------X;--------- DLI0.55POKE DMACTL=}"POKE CHBASE=5FNT1POKE =POKE =POKE = QMDHPOSPP,O>P}$P.O>8PBPLO>VP`PjDPOKE =DLI1t7~9 X;----DLI15 Q>5FNT2 PWSYNC P}CHBASEDPOKE =DLI279 X;----DLI25POKE DMACTL=# POKE CHBASE=5DISCFNTMOVE.B H}SCROLOG=HSCROLMOVE.B VSCROLOG=VSCROL(POKE =d2POKE =X<POKE =lFDPOKE =DLI3P7Z9dX;}---nDLI3x5Q>5DISCFNT PWSYNC PCHBASE79 X;-------SPRITE.RUNPOKE PMBASE=5PMBQ>$>} SPRTL0 PSIZEP090 ISPRTL0POKE GTIACTLS= POKE PMCTL="POKE =,P6POKE =@P}JFILL MISSLES=PM3=T:^ X;------hSPRIT.MOVEr$>| SPMOVPTL QMDPM09 PPM08 QMDPM19 PPM18 Q}MDPM29 PPM28 QMDPM39 PPM38 QMDMISS9 PMISSLES832(>5 HSPMOVPTL: X;--------& HSC 0 VSC }:BHSINPTR D DIRFLG N ACTEK XHSCROLOG bVSCROLOG lX;---v SMIEC  XHPTR WIDTHCTR PREW }IDTH  VSCSCR BVSINPTR  HMDPTR  VMDPTR  MDHPOS TEXTEND  X;----->D:SINS.M65 X;------ }>D8:DISCDAT.M65 X;---- 8 DISCFNT >D8:DISCFNT.M65* X;----4@>FNT1>D8:LONFNT.M65HFNT2FNT1 }REK\>D8:ATARIDAT.M65- 8 DISCFNT >D8:DISCFNT.M65* X;----4@>FNT1>D8:LONFNT.M65HFNT2FNT1,dX;D4:DISCDAT.MACeL0f A An/ A  Ax+ A    }A/ A  A L1;--- A A5 A !A="=A#$ ! !A}7 A ! !A="=A#$ !A="=A#$ !A5 A%&'( !)*+,-A="=A#$A L2;--- A }A/ A./012345.67./89:;<./=>234./8?234A+ A./8?2345.67./=@ABC./89:;<./8?234A/ A./D234./8?234EF5.6G;<}A L3;--- A A/ A5HIJKLMNOP&5HI75HQRSTUV5HI7WLMNA+ A5HI7WLMNOP&5HQRSXYZ5HI75HI7WLMNA}/ A5HI7WLMN5HI7WLMNOP&A L4;--- A A/ A[\]^_`ab[\&[cdefgh[\&'_`A+ A[\&'_`}abijklef`[\&[\&'_`A/ A[\&'_`[\&'_`abA L5;--- A A/ AmnDop45mq7mnrstuvm}nDop4mnrwop4A+ Amnrwop45mq7xyz{wop4mnrstuvmnrwop4A/ Amnrwop4mnDop45mq7A L6;--- A} A"/ A   A,+ A    A6/ A  }A7 L7;---8 A A@; A !A="=A#$%&!A="=A#$%&'(AJ7 A#$%&'( #$%&'(!A=}"=A#$%&!A="=A#$%&'(AT5 A!A="=A#$%&'( A="=A#$%&'(AJ7 A#$%&'( #$%&'(!A=N X;D4:DISCFNT1.MAC AnhA A]蠀 A( AA="=A+ョA2 AUuUw~ A<} Apࠈ ȠˆȪAF AA="=A+ュAP AT|X|xUw~A==AAZ A]ȠUw_~zlhAd A] An} A 7?Ax AUuȠȪA A * A="=AA# AA="=AP`A="=AA AA="=A} A AȪnnv_wVA A#A==Aࠀ A# AA="=AU~A="=AwA AA="=A  }+A AȪ!A A|X|x>8A AȠʫA AA="=AUwA% AA="=A * }A="=AA= A+/'/='5sRA AA==A‚ʌNOA A   tTA Av_wV_v^|_v^|zlhA" As}Q A, Aࠀ A==AA6 AA="=AA@ AࠀA="=AAJ) A(0A="=A(2+A==A(}0A="=A(2*;AT A+uA^ AA="=AUPAh A2(0A="=A(2*;Ar A A| A=5}555% SRSRA AFOWuA A͍Ƀ\TTT\A AzlhȠ=555557.A ASQQQSRPUA AA="=AUU }WWA A ս+\TSQF8A Azlࠀ>?A Aս+]w RPA A蠈 *A A!|X|x!}A A>8A A  *A A!!A AU]wxWA A@  A A "}nȠA="=A(2A& A-+uA0 AU]w +/'/='A: Ar   AD AtqAN Aࣈ #}A="=A+AX AUuAb# AUv|2(0A="=AA="=A+Al AU]uWUw~Av A] A A$}A AAX;--DISCFNT2.MAC( A_v^|zlhA2 A5=5555%SRRRSA< A >?%}AF A͍͉T\TTT\AP AzlhȠȠȪAZ A5=555557SQQQQAd A|X|xSPUUUAn AUUUUWUUWAx A&}UUս+TTT\A A UUս+A==A5555%A AUUUȠA==AʂA A +uA A|X|>0A# '}AA==A A="=AA AȪ+nw]u~A A.U]wWA Aࠀ ȠA="=A(2A A-+(}uA AU]wWA# A~A==A A="=AA A Aࠀ ȠA="=A(2A A-+U?X;D4:LONFNT.MAC AA A+ A Aࠨ((( /A AOA==ANZknA AДdh .9A AO3}?xjU@UA A .%PA AOO .%PPA A?@U.A A@@@@@UA AUP4}A  Ah@@A A@@A==AA# AД[A==AUOA==AUA A@[^ZUA A5}АdhA# AA( AA- A`QTPTA2 AX@DDA7 ADDXP6}@A< A`DDTAA A`-AAF A($HHh( AK AD@TDEAP AP@jTAU A7}D`QTPTAZ AP4. TPA_ A /PDAd ATPP@Ai AQ@պ.PPPP@@AjTAU AmX;D4:ATARIDAT.MAC' A A' A A' A!9}A' A<<A' A~~A' A~~!:}A' A8A' A?A ' A߀߀A!;}' AA' AA' AA' A!<}A$' AA)' AA.' A !=} A3' AA8' AA=' A88!>}AB' A00AG' Ap~p~AL' A`~`~!?}AQ' A???AV' A??A[' AA`!@}' AAe' AAj' AAo' A!A}At' A?Ay' AA~' A !B} A' AA' AA' A88!C}A' A00A' Ap~p~A' A~~!D}A' A??A' AA' AA!E}' AA' A AA' AA LHS堎 B,f8]Æp#E =]NjNKMQQKNPOOONMKLKLKLMKLPMM%G}PPNNRRQPPQLLLOpp    %H}oxwgU^W#^wffVU^W#߬wVE#[Ϛwwf7hUD433n%I}FxfXfffffUUkUD3333%J}( )!"+,&'# -.%K}*23%L}UXWUUSQLNLBNIBDEuEIBNIBNIBDEuEIBUPIUPBLNuNPBXWGSNBKLu%M}LNBUPUUWXXXWUXWXZXXWUUUWXXWUXXWUXWXQPPNLXUVUQSSUVSUSQSSUU \%N}ZZX\ZXZ\ddfda_\ZXdcaWSUWWWXZZXW WSWSUWWWXZZXW WSSUVUVUSQSNSUVSUS%O}QXXVN mhdhdcda\_acdacd]d]d]dfcdcdfcd_\_IUSGIUSGILSPILIGIGSU%P}IGIGILILIGIG ccccdfcdfcdfdcacdca_adc____a_PSBNIBFGuGIBNIBNIBFGuGIBUP%Q}IUPBLNuNPBXWGSNBKLuLNBSNLIIGDGI dca c_ccfdcdfdad_Q dbaa__a__UUPNPL%R}PIUSUXUXUSUSSUW WS SZXWX XU USBBBBS SNSS dca_adcacXLPSX WWDPKBGIuIK%S}BSRDPKBGIuIKBSR@LGBDEuEGBXWGSNBIKuKNBPGDPKBGIuIKBSRDDDDDDI \a\XXU%T}DDDDDDPKDDDDDDKNGGGGGGSRPBBBBBBIKNKID@DID@DID@DID@DID@DID@DID@DID@DIE@EIE@EIE@EIE@EGD%U}@DGD@DGD@DGD uKGBGKGBGKGBGKGBGKGBGKGBGKGBGKGBGIE@EIE@EIE@EIE@ELG@GLG@GLG@GLG uJGBGJGBGJGBGJGBGJGBGJGBGJGBGJGBGIE@EIE@EI%V}E@EIE@EGD@DGD@DGD@DGD tKLKLNLKL LILKG uu uI aP _U a_\SU _\U USSU XWXWUWX%W}U\UVSUVUSQUQS fffdba_ab_ab_abba_a_\]_dbS _] __]_VVVUSQSUN ZZZZNQNLJGEEGPNPS%X}PUSPSLPSUKLU USPN cWUWUSN cXWUSUSSXWUS ]___acBBBBBNBBIGBBBBBNBNBUBIII%Y}BIUIBIUGGGBGSGGBNPDDDBDGDPBSRDDDBDGDBSB@@@B@D@LBXKGGGBGKGBP%Z}GV bU aS _Q ]N ZQ ]S _L _addbaddba_]b]V VUVU U __abdba_]aba]_a_]S SNNQN%[}QUSPNPLPSXUUSUSWUSPIKNPLIGBGIKGL5L.L014L_e(edrǠ G%\}5@+0ph...)pJJJ // //ҩ....LhY/D/0///0/..ɏ %]}T T`............ iU0L/ɏ..`..`..%^}i.i.i.i...ҩ.~... iU0L/ɏ..`..`..$BS[LN[LWTLVL_#U#U"T#  .@+PphETFTGT)pJJJT)`}TTTҩVTGTFTETLhYTTU"U\UwUU)UNTOTɏ T T`T5T8T>TTATCTJTK)a}TNTOTT iU0LUɏHTIT`HTIT`JTKTiLTiMTiNTiOTHTITҩVT)b}ST쩀>T`ET)>TGTFTETGT%TTT JTi0HKTihePTiSTJTiKTiGT mGT G)c}Tȱ.T+T(T"T)VVGTȱJJJJmETETV"T) TȌETL]VTGTȱ)mETETE)d}T"T)(T8TGTH)8[ThJJJJ>7 0 i8ZT`8ZyZZإHHHHVTLZATLlXHTITLYXT)e}LW>T0>T5TNTOTTWCTDTTBTTDTT2TiUT̂W7TLWT3/JJJ)W)f}hWWiW3T [TÛWЋWTLZLWWWWWWWW wU`0`08`0e`0ߍHTIT`0ӭ4T0ȌBTeCT4TD)g}TT`0 ɏ`8T8TW>TR2T@KLTMTi@5T) )?;T5T@ )?;T ULIXɀ )?8T5TT)q}BDISC4 DOCBDISC4 COMBWATER TXTBTEXT TXTB<DISC4 M65B DISCDAT M65BDISCFNT M65B)LONFNT M65B8ATARIDATM65BFM3 CMCB_M3 REPBxMUS EXCB-----------B9yVECTSCRLCOMBTABLES OBJBBEWESOFTOBJBMUSIC OBJBTEXT OBJB\DEMO SRCBVREADME TXTB-----------B<^SECOND COMtSECOND M65 BLACK MUS THESET CHR)?TITHTITTTT"T)T(T"T)TPTSTT7!T.TT&SS(T)r}TLXTJJJJJ)ST"T)T( =%T TS T1TT8)D[T)(i+T%T T1T)s}TTTTT)TT)(TT>T S@>T%T"TJJJJJ}TTT}TT0LXT T"T)1T)t} H$Z)) TҽSST(h)ЭThhhh`xr)u}ke_ZUPKGC?<852/,*'%#! οzqke_VPg`ZUQLHC?=9439-*(%$! 8 j )v}jFAn0R"zU4w`N8'xpjd^WR2 @5?)w}@ [hBhh`$[%[L[$M[%hh8[hhp WTLWT[$[%@LWT V [L_ @5?(uLOA M3.CMCLOA M3.REPh`$[%[L[$M[%hh8[hhp WTLWT[$D4:MUS.EXC,D:MUS.EXC @5?,]hxú}vqlgda^[WSNID?:50'  '05:?DIMPRTW[`ejoty~5z} p21:DLTZ_ab`^[WRNJEA><:987654320//0234579<@EKQVZ]_aba`[VPOPV]ekoruvp{vqlid`\Xp!)! 5{} !)p58þ !)18AGMRUWXWVTRPNLJHFEDCA?=;99875445789:<>AEJPV[_bdfgec^YTSTY_fp{v5|}qlgb]p+%  %+p58¼(p16=<:99:<=>?ACFJOU[`dgiklkif`[WVW[`p{vpjd^p5}}-)%"  "%)-p58 "%)-158>?ABCDFHKOTZ`eilnpqplhb]ZYZ]agp5~}{tmf_Yp!.,*)('&'()*,.p58 '%#!#%'()+-/135689pNRW[^`b`\WRMJHGFDCCDFGHIKMPTY_ejnqsuv5}uqke`^]^`cpL               5}           ppN  pp pK 5} pp      p p+    pppIppp5}p pH     pN p pppp  p p Hp5}pp   ppp  p  K<oLO oNv@9888885}888888I8(H88P8788787I8 h::K:poy:}:Kx:p N87p ];5};K;p::K:7dK:y:hp_p:hp}ddK:pp :7:pp;7pp5} /';p =?,;GghpGp Gp _5}ϡpp8p @ !"#$%&'()*+,-.p85}p@w ӌӌϨҌCϜϜϜϜퟱ<[<8G=>όϨGϨKϨ? _ Ө9Ө Ӭ8 5}<#9<$9 8 8>KaP<4;= 8;!=8pg8<!=pK<|80=R1=_8888 p K,=_75}= = = =) =)h4=8=/ =8p=p19888788 p0=1= 8p`_88_GII5}(/=g(p 8==__:2 >=>==Ѩь>ќ==h>5}h>=:>;> :>-;>:>l>>;>l>>pp >p>>==p=K?=7=====5}==<=====l>l>>l=9>9>> %l>l>=pII;5}1>>!>=h;>(->9>;>M:>iM:>iII(>%>9>K?K_?pGI(A?A?g(9>sK?p %>p p>>5}>1>B/%1B/WB/ 9>)>>(:>7:>>:>(->->:>(;>-> ;>}BG g=@)>G :> :>) :>)5}( A@A@g:>s=:>9>==!p]!>!>pp!>p!>:>G(gI(A/ ;>9> 9> =7;>5} =l;>;>pK ;>=9>/K?9pw5>7 p_  =I=/G( p;>gI G:>(:>I;>gI 5}:>p:>=;>=K^AAAAAM:>M:>M:p(_C}CCCCCCCCCCCCC DD~xrke_ZTPKGB>;852/,)'5}$# p pGcp X63pdʾypjd^[UOLFC@=741.,('$" pppp5}pp p pp p:p3 p,pT p<pb p pp->_ >_5}1>71>_pd.->(>_ p=h=_5p=(p=ppp ==_p >==5}_p7C_ g/ ?S{n K4O1'E#ohWs~}Qj]8`bGwd:f|V.ZB35}ace)kl՟k]0DL6ATY<9.2;=)Iɉ 5} "rs$%* y۩ުëhHXaN?J‘BH'8$!t+?F8> Q˜ @ul Um 0)%m:!U#P D%H5} N_ۦߐkl\@W:`|@67kS 25J`R@GH֙5nh:Aq*,T60`5}a }Թ GL q(@Cd/t `V8Al1`  H?)`!%W3?_yE@Ho5} K4K_0 )h$E#|F/ Pt @&@$ d/S$ ?J ,TY}_a|U3tm }?)k˦5}|.)8=5|F~T 2Â@ HD8B(³6@8&b:3"OP%`l ? #!+5}P PX% <6`J@E y}hL%M3nEX@KJ߯c>|Fu%Y۫ S *>@|5}~Y6@gVS&߫rP!TH"JF/OaG0p"Y|k⳪j@ !>3?,@,!|?=|3e~ 5}/5FF0$`5K #PCpt_R+K>B-BY)vg_Cq?LLKL5| ~}>Ұ5}; kOHb0|*?.NodPͅ8W0oWې ̀5kB\1` Vx􅑩wii c5}vLEv`?hhlLw cw vwL~v cw vwLv cw cw vwƃ޺ cw cw cw cwH)hJJJJJ:w2w5}i cw(Ɠ Bwł.eŁ#e( vwƅƄƃ`Lt? Vw&Ɣ`&5} cw8􄐠``Ǝƍ)Ф` wq vwLw wq w wee5} vw擥Ŕ cwi`$kPnS%pV]w;0b0B; PkLwSQVsTw;0 0B:! kLHQPsTS:5}xԍԢ`:v`$kPnS%pV]w;0b0B; PkLwSQVsTw;0 0B:! kLHQPsTS:408Ļ~wrmheb_\XTOJE@;61((16;@EJNQSUX\afkpuz9}(2;EMU[`bccca_\XSOKFB?=;;;:987654444310013444568:=AFLRW[^`bcccccba\WQP9}QW^flpsvwwwwĻ|wrmjea]YTOJE@;61*" "*16;@EJNQSUX\afkpuzĿ9} "*29BHNSVXYYYXWUSQOMKIGFEEEDB@><::999865568999:;=?BFKQW\`ceghhhhh9}fd_ZUTUZ`glpsvwwwwĻ|wrmhc^YTOJE@;61,&!!&,16;@EJNQSUX\afkpuz9}ý!&,27=BGKMOOOOOOOOOOOOOOOOOOMKIEB@?>>>=;::;=>>>?@BDGKPV\aehj9}lmmmmljga\XWX\aglpsvwwwwĻ|wqke_YTOJE@;61.*&#!!#&*.16;@EJNQSUX\afkpuz9}» #&*.269=@CDEEEEFGIKMOQSUWXYYYWTPLHFDCCCB@??@BCCCDEGILPU9}[afjmoqrrrrqmic^[Z[^bhlpsvwwwwĻ|ung`ZTOJE@;61/-+*)('''()*+-/16;@EJNQSUX\afkpuz9}(((((((((((((((((((((((((((((((((&$"$&(((()*,.024679:;;;;;=?BFKOSX\_accca]XSNKIHHHGEDDEGHHHI9}JLNQUZ`fkortvwwwwvrlfa_^_adhlpsvwwww   9}       9}      9}       9}           9}        9}        9}   9}  8<PR" j" Fb$*@*=}  j@ B@ *Jj j=} *j@@ j**j jj@ *@=}  j "@J@ *Jj @@j=}  *@ "j j* *j=}j@ j*j "J@@ jJ =}*j j*j "J@@ jJ <AOLBLB3AAAA AҩA}ҍAҝAAiAiAABBB.BBmAABmAABBB.BBmAABmAAA}AAALCA8AAAAAAA =AAAAAmAmAAmABA}BA &mAmAABJJ<BABAi B) BBBNBjNBjJJ)?BBLCL?CAi HJJJ)EA}CECh)B tLCBBB &mAmAAABE0&F0 7F0 B BA)B8BA}AB) B BB)B B B]FH hAD BHBB*B*) EDEDhB tABB AABBBiA} )BB8BBBH)hJJJJJ)E0 BB B A8BAmBBBB BAB0LCBB A}B8 BB`  AJA0H) ABBhJJJHB)BJBhJ B BJBBABAL>EEEEENBNBNB8A}B``G]GaGgGkG}GGGGGGGGGGGyslf`[UQLHC?<9630-*(%$! ysld`[UQLHC?<97A}40-*(%$!˿zqke_\VPMGDA>852/-)(%#!A}   A}     B`A`B8B`Be/.A)A` A)A}AiA`B` A)A)A` A)A)AA`A`AAA`. A}      8D8TPA}808D8T@D80L0TA}D@HHHHHH4@(((A}(80808DLD808````hhth|h8@DLTA}XTLD@FFFFFFFFFF888D8D88D8A}TP880808DLD808TTTPD@8@D8DA}8``th80L0`hhDA}DDTDTD00DD0``ht|88A}8L88``hhh$$($(088A}88L88TP@@(h(h((hA}88@8@DL00DD0TTD8DA}08D8`h| A} ilooooooooooooooooooooooo A} || A}okigfedcba``p  omkigeca`A}   omkigeca`@QSZ HI THERE! DO YOULIKE MY VECTOR SCROLLER? NICE, ISN'T IT? OK... I KNOWE} THATYOU ARE LOOKING FOR ANOTHER EFFECTS ON THIS SCREEN... SORRY!THERE IS ONLY THIS SCROLLER! (YOU KNOW WHY - YOUR COMPUTERE} ISTOTALLY BUSY WITH THOSE VECTORS...) BUT LET'S BEGIN WITH SOCALLED "CREDITS"... THIS MUSIC WAS WRITTEN BY TORSTEN KE}ARWOTH(I GOT IT FROM "SOUNDMONITOR PROFESSIONAL V1.2" DISK) GRAPHICS, TEXT, PACKING, AND (YEAH!) PROGRAM BY >>> BEWESOFTE} =JIRI BERNASEK <<< (OH SHIT! I CAN'T WRITE MY NAME CORRECTLY,BECAUSE I HAVEN'T DEFINED CZECH LETTERS!!!) THE BASIC IDEE}A OFTHIS SUPER FAST DRAW-ROUTINE CAME FROM ONE CZECH MAGAZIN(AMATERSKE RADIO 2/1991, PAGE 59). BUT THE ROUTINE IN THATMAGAE}ZIN WAS WRITTEN FOR SINCLAIR ZX SPECTRUM (UN)COMPUTER, INZ80 ASSEMBLER OF COURSE. I TRANSLATED IT FOR OUR GREAT ATARIXL/XE,E} AND THEN I USED IT FOR DRAWING "CURSOR" IN MY GAME>TETRIS 3D<. AFTER A YEAR (THAT MEANS YESTERDAY) I GOT THE IDEATO CREATEE} THIS SCROLLER. SO, I MADE FEW CHANGES IN THE ROUTINE(TO SPEED IT UP), AND THEN I INCLUDED IT INTO THIS DEMO! ANDWHAT WIE}LL BE NOW? OF COURSE GREETINGS! SO, GREETINGS (INRANDOM ORDER...) TO: PIRX OF OUR 5OFT OF BLOODY CODERS A.B.B.U.E}C. E.V. (ATARI BIT BYTER USER CLUB) FRANKENSTEIN OFHTT (MEGA MAGAZINE IS REALLY GREAT!!!) M.G.&MEGASOFT DIETER POPPE} (LORD HELMCHEN OF W.A.F.) THOMAS MORPER (BUG ONXL OF W.A.F.) ERHARD PUETZ CHRISTOPH RATZKA S.C.C.(PRAHA-STRASNE}ICE) AND EVERY ATARI-FREAX!!! AND NOW AMESSAGE FOR EVERY CRACKERS OR HACKERS: DON'T LOOK INTO THE CODEOF THIS DEMO!!!E} IT IS VERY CHAOTIC!! THERE IS (FOR EXAMPLE) ALOOK-UP TABLE (240 BYTES) IN ZERO PAGE, ETC. ETC... BETTERTRY TO CRACK THIE}S CODE... B5E0F60848DDDCF2030CED0DF9CF4CEC40D7D50C02FCF60209FDFA47EB019669FB04FFFF0FCFDD10F80640EA9957C81401FA47CDECF4FA12F5E}0205C7 DO YOU KNOW WHAT IT MEANS? IF NOT, THEN YOUAREN'T A GOOD CRACKER (OR HACKER)! AND THAT'S ALL... GOODBYE! E} T, THEN YOUAREN'T A GOOD CRACKER (OR HACKER)! AND THAT'S ALL... GOODBYE! D) ORG $3A00,$A800 JMP DEMO ************************************* * * * V E C T O R S C R O L L E R * * * * A siI}mple demo by * * * * BEWESOFT - Jiri Bernasek * * * * Finished in Prague, 93-02-15 * * * *****************I}******************** ** Maximal speed: CAS EPZ 5 ** Music... MPINIT EQU $41CE ;Initialize MPPLAY EQU $41CE+3 ;Play MUSIC EQI}U $4800 ;Song data ** Text adress TEXT EQU $5300 ** Variables... X1 EQU $3900 ;Parameters X2 EQU X1+1 ;of DRAW Y1 EQU X2+1I} ;routine Y2 EQU Y1+1 OBRAZ EQU Y2+1 ;#of active * ;screen BASET EQU OBRAZ+1 ;fine pos. TXOF EQU BASET+1 ;pos.in txt *WorI}king variables of scroller TBOF EQU TXOF+1 ;Position * ;in scroll DFOF EQU TBOF+1 ;Pos. in * ;definition * ;of letter KJ}RTX EQU DFOF+1 TIMER EQU KRTX+1 ;Timer... ** Zero-page (0,1 used by music!) *Working variables of DRAW-routine DX EPZ 3 ;DJ}ifference X DY EPZ 4 ;Difference Y HDXDY EPZ 5 ;Value DX-DY COUNT EPZ 6 ;Counter of points F EPZ 7 ;F value ** Tables in zerJ}o-page!! BITM EPZ 8 ;Table of * ;8 points * ;in a byte ZTAB EPZ $10 ;Look-up * ;table for * ;actual * ;screen! * J}(240 bytes) ** Tables... XT1 EQU $3000 ;Tables of YT1 EQU $3080 ;positions XT2 EQU $3100 ;on the YT2 EQU $3180 ;screen... XTJ}3 EQU $3200 YT3 EQU $3280 XT4 EQU $3300 YT4 EQU $3380 XT5 EQU $3400 YT5 EQU $3480 DEFS EQU $3500 ;Defs. of * ;letters ** J}Screen memory VRAM1 EQU $B100 VRAM2 EQU $A100 VRAM3 EQU $2100 ** Dsplay list DL DFB 112,112,112 DFB 13+64 ;Picture DFW $J}5000 ;"BEWESOFT" DFB 13,13,13,13,13,13,13,13 DFB 13,13,13,13,13,13,13,13 DFB 13,13,13,13,13,13,13 DFB 112,112,112 DFB J}15+64 ;Main DLLM DFW VRAM1 ;screen DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DJ}FB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15J },15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,1J }5,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15,15 DFB 15,15,15,15,15,15,15 DFB 65 DFW DL ** DRAW rouJ }tine! * (Inputs: X1,X2,Y1,Y2) DRAW LDA X2 CMP X1 BCS DRAW2 LDX X1 ;If X2DY, CMP DY ;it is a BCS DRAW5H ;horizontal * ;line LDA DY ;Set number STA COUNT ;of points IJ}NC COUNT LSR ;And F STA F ;value LDA Y1 ;Set the ASL ;right 'Y' CLC ;into the ADC #ZTAB ;routine STA DRAW6V+1 STJ}A D6V2+1 JMP DRAW6V ;And draw! ** "Horizontal" lines going down DRAW5H LDA DX ;Set number STA COUNT ;of points INC COUNJ}T LSR ;And F STA F ;value LDA Y1 ;Set the ASL ;right 'Y' CLC ;into the ADC #ZTAB ;routine STA DRAW6H+1 STA D6H2+J}1 JMP DRAW6H ;And draw! ** Lines going up... DRAW3 LDA X2 ;Calculate SEC ;difference SBC X1 ;between STA DX ;start anJ}d * ;end of the LDA Y1 ;line SEC SBC Y2 STA DY LDA DX ;And the SEC ;value SBC DY ;DX-DY STA HDXDY LDA DX ;If DXJ}>DY, CMP DY ;it is a BCS DRAW4H ;horizontal * ;line LDA DY ;Set number STA COUNT ;of points INC COUNT LSR ;And F J}STA F ;value LDA Y1 ;Set the ASL ;right 'Y' CLC ;into the ADC #ZTAB routine STA DRAW7V+1 STA D7V2+1 JMP DRAW7V ;AnJ}d draw! ** "Horizontal" lines going up DRAW4H LDA DX ;Set number STA COUNT ;of points INC COUNT LSR ;And F STA F ;valJ}ue LDA Y1 ;Set the ASL ;right 'Y' CLC ;into the ADC #ZTAB ;routine STA DRAW7H+1 STA D7H2+1 JMP DRAW7H ;And draw! J}** The main draw-routines... ** "Horizontal" lines going down DRAW6H LDA (0),Y ;Display ORA BITM,X ;one point D6H2 STA (0)J},Y LDA F ;Finish SEC ;previous SBC HDXDY ;calculati- * ; on * Now A=-F(X+1,Y+0.5) BCS HODI7 ;-F>0 => * ;Diagonal J}* ;step * Horizontal step * -F((X+1)+1,Y+0.5)=-F(X+1,Y+0.5)+DY, * but in the next step we'll calculate * -F(X+1,Y+0.5)+DYJ}-DX (It's the * calculation for diagonal step). * So, we need to add DX now! ADC DX STA F JMP HODIL * Diagonal step... J}HODI7 STA F CLC ;Move to LDA DRAW6H+1 ;the next ADC #2 ;line STA DRAW6H+1 STA D6H2+1 * Move to the next X position HJ}ODIL DEX ;Next pos. BPL HODIL2 ;in byte LDX #7 ;Restore... INY ;And next * ;byte! HODIL2 DEC COUNT ;Next point BNE J }DRAW6H RTS ** "Vertical" lines going down DRAW6V LDA (0),Y ;Display ORA BITM,X ;one point D6V2 STA (0),Y LDA DRAW6V+1 J!};Move to CLC ;the next ADC #2 ;line STA DRAW6V+1 STA D6V2+1 LDA F ;Calcula- CLC ;tions... ADC HDXDY BCS VEN6 ADJ"}C DY STA F JMP HODILV VEN6 STA F DEX BPL HODILV LDX #7 INY HODILV DEC COUNT BNE DRAW6V RTS ** "Horizontal" liJ#}nes going up DRAW7H LDA (0),Y ;Display ORA BITM,X ;one point D7H2 STA (0),Y LDA F ;Calcula- SEC ;tions... SBC HDXDY J$}BCS HODI7B ADC DX STA F JMP HODILB HODI7B STA F SEC ;Move to LDA DRAW7H+1 ;the line SBC #2 ;above STA DRAW7H+1 SJ%}TA D7H2+1 HODILB DEX BPL HODIL2B LDX #7 INY HODIL2B DEC COUNT BNE DRAW7H RTS ** "Vertical" lines going up DRAW7V J&}LDA (0),Y ;Display ORA BITM,X ;one point D7V2 STA (0),Y LDA DRAW7V+1 ;Move to SEC ;the line SBC #2 ;above STA DRAW7V+1J'} STA D7V2+1 LDA F ;Calcula- CLC ;tions... ADC HDXDY BCS VEN6B ADC DY STA F JMP HODILVB VEN6B STA F DEX BPL HJ(}ODILVB LDX #7 INY HODILVB DEC COUNT BNE DRAW7V RTS ** Initialize the DRAW-routine... INIT LDX #7 ;Initialize LDA #J)}$80 ;bit-map I2 STA BITM,X ;table LSR DEX BPL I2 * Look-up table for screen 1... LDX #0 LDA #VRAM1:L LDY #VRAM1:H I3J*} STA $B000,X PHA TYA STA $B001,X PLA CLC ADC #32 BCC I4 INY I4 INX INX CPX #240 BCC I3 * Look-up table for screJ+}en 2... LDX #0 LDA #VRAM2:L LDY #VRAM2:H I5 STA $A000,X PHA TYA STA $A001,X PLA CLC ADC #32 BCC I6 INY I6 INX J,} INX CPX #240 BCC I5 * Look-up table for screen 3... LDX #0 LDA #VRAM3:L LDY #VRAM3:H I7 STA $2000,X PHA TYA STA $J-}2001,X PLA CLC ADC #32 BCC I8 INY I8 INX INX CPX #240 BCC I7 * RTS ** Initialize screen 1... CLS1 LDX #0 TXA CJ.}LS1B STA $B100,X ;Clear STA $B200,X ;screen 1 STA $B300,X STA $B400,X STA $B500,X STA $B600,X STA $B700,X STA $B800,X J/} STA $B900,X STA $BA00,X STA $BB00,X STA $BC00,X STA $BD00,X STA $BE00,X STA $BF00,X DEX BNE CLS1B LDX #239 ;Copy tJ0}he CLS1C LDA $B000,X ;table of STA ZTAB,X ;screen 1 DEX ;into main CPX #255 ;look-up BNE CLS1C ;table RTS ** The sameJ1} for screen 2... CLS2 LDX #0 TXA CLS2B STA $A100,X STA $A200,X STA $A300,X STA $A400,X STA $A500,X STA $A600,X STA $J2}A700,X STA $A800,X STA $A900,X STA $AA00,X STA $AB00,X STA $AC00,X STA $AD00,X STA $AE00,X STA $AF00,X DEX BNE CLS2J3}B LDX #239 CLS2C LDA $A000,X STA ZTAB,X DEX CPX #255 BNE CLS2C RTS ** And for screen 3... CLS3 LDX #0 TXA CLS3B SJ4}TA $2100,X STA $2200,X STA $2300,X STA $2400,X STA $2500,X STA $2600,X STA $2700,X STA $2800,X STA $2900,X STA $2A00J5},X STA $2B00,X STA $2C00,X STA $2D00,X STA $2E00,X STA $2F00,X DEX BNE CLS3B LDX #239 CLS3C LDA $2000,X STA ZTAB,X J6} DEX CPX #255 BNE CLS3C RTS ** Initialize I/O ports... HWINI LDA #0 ;Disable CLD ;interrupts SEI ;DMA and STA 5428J7}6 ;PMG STA $D400 STA 53277 LDA #$FF ;BASIC-ROM STA $D301 ;off, cold STA 580 ;RESET LDA #0 ;Clear LDX #8 ;GTIA and HWJ8}2 STA $D000,X ;POKEY STA $D008,X STA $D010,X STA $D016,X STA $D200,X DEX BPL HW2 LDY #VBI:L ;Set the LDX #VBI:H ;adrJ9}ess of LDA #6 ;VBI JSR $E45C JSR CLS3 ;Initialize * ;screen 3, LDA #2 ;and turn STA OBRAZ ;to it LDY #MUSIC:H ;InitJ:}ialize LDX #MUSIC:L ;music JSR MPINIT LDA #$92 ;Set colors STA $D01A STA $D018 LDA #$48 STA $D016 LDA #$4C STA $D01J;}7 LDA #64 ;Enable VBI STA 54286 RTS ** VBI routine... VBIT1 DFW VRAM1,VRAM2,VRAM3 VBI LDA #DL:L ;Set adress STA $D40J<}2 ;of DL LDA #DL:H STA $D403 LDA #33 ;Enable DMA STA $D400 LDA OBRAZ ;Switch to ASL ;correct TAX ;screen# LDA VBIJ=}T1,X STA DLLM LDA VBIT1+1,X STA DLLM+1 LDA TIMER ;Support BEQ VBIEX ;for timer DEC TIMER VBIEX JSR MPPLAY ;Play musicJ>} JMP $E462 ;Exit... ** The main demo-program... DEMO JSR HWINI ;Initialize * ;hardware JSR INIT ;and DRAW * ;routineJ?} JSR SCROLIN ;Initialize* ;text- * ;scroller LDA #CAS ;Initialize STA TIMER ;timer ** Main loop DEML JSR CLS1 ;IntJ@}ialize * ;screen 1 JSR KRESLI ;Paint text LDA #0 ;Switch to STA OBRAZ ;this scrn. JSR CLS2 ;Initialize * ;screen 2 JA}JSR KRESLI ;Paint text LDA #1 ;Switch to STA OBRAZ ;this scrn. JSR CLS3 ;Initialize * ;screen 3 JSR KRESLI ;Paint textJB} LDA #2 ;Switch to STA OBRAZ ;this scrn. JMP DEML ;And again! ** Initialize scroller... SCROLIN LDA #125 ;Position STAJC} BASET ;in letter LDA #TEXT:L ;Adress of STA TLDA+1 ;text LDA #TEXT:H STA TLDA+2 RTS ** Paint the text! KRESLI LDA #JD}0 ;Pointer in STA TXOF ;the text LDA BASET ;Position STA TBOF ;in the * ;table of * ;screen- * ;-positions KRE1 LDJE}X TXOF TLDA LDA $FFFF,X ;Get letter CMP #31 ;End of BNE KRE2 ;text ? LDA #TEXT:L ;Yes... STA TLDA+1 ;Back to LDA #TEXTJF}:H ;the begin! STA TLDA+2 JMP KRE1 * KRE2 BCC KRE2B ;code<32? CMP #96 ;or >96? BCC KRE3 * ;Wrong code KRE2B LDA #32 ;->JG}space KRE3 SEC ;Internal SBC #32 ;code... STA DFLD+1 LDA #0 ;Position ASL DFLD+1 ;in the ASL DFLD+1 ;table= ASL DFLDJH}+1 ;code*16 ROL ASL DFLD+1 ROL CLC ADC #DEFS:H STA DFLD+2 * LDA #0 ;Position STA DFOF ;in the * ;definition * ;oJI}f letter KRE4 JSR DFLD0 ;Get code * ;of start * ;of a line * ;from def. * ;of letter BMI KRE5 ;End of * ;def.? JJ} JSR KRETA ;Get actual * ;position STX X1 ;from the STY Y1 ;table JSR DFLD0 ;And the BMI KRE5 ;same for JSR KRETA ;thJK}e end STX X2 ;of the STY Y2 ;line... JSR DRAW ;Draw line! LDA DFOF ;End of CMP #16 ;def.? BCC KRE4 KRE5 INC TXOF ;NeJL}xt * ;letter LDA TBOF ;Next pos. SEC ;in table SBC #3 ;of screen- STA TBOF ;-positions BCC KRE5B ;<0 -> End CMP #JM}2 ;>2 -> Cont BCS KRE1 * KRE5B INC BASET ;Next pos. BPL KRE7 ;in letter LDA #125 ;End -> STA BASET ;restore it INC TLDJN}A+1 ;And move BNE KRE7 ;to next INC TLDA+2 ;letter KRE7 LDA TIMER ;Wait till BNE KRE7 ;TIMER=0 *(If there are only few leJO}tters on the * screen, the scroll will not speed up * too much now...) LDA #CAS ;Restore STA TIMER ;the timer RTS ** GeJP}t one byte from definition of ** a letter DFLD0 LDX DFOF ;Position INC DFOF ;in def. DFLD LDA $FFFF,X ;Get byte RTS ** CoJQ}nvert the byte from letter-def. ** into real screen-position... KRETA PHA LSR LSR AND #7 ;# of table ORA #$30 STA KRTL+JR}2 PLA ;Offset AND #3 ;in the STA KRTX ;table LDA TBOF ;Add pos. SEC ;in whole SBC KRTX ;scroll- TAY ;-line JSR JS}KRTL ;Get X-pos. TAX TYA ;Switch to ORA #128 ;second TAY ;half of * ;the table JSR KRTL ;Get Y-pos. TAY RTS ** JT}Get a position from table... KRTL LDA $FF00,Y RTS ** And that's all!! JU}om table... KRTL LDA $FF00,Y RTS ** And that's all!! H VECTOR SCROLLER SOURCE ====================== How to get it working (from sourcecode of course)...1) Read DEMO.SRC iNW}nto ATMAS II assembler (ESC R D:DEMO ESC ESC)2) Compile it (CTRL+Y, any key while finished)3) Save it to disk (CTRLNX}+P to enter monitor, and then S A800 xxxx 3A00 D:name, where xxxx is endadress shown after compilation)4) Add (appNY}end) the files TABLES.OBJ, BEWESOFT.OBJ, MUSIC.OBJ, and TEXT.OBJ5) Add RUN adress 3A00 (Put E0 02 E1 02 00 3A at tNZ}he end of the file)6) Start it! For info about the fast DRAW-routineused in this demo, see the article onthe first sideN[} of this MegaZine!P.S. One tip for cracking the code in the scrolltext: Get a byte from the code, EOR it witN\}h $FF, and add the byte before (unprotected - for first byte it is 0). You'll get an ATASCII text. - BEWESON]}FT - Jiri Bernaseke before (unprotected - for first byte it is 0). You'll get an ATASCII text. - BEWESOLPPҍ/ 8P bW0u357:;= QL.QH0P1PP0PPP0PQQQQ Q#Q&Q)QV_}0QQQQ!Q$Q'Q*QuPύQQQ QQ3P5Q7Q: Q; Q=QPTP,QP-Qh`WWRV`}BVPQ V V V V V fffffffFA// p FAZ0LQ LQԭVTVa}QLQ= NTQFB OTQ9GH PTQ*N QTQR RTQX STQQV ԌԍV ԍ|0 Vb}LwLDQQRRL\HHHMMT:MTԭPͭPΠPP1PPPPPPMTԭNT8NT)NTPVc}ͭPΠ tP4PPPOT8OT))OTQͭQΠ ΍Q6QQQPT8PT)PTQͭQΠ Q8Vd}QQQQT8QTRS))QTQͭ QΠ Q; QQ QRT8RT))RT Qͭ QΠ Q< Q Q QST8Ve}ST))STQͭQΠ Q>QQQVTVTVTLTLTLTԭWTiWTU(i i i iVf}iiZTYTiSTYTZTTiɴTUiЭTiɴTU8<[T7hhhL_Vg}****I||WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWSSSSSSSVh}SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTUSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSVi}SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSXXXXXXXXXXXXXXVj}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXnnopUVqrsttuvwxxyz{{|}~~~~}|{{zyxxwvuttsrqVk}ponnmlkjihggfedccba``_^]]\\[ZZYYXXWWWVVVUUUUUUUUUUUUUUUUUVVVWWWXXYYZZ[\\]]^_``abccdefgghijklmnnopqrsttuvwxxyz{{|}~~Vl}~~}|{{zVWyVm}"$&("r *pqrstuvwxyz{|}~~}|{zyxwvutsrqpHHH񩀍ԩЩЩ Ѝ Ѝ Щ Щ1oVn}WWWXhhh`}EEE}AAAAW#X"""8 0Vo}04hisdemowaswrittenby(awkand0ink.o#opyrightsVp}0okey3oftpokeysoft12thegreetingsgoestodetailoftheturkishataricrackingforcecodeonpaVq}lfrankensteinofthehightechteamgoodluckwiththeplatinumdemomichaelhuttonkeepthesoftwarerollinginVr}jaapmorssinkhowistheconversionofsmartw2t3orksgettingalongtommyhermansenkeepcodingrenevanmierloVs}whereareyouandallrealatariansouttherewelliguessitistimetowrapbyyyyeeeeethegreetinVt}gsgoestodet4o5wellhellothereiamscrollinetwointhepokeysoftdemo4(%3%#/.$3#2/,,ataricomputerscanreaVu}llyscrollorwhatifyoulikethisdemopleasewritetotheaddressinscrollineseventhatistheoneyougetaVv}headachefromreadinp55gjusttelluswhatyouthinkwelliguessiwillwrapnowwellhellothereiamsc67wVw}antsomereallygreatmetaltrylisteningtoarcthboththedebutalbumcalledanotherreturntochurchhillandVx}thenewalbumforthesakeofmankinditisreallyexcellentandheavymusicwantsomereallygreatm89welcomVy}etoscrollinefouratarianthiswillbeprettyshortsoijustthrowsomeshitaboutthoselousycomputerscalledcommodVz}orenotreallysuitableasadoormatwhereisthecolorslocatedonthewiresinsideorwhatwontdomuch9:V{}goodthereatarirulesforeverwelcometoscrollinefou;;thislineistotallywithoutspacesandidonotthinkitV|}smuchsenseinprolongingtheagonyofthepersonstryingtoreadthisscrollinesoiguessiquitthisfuckingshitwoV}}wthislineistotallywithout<=welcometoscrollinesixandthisoneisjustanotherscrollfilV~}lerandthetimetofinishthisdemoisveryshortsoiguessiwrapthisshitnowwelcometoscrollinesix>W?V}pleasecontactusonthefollowingaddressvidarolavesenstevneveiengreakV}ernorwaypleasecontactusonthePpw7UtztҩҩqtwtstutWtWttV}XtuYtZtXt Zt\tt[t]t^tZtm_tsu mXtJu`t`tat`tbtҭZtm_tsuat`t Ztm_tV}suat_tm[ttct_tmYtvdtct8 dthtmtgtҩL!q^tcttgtt轎tҭot tVtUtV}UtqtIqtvtL!qUt tVtUt tVtxtotytL/qotytytxt otytUtIt tVtt tVtt tVttV} tVt~tt}tt|ttttttL!qtLrtt~tttttttt́tt}tt|tttL/qUt tVV}tUtetIetetUt8 tVtttUt8 .ptUtwtUtqtetҭwtJ8ҩttqtvttL)ttatV}iҭtҭftiҭft{tftetpt  pt8fttvtrtmwtҭptiҭgtmmtҭhtҭhtmkthtct8 gtgtV}gtct gt8gt^tltktjthtktntmtitgtlt{tI{ttL)ttat8atatqt{tvtvtvt^tV}ttLr_t_t _t\tI\tptpt]t]tL^pWtWt|L0pttet\totqtwtL+p5mtvmtVttiV}ttit`ztLwhLbzttE \`HHHtLrLpsU ssU V}             V}   g3ss9?C!U*g3ss9?C!U*`*`0l0C?s9l V} /*(*/*(V}*(/(#/(#/(/*(*/*(*(/(#/(#/(#/#QH@<@HUl`UQU``Q`Uf`QU`frf`Uf`Q`HU@Q6xo~{>>888>|||f<c6>V}8pp8?w>V}<~~~<||`x`~<~~<0~0 ~ <~~>``f||f88<<wwk~~fff~~ff~~V}~f~``~~f~~~```~`~~~~fff~~ff~<ckwf~<~fff~~~~~0~<~~<~x|ng8x8V}f~``~~f~~~```~`~~~~fff~~ff~<ckwf~<~fff~~~~~0~<~~<~x|ng8x8T*8 PINITX;(Q>2P<PFPPPZP/dX;n DISPLAYx PMGRAPHX;Q>$>CLR1 PZ}EMP19 PEMP29 PEMP39 PEMP49 PEMP59 PEMP69 PEMP790 HCLR1X; STARTVBL !LINEWAIT"X;, DISPLAZ}Y6 DLIST0@X;J5TX;^Q>DLDATAh PDLISTrQ>DLDATA| PDLISTX; Q>EMP1PDLDATAPDLDATAZ}Q>EMP1PDLDATAPDLDATAX;Q>MESS1 PMESSQ>MESS1 PMESSX;Q>POKEY Z}PSCRV1 PSCRV1& PSCRV10 PSCRV1 : PSCRV1 D PSCRV1N PSCRV1X PSCRV1bQ>POKEYl PSCRVZ}1v PSCRV1 PSCRV1 PSCRV1  PSCRV1 PSCRV1 PSCRV1 PSCRV1X; Q>EMP2 PSCRH1Z} Q>EMP3 PSCRH1 Q>EMP4 PSCRH1  Q>EMP5  PSCRH1  Q>EMP6  PSCRH1* Q>EMP74 PSCZ}RH1>X;HQ>EMP2R PSCRH1\Q>EMP3f PSCRH1pQ>EMP4z PSCRH1 Q>EMP5 PSCRH1Q>Z}EMP6 PSCRH1Q>EMP7 PSCRH1X; Q>PICY PPICTQ>PICY PPICTX;Q>DLDATAZ} PJMPDLQ>DLDATA PJMPDL$X;.78:BX;LDLDATA W==V W==` =jPICT R==t =Z}==~ =MESS B== = =SCRH1 V===  V===  V===  V===  V=Z}==  V=== SCRV1 f== f== f== f==  f== f== f==( F==2Z}JMPDL A==<X;F LINEWAITP$>ZWA1d0nHWA1xX;Q>PX;Q>/P/X;X; TURN ON MUSICXZ}; pX;$>%> VCWAIT(  HVCWAITX;"(>F,IM706X;@(>ZJGU90T !SLUTT^U90hX;r(> |Z} HNOUPQ>PԚ !SLUTTNOUPX;(> HSKP0Q>P QPSCRL PDOSCRL !SCRLITSKP0X;(>Z}= HSKC0& QHPOS0 PDOSCRL:,D DSCRLITNSKC0X(>Bb HSKC1l QHPOSv PDOSCRL, DSCRLITSKC1 HSZ}LUTTM70(>H HSKC2 QHPOS PDOSCRL, DSCRLITSKC2(>N HSKC3  QHPOS PDOSCRL ,* DSCRLZ}IT4SKC3>(>RH HSKC4R QHPOS\ PDOSCRLf,p DSCRLITzSKC4(>X HSKC5 QHPOS PDOSCRL, DSCRLIZ}TSKC5X;, DSLUTT SCRLIT %DOSCRL QCOLTAB9 &  ' P$ 2. SLUTT8 QCOLTAB9B & L PV XZ};` 2j (>|t GNORESET~ $> X; CONSOL QЦ R> HNORESET !w NORESET !VCWAIT HP ==== Z}DOSCRL  X; STARTVBL Q> %>VBI $>VBI !\( X;2 VBI< 5F CP 5Z Ad 5n X;x Q>;; ATTRACT OFFZ} PM X; "HPOS HSDL0 Q> PHPOS P QDLDATA P QDLDATA P %> Q@7 R> HCSCR1 Z} Q>SC1B" PDLDATA, PDLDATA6 Q>SC1B@ PDLDATAJ PDLDATAT CSCR1^ #DLDATAh #DLDATAr HSDZ}L1| #DLDATA #DLDATA HSDL1 SDL0 QHPOS PԸ SDL1 X; QHPOS ; S> PHPOS HSDL2 Q>Z} PHPOS X; QSCRH1& P0 QSCRH1: PD %>N Q@7X R>b HCSCR2l Q>SC2Bv PSCRH1 Q>SC2BZ} PSCRH1 CSCR2 X; #SCRH1 HSDL2 #SCRH1 SDL2 X; QHPOS ; S> PHPOS ESDL3 Z}M> PHPOS X;* QSCRH14 P> QSCRH1H PR %>\ Q@7f R>p HCSCR3z Q>SC3B PSCRH1 Q>SZ}C3B PSCRH1 CSCR3 X; #SCRH1 HSDL3 #SCRH1 SDL3 X; QHPOS ; S> PHPOS HSDLZ}4Q>$ PHPOS.X;8 QSCRH1 BPL QSCRH1 VP`%>jQ@7tR>~ HCSCR4 Q>SC4B PSCRH1 QZ}>SC4B PSCRH1  CSCR4X; #SCRH1  HSDL4 #SCRH1 SDL4X; QHPOS; S> PHPOS EZ}SDL5(M>2 PHPOS<X;F QSCRH1 PPZ QSCRH1dPn%>xQ@7R> HCSCR5 Q>SC5B PSCRH1 Z}Q>SC5B PSCRH1 CSCR5X; #SCRH1  HSDL5 #SCRH1SDL5X; QHPOS;S>" PHPOS,Z} ESDL66M>@ PHPOSJX;T QSCRH1^Ph QSCRH1rP|%>Q@7R> HCSCR6 Q>SC6B PSCRH1Z}Q>SC6B PSCRH1 CSCR6X; #SCRH1 HSDL6 #SCRH1SDL6 QHPOS;S>& PHPOS0 EZ}SDL7:M>D PHPOSNX;X QSCRH1bPl QSCRH1vP΀%>Q@7R> HCSCR7 Q>SC7B PSCRH1Z}Q>SC7B PSCRH1 CSCR7X; #SCRH1 HSDL7 #SCRH1SDL7 X; #PSCRL  QPSCRL*R>4 HSDL8Z}>Q>H PPSCRLRSDL8\X;f #VSCROLp QVSCROLzR> HSKVSCQ> PVSCROL SKVSCPԶX; QXSPR,OZ}>?)>HBB1%>BB1 'XSPR QWAVE8$S>(.P8,BO> LPV,`O> jPt,~O> PВZ},O>Pа,O>P,O>PX;"SPRCOL HCOLNO X; QSPRCOL,(O>2 PSPRCOL<X;FZ}PPPZPdPnX;xQ>PSPRCOL COLNOX; QPOSI,O>R> HNWA2Q>NWA2 PPOZ}SI? QWAVE8,O>P"X;,X;6 QPOSI@,JO>TR>^ HNWA1hQ>rNWA1|X; PPOSI?X;Z}'X; QWAVE8;S><?$> DOAPM QPMDAT9P832(>7& HDOAPM0X;:7D>N7X?b7l!Z}_v VSCROL #HPOS ======== PSCRL XSPR =SPRCOL = PMDAT ====*=*=Z}*=*=I = =|====== ======= =|====== =======Z} ======= ===POSI =  COUNT X; PICY* W=W=W=W=W=W=W=W=W4 W> W=WZ}=W=W=W=W=W=W=WH WR W=W=W=W=W=W=W=W=W\ Wf W=W=W=W=W=W=W=W=Wp Wz W=W=W=W=W=W=W=Z}W PICEND S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S S SZ}=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=Z}S=S=S S S=S=S=S=S=S=S=S=S$ S. S=S=S=S=S=S=S=S=S8 SB S=S=S=S=S=S=S=S=SL SV Z}S=S=S=S=S=S=S=S=S` Sj S=S=S=S=S=S=S=S=St S~ S=S=S=S=S=S=S=S=S S S=S=S=S=S=SZ}=S=S=S S S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S SZ} S=S=S=S=S=S=S=S=S S S=S=S=S=S=S=S=S=S S  S=S=S=S=S=S=S=S=S S S=S=S=S=S=Z}S=S=S=S( S2 S=S=S=S=S=S=S=S=S< SF S=S=S=S=S=S=S=S=SP SZ S=S=S=S=S=S=S=S=Sd XZ}=X=X=X=X=X=X=X=Xn Xx X=X=X=X=X=X=X=X=X X X=X=X=X=X=X=X=X=X X X=X=X=X=X=X=Z}X=X=X X X=X=X=X=X=X=X=XX;WAVE n=n=o=p=q=r=s t=t=u=v=w=x=x y=z={={=|=}=~Z} ~====== ====== ====== ====== ======" Z}======, ======~6 ~=}=|={={=z=y@ x=x=w=v=u=t=tJ s=r=q=p=o=n=nT m=l=Z}k=j=i=h=g^ g=f=e=d=c=c=bh a=`=`=_=^=]=]r \=\=[=Z=Z=Y=Y| X=X=W=W=W=V=V V=U=U=UZ}=U=U=U U=U=U=U=U=U=U U=U=U=U=V=V=V W=W=W=X=X=Y=Y Z=Z=[=\=\=]=] ^=_=`=`=a=Z}b=c c=d=e=f=g=g=h i=j=k=l=m=n=n o=p=q=r=s=t=t u=v=w=x=x=y=z {={=|=}=~=~=Z} ====== ====== ====== ====== ======& Z}======0 ====~=~=}: |={={=z=yD COLTABN! =========X! ======Z}===b! =========l! =========v ======= =====Z}== ==== ===== ===== ===== "=$=&=( ="=r===Z}  =*==== p=q=r s=t=u=v=w=x=y z={=|=}=~=~=} |={=z=y=x=w=v u=t=s=r=q=pZ}X;  PMGRAPHX;  PMAREA* PCOUNT4 TEMP>X;H5RA\5fCp5z$>Q>CLRITP9P9PZ}9P92 HCLRITX;Q>PQ>PX;Q>PP$P.P8PBX;LQ>VP`Z}Q>jP tP ~P ЈQ>P МX;Q>1PoX;$>DOPM QPM19P9 QPM29P9 QPM39 PZ}9 QPM49P9(22(>< HDOPMFX;P7Z>d7n?x7:PM1 }=E=E=E=}=A=A A=A======Z} ====PM2 ====== =====" "="=====PM3 ====8== Z}====== =====PM4 ==== = =   = ===== =====X;0Z} MESS1" ==,! =========6 4=AhisA==AdemoA=@! AwasA==AwrittenA==AbyAJ! ==Z}=======T! =========^ ========h$ (=AawkA==AandA==0=AinkAr$ Z}==========|* ============( ===.=Ao A==#=AopyrightsA! ==Z}====0=Ao keyA) =3=Ao ftA======== POKEY% ===Ap A==AoA==AkA=# AeA==AyA=Z}==AsA==AoA =AfA==AtA===EMP1 SC1B =AtheA==AgreetingsA=! AgoesA==AtoA=Z}=AdetailA$ =AofA==AtheA==AturkishA  =AatariA==AcrackingA # =AforceA====AcodeA=  AonA==AZ}palA====&  AfrankensteinA==AofA=0 # AtheA==AhighA==AtechA=: ' AteamA====AgoodA==AluckAD Z} =AwithA==AtheA=N & AplatinumA==AdemoA====X $ AmichaelA==AhuttonA===b $ AkeepA==AtheA==AZ}softwareAl & =ArollingA==AinA====v # AjaapA==AmorssinkA=== AhowA==AisA==AtheA=  AconveZ}rsionA=  AofA==AsmartworksA= & AgettingA==AalongA==== % AtommyA==AhermansenA=== $ AkeepA=Z}=AcodingA==== " AreneA==AvanA==AmierloA # ===Aw hereA==AareA= ' AyouA=====AandA=Z}=AallA =ArealA==AatariansA= ( AoutA==AthereA====== % =AwellA==AiA==AguessA= & AitAZ}==AisA==AtimeA==AtoA! =AwrapA===== ! =====AbyyyyeeeeeA! ====== ! AtheA=Z}=AgreetingsA=*! AgoesA==AtoA==AdeA4! >!X;H!EMP2R! \!SC2Bf!& =AwellA==AhelloA==AthereAp!$ Z}=AiA==AamA==AscrollineAz!# =AtwoA==AinA==AtheA=!% ApokeyA==AsoftA==AdemoA=!! 4=(=%==3=%=Z}#=/=.=$!! =3=#=2=/=,=,===!' ====Aa tariA==AcomputeA! ArsA==AcanA==AreallyA! =AsZ}crollA!) =AorA==AwhatA======! ====Ai fA=!# AyouA==AlikeA==AthisA=!$ AdemoA==ApZ}leaseA==AwriteA!' =AtoA==AtheA==AaddressA=!% AinA==AscrollineA==AsevenA!( ===At hatA==AisA=Z}=AtheA"$ =AoneA==AyouA==AgetA="% AaA==AheadacheA==AfromA="" AreadingA====AjustA=$"" AtelZ}lA==AusA==AwhatA=."" AyouA==AthinkA====8"" =AwellA==AiA==AguessAB"$ =AiA==AwillA==AwrapZ}A=L" AnowA======V"# AwellA==AhelloA==AthereA`" =AiA==AamA==AscAj" t"X;~"EMP3" "Z}SC3B"& =AwantA==AsomeA==AreallyA"' =AgreatA==AmetalA====" =AtryA=" AlisteningA==AtoA=Z}") AarcthA=======AbothA="% AtheA==AdebutA==AalbumA="$ AcalledA====AanotherA="& AretZ}urnA==AtoA==AchurchA="( AhillA====AandA==AtheA="& AnewA==AalbumA====AforA#$ =AtheA==AZ}sakeA==AofA= #& AmankindA====AitA==AisA## =AreallyA==AexcellentA=#" AandA==AheavyA==AmusicAZ}(# =======2## AwantA==AsomeA==AreallyA<# =AgreatA==AmAF# P#X;Z#EMP4d# n#SC4Bx# Z}=AwelcomeA==AtoA=# AscrollineA==AfourA=# AatarianA====#% =AthisA==AwillA==AbeA=#% AprZ}ettyA==AshortA==AsoA=#" AiA==AjustA==AthrowA=#" AsomeA==AshitA==AaboutA# =AthoseA# =AlousZ}yA==AcomputersA# =AcalledA==AcommodoreA#$ ====An otA==AreallyA#& =AsuitableA==AasA==AaA=Z}# AdoormatA=====#" AwhereA==AisA==AtheA=$$ AcolorsA==AlocatedA===$# ====Ao nA==A[}theA=$" AwiresA==AinsideA==AorA"$" =AwhatA====AwontA=,$" AdoA==AmuchA==AgoodA=6$' AthereA=[}======AatariA@$& =ArulesA==AforeverA===J$$ ==========T$ AwelcomeA==AtoA=^[}$ AscrollineA==AfouAh$ r$X;|$EMP5$ $SC5B$" =AthislineistotallywithoutA$ AspacesandidonotthinkA$ [}AitsmuchsenseinprolongingA$! AtheagonyofthepersonstryingA$ AtoreadthisscrollinesoiA$ AguessiquitthisfuckingshitA$- [}=============$& AwA==========$& AoA==========$& AwA[}==========$$ ==========% AthislineistotallywithoutA% %X;&%EMP60% :[}%SC6BD% =AwelcomeA=N% AtoA==AscrollineAX%# =AsixA==AandA====b%! AthisA==AoneA==AisA=l% A[}justAv%! =AanotherA==AscrollA=%! AfillerA==AandA==AtheA%$ =AtimeA==AtoA==AfinishA%" =AthisA=[}=AdemoA==AisA% =AveryA==AshortA=% AsoA==AiA=%" AguessA==AiA==AwrapA=% AthisA==AshitA=[ }=AnowA%- =============%$ AwelcomeA==AtoA==AscrollA% AineA==AsixA% %X;%EM[$}pw7UtztҩҩqtwtstutWtWttXtuYtZtXt Zt\tt[t]t^tZtm_tsu mX_ }tJu`t`tat`tbtҭZtm_tsuat`t Ztm_tsuat_tm[ttct_tmYtvdtct8 dthtmtgt_ }ҩL!q^tcttgtt轎tҭot tVtUtUtqtIqtvtL!qUt tVtUt tVtxtotytL/qot_ }ytytxt otytUtIt tVtt tVtt tVtt tVt~tt}tt|ttttttL!qtLrtt~tt_}tttttt́tt}tt|tttL/qUt tVtUtetIetetUt8 tVtttUt8 .ptUtwtUtq_}tetҭwtJ8ҩttqtvttL)ttatiҭtҭftiҭft{tftetpt  pt8fttvt_}rtmwtҭptiҭgtmmtҭhtҭhtmkthtct8 gtgtgtct gt8gt^tltktjthtktntmtitgtlt{tI_}{ttL)ttat8atatqt{tvtvtvt^tttLr_t_t _t\tI\tptpt]t]tL^pWtWt|_}L0pttet\totqtwtL+p5mtvmtVttittit`ztLwhLbzttE \`HHHtLrLpsU _}ssU        _}         g3ss9?C!U*g3ss9?_}C!U*`*`0l0C?s9l _} /*(*/*(*(/(#/(#/(/*(*/*(*(/(#/(#/(#/#QH@<@HUl`UQU``_}Q`Uf`QU`frf`Uf`Q`HU@Q6xo~{>>888>|||f<c6>8pp8?c }w><~~~<||`x`~<~c!}~<0~0 ~ <~~<~~f~``~~f~~~``~~~f~~f~`~~~~f~~``~~ff8888<>>``f||f88c"}<<wwk~~fff~~ff~~~f~``~~f~~~```~`~~~~fff~~ff~<ckwf~<~fff~~~~~0~<~~<c#}~x|ng8x8f~``~~f~~~```~`~~~~fff~~ff~<ckwf~<~fff~~~~~0~<~~<`P7&  &SC7B&! =ApleaseA==AcontactA= & AusA==AonA==AtheA=*& AfollowingA==AaddressA4& ===[%}====>& =======H&$ AvidarA=====AolavesenAR&! =========\&! Astevnevei[&}enA=====f&! =========p& =======z& AgreakerA&! =========['}& AnorwayA======&! =========&$ ApleaseA==AcontactA==AusA& =AonA==AtheA&[(} &orwayA======&! =========&$ ApleaseA==AcontactA==AusA& =AonA==AtheA&X