QNsp N ON aO`  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#35b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")"O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#35b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")"JTILTDEMO117AUTO  yFLASH3D PRG 4~ OIgPz2݂"@kխUJk:g8 ,XbP P !tMpfuҮPxlLbr xaW n^޼tm8P<;:U+As}QX;5k;[v>)/ *6U53k#<VΆ%*1NU `<]+G^6g`2A}b8g-.q(p[xg+d*jrTt(v[&xj&XpŸAAٝfĠg n h1G#]rcU ~q/1ܶgLD1N۫^?u^8HAk bvF@gz%19 GXLa(HSfhȱg^ t[fel`HJ..  y..  yOLDDEM12PRG `sI N?X@2rJ@j.4Z@jBZ@jBZ@jBZ2Q0Nu4Z@jBwwBpZ@jBwwBpZ@jBwwBpZ2Q0Nu@ k\H|n|mpA^@af`P@|nD@@k2aJ`4@|oPx`D@a,`p2<"Q`LHNuwwwwwwwwwwwwwwwB8`H :H!AC(p0:BR@3vaNAX NupNuADCsaJkCsa`NsAsC LLHA mNuFLASH3D.PRG0:|mA`2Av`*|~m|lA`A`|TlA@`A~HPCNA :<NuNu H@1@H@23@*3@T3@~3@3@3@3@&3@CzQNu H@1@H@23@*3@T3@~3@3@3@3@3@CzQNu H@1@H@23@*3@T3@~3@3@3@3@3@CzQNu H@1@H@23@*3@T3@~3@3@X3@3@3@CzQNu H@1@H@23@*3@T3@~3@.3@X3@3@3@CzQNu H@1@H@23@*3@T3@3@.3@X3@3@3@CzQNu H@1@H@23@*3@3@3@.3@X3@3@3@CzQNu H@1@H@23@3@3@3@.3@X3@3@3@CzQNu Hey ho dildo! Scrolltime! Once again back is the incredible Kryst-animals D-Carebears number one!... Time for lust, time for love, time to put a fork up your rectum... Ying tong iddle i po. Captain Onga Wonga molest chickens. TEX explained in the end to remove bottom border. We'll explain the meaning of life... We hate spain and its animal sacrifising rituals. If THAT is their cultural inheritage, then OUR is to rape and savage middle Europe like the Vikings! It would be allright if they killed humans, but innocent animals, up my bum beard boys!! Hey Mr Wobbly Bottom Young Lad! Eat my vaginal discharge. Talking about that, a fine hi to Marc (Genital Grinder) and Dave (Toxic Foeatus Eater). Give uncle Clive a blow from us!... Important Note!!! This is not a randomly written text. There is a thought behind every single word. Read Finnegans Wake and see if you understand THAT! A great set of hello's are sent to the Bitmaps, Steve and the lot! We are misunderstood musicians. Headache and crisps. Vomit. Hi to Gillan (Douge De Mauve) Take good care of yourself mate!... Uhu! I am apparently the only non Alcohol drinker in my surrounding. And that is all because of the Nirvana evening when Lars (A.D), Grant (Sadistic Executioner), Tony (T.A.K) and me (Tanis, Niklas) freaked out in an orgy of Sex, Violence, Liquor, mr Goggly Man, Spew and premature autopsy... Yo Posthuma! You might be a Lost Boy, but you are a great chap anywayzzz. Cherry Coke standing one week open transshapes to solid!.. I am an artist, and so is Lars, and thus a few words about art would not be out of place. Personally my favorite painters are Rembrandt and Brueghel who I think master light as well as detailed painting. Lars' favorites are Da Vinci, whose sketches are stunning, and Alexander Roslin who we all know is the master of stoff painting. Just look at the painting "Kvinnan i Sljan". Peǫ9g6pQg ҙ#9fJ=vZ.ǡf"!C?F~Bg/ aAoX0Vp8AJ@jD|ohyD@7Sv~/mHx#9S \a BO@OkSN@x1t:u%NN9%f'92#e~F%p =7bg+$gO\4ME` K f_j^vX!|@ 9g g.]`OV4Xu"2aNBBS53"#@yJ!lrpXrZKTiY qƄ#N#ʹN=JygJg #fRf~H~w҂Z8c5TsA} WBgHjS?J=NArfect example... Now when we have written, roughly estimated, 3 metres of text, I think it is time for what everybody are expecting and waiting for. :- Yes, our dicksizes! Nick is not called Nick for nothing - Nick the Dick! We've got a winner here!.. Our looser is An Cool who is not called Un Cool for nothing - Mr Petty Nob! Jas, me and Lars are all pretty even, so we share the second place. Talking about dicks. Meet the biggest prick in the world. Welcome to reality Mr Tyrem Kimmlingen. But apart from him, I'd like to send some sincere greetings to Brechi (Hawkmoon), who just might be the most intelligent person in his surrounding, Klaus (Duke), for being a swell, but violent bloke, Melvina (Mali) who just might be the most attractive cartoonist I know... Time to say hi to an old chum. Charlie Manson. "I make my laws like this". We wish you a long and prosperous life! I know you are a Bing Crosby fan. Talking about Bingie-boy. Have anybody heard "In Da Gadda Da Vida" by Iron Butterfly 1967. Don't you know that I love you! Kiss the boots of shiny, shiny leather. Velvet Underground. Taste the whip, girl! Jefferson Airplane. Old 67-hippiebunch. White Rabbit. And if you have some kind of mushroom... To find the true dimension of life lest we forget. Dead can Dance. White walls beyond sanity appeals to me like flowers in a newborn mist... Replicants. Snake anywayz. Long time ruling crakksters. Rule and drool. Heavy babes... Some words from woman to woman. i.e from us to Vaughn Bode'. The best cartoonist ever has ever has honoured our planet with the amazing works of wonder streaming out of his creative mind... Throng gong hep! Judge Link! Hello... Hey duuude! Duude! Who's this? It's me! Duuude! Anybody seen Fingered by Richard Kern? If not, I'd say you'd better get down to your local video rental and get you festering hands on it. Lydia Lunch, who we all know is a singer of great originality, stars as herself in this picture of brutality, pornography and an appaling misuse of verbal expressions. We see Lydia get raped, fistfucked and beaten as well as raping and punishing another female. A truly appaling film, is my verdict! Seeing this film, I cannot avoid thinking about the most gruesome of the Alcoholica Babes, Mr Sadistic Executioner. If you'dmeet him, you'd know what I mean! But let's leave the brutality and look at the good things in life... Nature... Call me a wimp, but I just adore our mysterious mother. Take a walk in the forest a morning at 5 when the mist lies thick over petals. Just look closely at the dew reflect the morning light as well as the greenish tone of from the petal itself. And this is what we destroy. This is what we neglect. Our mother and our ancestors die because of our ignorance. Nick said I could write about anything but the environment, but I'd say he can eat my pubis. This is what I evaluate and hold dear, so I write about, period. Now, I have said mine, so let's get down again. Flake was putrid ash. Bitch has nosehair from hell and earwax sculptures under her scorchered hardcore vagina. Har de har har de har. Are we talking fluffy toys mr Nicolas Parsons? We are talking very fluffy toys! Enbalming fluid! The Lost Boys need greetings no matter how strange it may sound. So yoddeli yoddeli mates! Also I promised to a certain Alexander Puy some greetings, so wovo wovo! Brain drain parties are draining. Too bad I am a non alcoholer which thus makes it hard for me to follow the crowd. No matter how off place this may sound, I think we should pass a few hellos to the Union.. Erik, Bittner, Jochen, Raasch, Andreas and Jurie Horneman though he is not a unioner, but one of the few friends I know love Kate Bush as well. Now let's discuss wallpaper. An old classmate of mine boasted about spunk-lines on his wall from previous masturbation sessions. Sicko Sicko! My wallpaper is plain white without such colourful customized design. The worst wallpaper is owned by Lars who has got a typical seventies design as well as an appaling carpet. Perspiration stick your excrement tightly to your gob as you taste the sweet flavor of second hand edibles. Never did I know food could be eaten twice. Curt Two-Dicks is the one person with two hand masturbation. Close your eyes, he's coming. General Bizarro of Coby Coby Spendur Cock rides a blonde chick as funky sexmachines rarely do. Obituary is in to beastiality. And never have I encountered a sexier act than the one of anus penetrating halibut sex. Taste my DM's and let the blood wet your undies. Bouncing soles. Lars is the only one that uses DM's as slSL.<+ ^/"3`E. kHE]e޽!1B׃m(~Ӂ|qB?L:w 0aǼ8 ^A==R#B<tn<*!P}Γ}N ƨ} k/J"߂,,L"'{uDYg܌ ۙA #&#$Q<A '"(oth`%ky.=={~{KyD"#$xäMs?!@tx=/_ntz/+^yTZ#ippers. Infidel! Let my cum oil your face to unrecognition and let the warm liquid soak into your pores like Oil of Ulay for youngthening complexion. Taste the sweet urine as the smooth taste pours down your throat to heat up your stomach. Now let's explain the meaning of life... There is no fucking meaning with it, so kill yourself you tit!!! "  !"#$%&'()*+,-./023456789:;<=>?@ABCDEFGHIJKL1"yC}0:2AAH*AT@|Pm@PAN3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3XAR3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X8AR3X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X3XAR3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3Xp3XxAR3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3XAR3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3XAR3X3X3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XXAR3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3XARNu``````ll$ 00 0````0p p `` |`` 0`ll8~l8pll ,l lllvF 00llllnl```````` l8LLlfflffllfffffbdldbbdld`lnddlddx00000x hdhldd````bfv:Bdp8Lllffl``llffldfl|l<ddddd(ddt08lf63p8Ndt000x8pDllx ln`lfffll lnl|,f````ll|`lfff0p000xl`lhhlp00000xeeedddllffl`nl f``n| ```f,fff7d`8lf6p8ff6|8rlll0:`R@|m@3*2:LRA|mA3*A0HAA2:*SAA3*A `@#DNu '&%%%$$$##""!!    !!""###$$%%%& 9򤰺gR,0:R@3,@f0:|mp3,@H@|Zm|xlA`A`|0:*R@|mp3,2AAHAT@|xm@xA )f* zt0|4fA0#<@D@@ J@j,3;24DAIځx@x|dopdBBr`08zjx3;2AAV20460<dCBrJDo@AV6D@SCx23D3D3D3D 3D(3D03D83D@3DHCQBBA# 8 E:JAgN HSEL3@3@3@@3@3A3A3AH3A3B3B3BP3B3C3C3CX3C3D 3D3D`3DL3@(3@3@h3@3A03A3Ap3A3B83B3Bx3B3C@3C3C3C 3DH3D3D3D(AL3@3@ 3@3@`3A3A(3A3Ah3B3B03B3Bp3C3C83C3Cx3D3D@3D3DL3@3@H3@3@3A3AP3A3A3B3BX3B3B3C3C`3C3C3D3Dh3D3DAL3@3@3@@3@3A3A3AH3A3B3B3BP3B3C3C3CX3C3D 3D3D`3DL3@(3@3@h3@3A03A3Ap3A3B83B3Bx3B3C@3C3C3C 3DH3D3D3D(AL3@3@ 3@3@ `3A3A(3A3A h3B3B03B3B p3C3C83C3C x3D3D@3D3D L3@3@H3@3@ 3A3AP3A3A 3B3BX3B3B 3C3C`3C 3C 3D3Dh3D 3D AC QJBESEkL3@3@3@@3@3A3A3AH3A3B3B3BP3B3C3C3CX3C3D 3D3D`3DL3@(3@3@h3@3A03A3Ap3A3B83B3Bx3B3C@3C3C3C 3DH3D3D3D(ACQNBEEE/;PNu;<<0;NuL23@3@@3A3A3AH3B3B3BP3C3C3CX3D 3D3D`L3@(3@3@h3A03A3Ap3B83B3Bx3C@3C3C3DH3D3DCANuL23@3A3A3B3B3C3C3D 3DL3@(3@3A03A3B83B3C@3C3DH3DC@ANuL23A3B3C3D L3@(3A03B83C@3DHCANu<1111111100//.--,+*)('&%#"!   !"$%&'()*+,-..//004NANuAp (2Ј#@X#@@#@A#AN>NN>N@N?N@n=AB9@3Lf3Lh3Lj3Ll&|L#LL(|L#LL*|L#LL,|L#LLNNut&"y@ q0@(ر0"y@&p10"DN>QNuvFrAfNu~NQNurI y@"po.@ Ipr"y@21|g"H0<QNu0<QNu0<$AC:E"$tvx><ԁ&CDD28QQNu!#%(!*- /258<"?CGKPDU Z_ue"k%qxDk4DK  /AT-hh}<^ +[)Y1**a8x7AWPYR+cUVpp B8QNu><Ap(AQAlC 0<""QAl0<"$( Q0<")$)""QNu R9@ z( S :f&B9@R9A:?AV?gNNKrNuN: z(el3Lf3Lh3Lj3Ll&|L#LL(|L#LL*|L#LL,|L#LLANDN`npr:V? yAA2:HЀIЁC2222N0Nu:RAp: yAAANuAprJgC 1@@CR#L4BJ"zr&1 ֺf&C# L ѹLLp"zLJ01 |g# LF# LVLFByLf`3Lf#LLF#LLVA3LprJgC ^1@@C #L4BJ"z&1 ֺ(C# L ѹLLp"zJ01 |g# dLJ# \LZLJByLh`3Lh#LLJ#LLZA3LprJgC1@@C #L4BJ"z&1 ֺ@$wԦdh !5? tcg<;*wAxd6x5D߬3Dϳ<frKfyGd^5x:Yj^uLvh *q/#Ċ.<=*yze\ [$DxͰu3[_qq+ZC|+Cޡz{/"zvG<_LER< idz  H?($#(q`!y#x3Dw<fJEH`wWyYxw!txvd$Cyw ~ ~1:^;x_ZaQ7Xy6:6uxN@ZXu7#hp'2=u9@w#*C# L ѹLLp"zJ01 |g#LN#L^LNByLj`3Lj#LLN#LL^A3LprJgC1@@C N#L4BJ"zn&1 ֺb,C# L ѹLLp"zHJ01 |g#LR# LbLRByLl`3Ll#LLR#LLbA3L :":$:F'A`01A1@1A$zxF#Nu4)N4)N4)N4)N4)N4)N4) N4)"N4)$N4)&NH":0QVeFl#LN`V"<QV`"<F`H":QVeFl#LN`"<QV`"<F`H":ʒQVeFl#LNL`"<QV`"<F`H":QVeFl#LN`."<QV`"<F` :\T":XL$:TDF'A~01A1@1AF#Nu#H#:H#H#H3H z^ h(g<&|L#LL3LfByL` Hg &z#L#LF#LV3LfByLN<`#H#H#H#$I3*I z h(g$(|L#LL3LhByL` Hg(zp#pL#lLJ#hLZ3dLhByLN`#I#I #I#I3I z2 h(g *|L#LL3LjByL` Ig*z#L#LN#L^3LjByLN`#I#I #I$#I(3I, z h(g,|L#LL3LlByL` Ig,zl#lL#hLR#dLb3`LlByLNz`P<AByL`<AByL`"<AByL`<AByL`"zJyLgrA0:6|g|g|g|g|g|g|g|g| g| g| g| g| g<"zJyLgrA0:|g,|g*|g(|g&|g$|g"|g |g| g| g| g| g | g"zJyLgrAd0:>|g|g|g|g|g|g|g|g| g| g| g԰| g"| gd"zJyLgrA0:°|g0|g.|g,|g*|g(|g&|g$|g"| g | g| g| g:| gNuNIx$z4 Jm* yLfg:к&@#L` &|L#L m* yLhg к(@#L` (|L#L m* yLjgкV*@#`L` *|L#L m* yLlgк(,@#2L` ,|L#LNuLLLLLLLL   !"#QVQVQVQVQV LLLL                                                                                                                                                                                                                                                                                                  uDn.jr ݦA2`LjmFDKLKz?K5;Qgh<:#eeHB,A:t%:1=SB@27770g #vrI^h+"Jg0 iS@eY\& hf &˫#Ș \6Z10 sZϕj̉3qn< yfc`fh`AlYf`4[d2&3J4(-WClN4, + NMX@Z#F1Q-9yBfGTCa"V_LN /Ɓne >ٕ Q\8fTNA- xS\V} E[CfW%¶=CV [a+>,?l ۗ Ya +l B>LPxgDuR-Ku ܧ^al}gNYC \c{E)Pz                                                                                                                                                                           )&(gpfXwB b>SqB#WC7 @tmXӿx,$KVfg`̴ p?Aǔ-2x -Y:ͤ""5" >e1oer:geXrIF^4xb "E%F]uS_cz`edoœ? f97x?"pfc\;`pr{*9ovhՋVƩy7̘e8<[ijgt@K랊WD&PP\fU\s- x"j &c mv0f 0egf `U6Ϥ`x|HIE ƥ-xe4pƙ;؀F"@3c :cF(3! YvLK(7M:G|Yp+g3< o9k `A T|xPFJg*SR"& 0HAJ@fo⨰EBc]6x[}P8NQYq^FRST*-h yH249roxIVAJgRAC7@@@ PY`NubHn@S2fc%[ɔ$n[6eˏ5-qJܒ5ٶ%sղ1˩:NmRdX%uH\b67NYoP@B@+| h 7@@~ BJKɠj*(3I.Bxr KɷhUJ 0@_ 8 !N`٭%7De2ۅwq0.Q c"Aڃ/%x.`e8Zx׊"'|]؃r( knu;(A +ي|l V3f/VW lW̨]tExAx2(hI d_䇼v5 Vx⽊WF-9˅uxҙ b  ]@)V @L%f doe wel effecten move.w patmode,d1 haal manier rec/play mode ; was het stopped mode? bne no_stop_rp nee -> gewoon door gaan ; * STOP MODE * move.l pat_base,a1 haal pointer naar begin van pattern move.w pat_lin,d0 haal regel# mulu.w #note_len,d0 vermenigvuldig met lengte 1 noot add.w d0,a1 en tel op bij pointer in pattern v2V1PTCB!1B1CV1PTCB!1B1TV1PTCB!1B1eV1PTCB!1B1TV1PTCB!1CV1P! BTCB!12V1PTCB!1!V1PTCB!1PTCB!1PTCB!1PTCB!1P!5R1WVTCB!1 PTCB!10PTCB!1@PTCB!1PPTCB!1`PTCB!!"P!TTCB!TCB!TCB!TCB!!3"P!TTCB!TCB!TCB!TCB!!D"P!TTCB!TCB!TCB!TCB!!U3P!"TTCB!TCB!TCB!!!B!2CF!TeJ1vNTCB!!fDP!3"TTCB!TCB!TCB!TCB!!wUP!D3TTCB!TCB!TCB!TCB!TCB!TCB!TCB!TCB!Na"|!قP!قT!3X!U3\! ! @B1F1+RH! @J1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! 1 F1 NSKIPNa"x !قP!قT! 10F10NSKIPNa"x !قP!قT! 1@F1@NSKIPNa"x !قP!قT! 1PF1PNSKIPNa"x !قP!قT! 1`F1`NSKIPNa"x !قP!قT! 1pF1pNSKIPNa"x !قP!قT! 1pF1pNSKIPNa"x !قP!قT! 1qF1qNSKIPNa"x !قP!قT! 1rF1rNSKIPNa"x !قP!قT! 1sF1sNSKIPNa"x !قP!قT! 1tF1tNSKIPNa"x !قP!قT! 1uF1uNSKIPNa"x !قP!قT! 1vF1vNSKIPNa"x !قP!قT! 1wF1wNSKIPNa"x !قP!قT! 1wF1wNSKIPNa"x !قP!قT! 1wF1wNSKIPNa"x !قP!قT! 1F1NSKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! 1"HSKIPNa"x !قP!قT! 13HSKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! 1DHSKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! 1UHSKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! 1fHSKIPNa"x !قP!قT! SKIPNa"x !قP!قT! SKIPNa"x !قP!قT! 1wHSKIPNa"x !قP!قT! SKIPNa"x !قP!قT! !SKIPNa"x !قP!قT! SKIPB8H瀀p NqQA fNqNqNqNqB8 1UBNqNqNqNqNqNqNqL NsURK!& HCHBCHCJBf 000` 0 0$Nu00NuA< 23X3X03XN3Xl3X3X3X3X1FBN)Ry!pF#N "P0j"h8` 1@2p: "P0j"h8` 1@2p6 "P0j"h8` 1@2p2 "P0j"h8` 1@2p. "P0j"h8` 1@2p* "P0j"h8` 1@2p& "P0j"h8` 1@2p" "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P nee -> niks doen bclr #0,d0 ja -> wis bijhorende bit no_tone_a btst.b #1,Adata+sound_mode ruis op kanaal A? beq.s no_nois_a nee -> niks doen bclr #3,d0 ja -> wis bijheorende bit no_nois_a move.w #$2700,sr MFP interrupts uit move.b #7,psgreg register 7 move.b d0,psgwrite schrijf waarde weg move.w #$2500,sr MFP interrupts weer aan ; * GEEN NOOT, ENKEL EFFECTEN * do_fx_all lea Cdata,a0 haal adres channel C data-field bsr do_fx doe envelope, tremolo etc. lea Bdp0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@2p "P0j"h8` 1@~2p "P0j"h8` 1@|2p "P0j"h8` 1@z2p "P0j"h8` 1@x2p "P0j"h8` 1@v2p "P0j"h8` 1@t2p "P0j"h8` 1@r2p Nu z"yCpL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PL>33 303@3PNu :|gR0:R@3@f0:|mp3@@<|m|lA`A`|xlAf`AHPC/ zprjA~#$C 11:@E@:AEAA@"_zNuNu3LH@HAHBHC0246<=xy,-hiCXQ|Nu3LH@HAHBHC0246<=xy,-hiCXQ|Nu3LH@HAHBHC0246<=LM,-hixyCXQ|Nu3LH@HAHBHC0246LM,-<=xyCXQ|Nu( TJA ALLIHOPA (THAT'S SWEDISH, JACKASS), HERE COMES THE CAREBEARS AGAIN, WITH ANOTHER INCREDIBLE DEMO-SCREEN, CALLED THE STARWARS-SCROLLER. YOU HAVE PROBABLY ALREADY FIGURED OUT WHY... AS WE WRITE THIS, WE'RE OUT IN THE ARCHIPELAGOS OF STOCKHOLM, WHERE AN COOL HAS A SMALL (VERY SMALL) COTTAGE. EVERYBODY IS COMPLAINING ABOUT THEIR ACHING ARMS AND BACKS. LET'S EXPLAIN WHAT CAUSED THESE UNPLEASENT PAINS FIRST OF ALL, WE HAD TO TRAVEL BY TRAIN FOR ABOUT ONE HOUR. WE WENT OFF THE TRAIN IN TUMBA, WHERE WE WERE SUPPOSED TO BUY SOME FOOD AND COKE BEFORE WE GOT ON A BUS THAT WOULD DRIVE US CLOSER TO AN COOL'S COTTAGE. BUT THERE WAS A BIG PROBLEM, WE ONLY HAD ABOUT THREE MINUTES BEFORE THE BUS LEFT, AND THE NEXT BUS WOULD COME IN ABOUT THREE AND A HALF HOUR, SO WE DECIDED TO GET ON THIS BUS AND GO TO ANOTHER SMALL STORE, NEAR THE COTTAGE. OF COURSE THAT STORE WAS CLOSED WHEN WE GOT THERE. OKAY, WE GOT OFF THE BUS AND NOW WE HAD A FIVE KILOMETRES WALK TO DO. REALLY NICE, WITH BAGS FILLED WITH COMPUTERS, MONITORS, CLOTHES AND COKE. THERE WERE EVEN MORE PROBLEMS TO COME, THE HEAVIEST BAG (WITH A WEIGHT OF ABOUT 50 KILOGRAMS) WAS DESTROYED, AND NOW TANIS AND A.D HAD TO CARRY IT ON THEIR HEADS (AND BACKS). FINALLY WE REACHED THE COTTAGE, AFTER ABOUT ONE HOUR'S WALK. OUR ARMS WERE ABOUT TWO METRES LONGER THAN THEY WERE THIS MORNING. AFTER THIS VERY INTERESTING STORY, YOU CAN UNDERSTAND WHY OUR ARMS ARE ACHING!! LET'S CHANGE SUBJECT... TODAY WE GOT THE LOST BOYS DEMO, WHICH WAS QUITE GOOD, BUT NOT NEARLY AS GOOD AS THIS ONE (THIS IS ACTUALLY MORE THAN TEN TIMES BETTER). WE WERE QUITE DISTURBED WHEN WE SAW THEIR TWIST-SCROLLER, WHICH LOOKED SIMILAR TO OUR DNA-SCROLLER, BUT OF COURSE OURS IS MUCH, MUCH BETTER, AND I THINK THAT WE WROTE IT BEFORE THEY WROTE THEIRS (WE WROTE IT THREE MONTHS AGO). THEY SAID THAT THEIR DEMO WAS THE BEST "SINGLE-CREW"-DEMO EVER, WELL, OUR DEMO IS ALMOST A "SINGLE-CREW"-DEMO, AND IF YOU REMOVE THE GUEST APPEARANCES, WE STILL THINK THAT OUR DEMO IS AT LEAST FIVE TIMES BETTER THAN THEIRS. THE LOST BOYS ALSO WROTE THAT THEIR SOURCE-CODE WAS ABOUT 230 KILOBYTES LONG, WE COUNTED HOW MUCH MEMORY OUR SOURCE-CODE TOOK AND IT WAS ABOUT 1400 KILOBYTES LONG! AND IF YOU WOULD PRINT IT, IT WOULD TAKE 650 A4-PAGES. NOW YOU PROBABLY THINK THAT WE ARE TALKING BIG. WELL, WE KNOW WE'RE NOT EXACTLY MODEST, BUT WE CAN'T BE, COZ NOBODY ELSE IS. YOU KNOW, WE HAVE TO BE THE BEST IN EVERYTHING, INCLUDING TALKING BIG. WE WON'T WRITE ANYTHING MORE, BECAUSE THE ONLY THING WE COULD WRITE NOW IS THE GREETINGS AND WE HAVE GREETINGS ENOUGH IN THE MAIN MENU... BYE, BYE AND KEEP ON HACKING. PUSSELIMUSS!!! TJA DAUU!! GOOD NIGHT!! (IT'S TWO O'CLOCK, BUT THE NIGHT IS STILL YOUNG) OKAY, LET'S WRAZ! /")/*+,-. !"#$%&'( 5Nu g_vol(a0),d2 haal globaal volume asl.b #4,d2 vermenigvuldig met 16 voor offset naar goede tabel add.b d1,d2 tel lokaal volume bij globaal volume andi.w #$ff,d2 maak word van volume lea vols,a2 haal adres volume tabellen move.b 0(a2,d2.w),PSGvol(a0) bereken volume dat uiteindelijk in PSG moet ; bereken volgende offset addq.w #1,d0 verhoog offset cmp.w env_sus(a0),d0 zijn we aan het begin van de release? bne.s no_sus_rep nee -> niet sustain herhalen move.w env_att(a0),d0 ja -> Nu  @                      L L !L()01 8L9@AI INu0:|mpR@3@@Ry2:hAAAA z`4j zT$jAT$# B4#3lBAV40 3jAA<118: 6CgCDD:^E#~`CDD:SE# ~CA0:@LD2E3AD3BE3C LD3@E3AD3BE3C LD3@$E3A(D3B0E3C4LD3@8E3AnJ@k*2<z,DS@k000AQ0Nu#H(#H`.D@4BBBMEHDS@00EQ0Nu#H(#H Q"zq@C>pN0:@R@|mp32AA4:6:8:::VBXCTDZEBCDE3333BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@A0pZ"#h #h@#h#h$|m#h,#h4#h<H#hD#hL"_ _BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@A@0pd " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@ )#@"_ _BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@AN0p_ " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@ )#@"_ _BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@A\0pZ " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@pts no_instr_noise move.b i_sound_mode(a2),sound_mode(a0) haal sound mode move.w i_env_freq(a2),h_env_freq(a0) haal frequentie hardware envelope move.b i_env_type(a2),h_env_type(a0) haal type hardware envelope move.w i_vibr_speed(a2),vibr_speed(a0) haal snelheid van vibrato move.w i_vibr_depth(a2),vibr_depth(a0) haal diepte van vibrato move.w i_interval1(a2),interval1(a0) haal interval #1 move.w i_interval2(a2),interval2(a0) haal interval #2 clr.w env_offs(a0) clear envelope offset  )#@"_ _BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@Aj0pU " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@ )#@"_ _B<C$D4E00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@Ax0pP " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@ )#@"_ _BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@A0pK " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@ )#@"_ _BCDE00 @p0@@L21@AqPAA// "yAVAP2AAH#F3F0@A0pF " )#@ )@#@@ )#@ )#@|m< )#@ )#@ )H#@H )#@ )#@"_ _NuCP@0 p`AFJk:tp"X6"#B#B@#B#B|m#B#B#BH#B#BQNu0:@@3 ,A@20@@@00@A@?AH'"yC *<x| mDA!|@mA@DP É6`DÉ8É@N@3X3X3X3X3X3X3X3X3X 3X(3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3X3X3X3X3X3X3X3X3X3X3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3X3X3X3X3X3X3X3X3X3X3X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3X3X3X3X3X3X3X3X3X3X3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3X3X3X3X3X3X3X3X3X3X3X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3X3X3X3X3X3X3X3X3X3X3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3X3X3X3X3X3X3X3X3X3X3X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3X3X3X3X3X3X3X3X3X3X3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3X3X3X3X3X3X3X3X3X3X3X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3X3X3X3X3X3X3X3X3X3X3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3X3X3X3X3X3X3X3X3X3X3X@3XH3XP3XX3X`3Xh3Xp3Xx3X3X3X3X3X3X3X3X3X3X3X 3X(3X3X3X3X3X3X3X3X3X3X3X 3X(3X03X83X@3XH3XP3XX3X`3Xh3X3X3X3X3X3X3X3X3X3X3X`3Xh3Xp3Xx3X3X3X3X3X3XQNuC p?/ T"<@ဒt&< oJ@o|8m6<7BCSCj iSBU`2|7m&I"_Ep2<,R(4R@m20CPR@|@mNuH0`$<O&<O~ԀցQJkl~/(*HDHEJDjxJEkZ|m :<|lH6E<FFL$ILMDo6xlZxUEk4Q: FEExlZCԀցQL ~Nuxl|: FEEnFZ`L ~NuC!p? m/"ma&mJGg m"maJGgC0R@|@mNuadaNu02L PHB@CAH laat envelope als hij is cmpi.b #2,d1 is envelope value dan 2? beq sustain_he ja -> begin envelope bij sustain cmpi.b #3,d1 is envelope value dan 3? beq release_he ja -> begin envelope bij release ; ATTACK: move.w #$2700,sr geen oderbreking B@CAHB@CAHLB@CAHB@CAHCQNu02L PHB@CAH doe iets anders move.b octave,d1 haal basis octaaf asl.b #4,d1 vermenigvuldig met 16 add.b d1,d0 tel op bij offset octaaf move.b d0,(a1) sla noot en octaaf op move.b ym_tie,1(a1) zet tie in pattern move.b ym_sound,2(a1) zet instrument in pattern move.b ym_vol,3(a1) zet volume in pattern move.b key_mode,d0 haal manier van opnemen (0=RELEASE,1=ATTACK,2=SUSTAIN) cmpi.b #2,d0 is het sustain? beq.s key_sus ja -> zet eem@3D8|mJ| @m"| m|mx`|x`x| 0mx `nx `j| `m| Pmx `Zx `V|pmx `Lx`H|m"|m|mx`2x`.|mx`$x` |m|mx`x` |mx`x2A:H@@Aqb3DP"z@Cp"#@#@#@#@ #@(#@0#@8#@@#@HC`N3DP"z@Cp"#@#@#@#@ #@(#@0#@8#@@#@HC`3DP"z@fCP$(<D D2( C0p#X#X#X#X#X #X(#X0#X8#X@#XH D2( C0p#X#X#X#X#X#X#X#X#X#X D2( C0p#X@#XH#XP#XX#X`#Xh#Xp#Xx#X#X D2( C0p#X#X#X#X#X#X#X#X#X #X( D2( C0p#X#X#X#X#X#X#X#X#X#X D2( C0p#X #X(#X0#X8#X@#XH#XP#XX#X`#Xh D2( C0p#X#X#X#X#X#X#X#X#X#X D2( C0p#X`#Xh#Xp#Xx#X#X#X#X#X#X D2( C0p#X#X#X#X#X #X(#X0#X8#X@#XH D2( C0p#X#X#X#X#X#X#X#X#X#X D2( C0p#X@#XH#XP#XX#X`#Xh#Xp#Xx#X#X D2( C0p#X#X#X#X#X#X#X#X#X #X(NuDV    AxLtztzrHEn@AvCf@A81C V:1HDD0CD81HDD%04<HBB&DE MM00zzQNu:P "$')+.0257:<>ACEGJLNQSUWY\^`bdfhjmoqsuwy{|~~|{ywusqomjhfdb`^\YWUSQNLJGECA><:7520.+)'$" }{ywvtrpomkjhfecb`_]\[YXWUTSQPONMLKJIHGFEDCBBA@??>==<<;;:::99988888888888888888999:::;;<<==>??@ABBCDEFGHIJKLMNOPQSTUWXY[\]_`bcefhjkmoprtvwy{}~}}|{zyxxwvutsrqponmlkjhgfedba`_^\[ZXWVTSRPOMLJIGFECA@>=;:875320/-+*(&%#"  ~~}||{{zzyyxxwwwvvvuuuutttttttttttttttttttuuuuvvvwwwxxyyzz{{||}~~  "#%&(*+-/023578:;=>@ACEFGIJLMOPRSTVWXZ[\^_`abdefghjklmnopqrstuvwxxyz{|}}~|zxvtrpnljhfca_][YWVTRPNLJHFDB@?=;975420.,+)'%$"  ~~}}}||{{{zzzyyyxxxxwwwwvvvvvuuuuuutttttttttttttttttttttttttttttttuuuuuuvvvvvwwwwxxxxyyyzzz{{{||}}}~~  "$%')+,.024579;=?@BDFHJLNPRTVWY[]_acfhjlnprtvxz|ubM8! ~~~~~~b~A~ }}}}}h}@}||||g|8|{{{r{={zzzbz)yyoets horen beq.s nada als die 0 zijn (geen noot) => doe niets move.b octave,d1 haal basis octaaf asl.b #4,d1 vermenigvuldig met 16 add.b d1,d0 tel op bij offset octaaf move.b d0,(a1) sla noot en octaaf op move.b ym_tie,1(a1) zet tie in pattern move.b ym_sound,2(a1) zet instrument in pattern move.b ym_vol,3(a1) zet volume in pattern bset #6,3(a1) zet envelope op attack st.b done_something zodat stop routine weet dat er iets is gebeurd nada rts ; ; * GET : MIDI NOTE * ywy9xxx{x:wwwqw,vvvXvuu}u2tttLsss`srrlrqqsqppspoomonnbnmmSlll>kkk&jjhj iiIhhh'ggdgff>eexeddNccc"bbZaaa-``d`__6^^n^ ]]A\\y\[[NZZZ$YY_XXX9WWwWVVVUUU8TT{TSSdSRRQQQQCPPP:OOO6NNN9MMMALLLPLKKfKJJJ8III_IHHHJHGGGCGFFFLFEEEeE-DDDDZD(CCCCkC>CBBBBpBJB%BAAAA~AaADA)A@@@@@@@y@h@Y@K@>@2@'@@@@ @@@@@@@@ @@@@'@2@>@K@Y@h@y@@@@@@AA)ADAaA~AAABB%BJBpBBBCC>CkCCCD(DZDDDE-EeEEFFLFFGGCGGHHJHHII_IIJ8JJKKfKLLPLLMAMMN9NNO6OOP:PPQCQQRQRSSdSTT{TU8UUVVVWWwWX9XXY_YZ$ZZ[N[\\y\]A]^ ^n^_6_``d`a-aabZbc"ccdNdeexef>fggdgh'hhiIij jhjk&kkl>llmSmnnbnoomoppspqqsqrrlrss`sstLttu2u}uvvXvvw,wqwwx:x{xxy9ywyyz)zbzz{{={r{{||8|g|||}}@}h}}}}~ ~A~b~~~~~ !8MbuavNu(<X20:2AAAz@|lTL z,(CVAC2106@@K@C0J@B#(U"HN" D (Lx z+CVAC2106@@K@C0J@B#(V<"HN" D (L, z+CVAC2106@@K@C0J@B#(V"HN" D (L z+,CVAC2106@@K@C0J@B#(V"HN" D (NuL z*CVAC2106@@K@C0J@B#(W:"HN" D (L. z*CVAC2106@@K@C0J@B#(W"HN" D (L z*.CVAC2106@@K@C0J@B#(W"HN" D (Lv z)CVAC2106@@K@C0J@B#(X6"HN" D (Nu(<X2z D "X#Xb( @NQNu7(((<A>"z)@N A@Jgp2<"X#XNQNuXJ6CC@CCCAVAA> p N  z #YNua#YY0:X@T18 3Yr@SAAzjr`|or3YyYH@S@@zjp`|op3YyYL0DEEA|0@0PHHt"z(>a&DUEU0@0PHHt"z( aDUEU0@0PHHt"z(aNuTCKLMNOPQRSUVWXYZ[\]^_``abcdefgghijkklmmnooppqqrrsstttuuuuvvvvvvvvwvvvvvvvvuuuutttssrrqqppoonmmlkkjihggfedcba``_^]\[ZYXWVUSRQPONMLKJIHGFEDCA@?>=<;:98766543210//.-,++*))(''&&%%$$##"""!!!! !!!!"""##$$%%&&''())*++,-.//01234566789:;<=>?@ACDEFGHIJKLMNOPQRSUVWXYZ[\]^_``abcdefgghijkklmmnooppqqrrsstttuuuuvvvvvvvvwvvvvvvvvuuuutttssrrqqppoonmmlkkjihggfedcba``_^]\[ZYXWVUSRQPONMLKJIHGFEDCA@?>=<;:98766543210//.-,++*))(''&&%%$$##"""!!!! !!!!"""##$$%%&&''())*++,-.//01234566789:;<=>?@ACDEFGHIJ*++,,--..//01122334455667778899:::;;;<<<===>>>>?????@@@@@@@@@@@@A@@@@@@@@@@@@?????>>>>===<<<;;;:::99887776655443322110//..--,,++*))((''&&%%$##""!!  !!""##$%%&&''(())*++,,--..//01122334455667778899:::;;;<<<===>>>>?????@@@@@@@@@@@@A@@@@@@@@@@@@?????>>>>===<<<;;;:::99887776655443322110//..--,,++*))((''&&%%$##""!!  !!""##$%%&&''(())0:FR@ACRz0jp3mH1P NuJym@nym@0:R@|mp3_|mg aA|`*:AL`a#_A<0:zR@|Xm@X3_2H CN@AA/0CXxNuNu__`8`ahbbc0cdve$efg.gh E.DLXHHXHHH@HAHB024H@HAHBH`HHHhHHX\CQvNu E.DLXHHXHHH@HAHB024H@HAHBH`HHHPHHX\CQvNu E.DLXHHXHHH@HAHB024H@HAHBH`HHHPHHX\CQvNu E.DLXHHXHHH@HAHB024H@HAHBH`HHHPHHX\CQvNu E.DLXHHXHHHHH@HAHB024H@HAHBHHHPHHX\CQvNu E.DLXHHXHHHHH@HAHB024H@HAHBHHHPHHX\CQvNu E.DLXHHXHHHHH@HAHB024H@HAHBHHHPHHX\CQvNu E.DLXHH@HHHHH@HAHB024H@HAHBHHHPHHX\CQvNu E(DLH@HAHB00X20Xla huidige pattern en block buffer op no_su_snd_l andi.b #$f0,2(a1) bewaar upper nibble or.b d0,2(a1) voeg lower nibble toe st.b done_something zodat stop routine weet dat er iets is gebeurd rts ; ***** GET : VOLUME ***** get_vol moveq #0,d0 om d0 als word te gebruiken move.b key,d0 bekijk toets lea key_2_hex,a0 tabel die scancodes omrekent in getallen move.b 0(a0,d0.w),d0 haal waarde bmi nada negatief -> doe niets tst.w patmode zijn we in stop-mode? bne.s no_su_vol nee -> vu40X HHXHHH`HHHhHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HHXHHH`HHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HHXHHH`HHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HHXHHH`HHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HHXHHHHHHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HHXHHHHHHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HHXHHHHHHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu E(DLH@HAHB00X20X40X HH@HHHHHHHPHH@HAHB0(2(4(H@HAHBHX\CQ`Nu0:R@|m@3m>2@@ANXmA@AL?H?L?H?L?H?8AL?H?L?H?L?H?AL?H?@L?H?\L?H?xAL?H?L?H?L?H?AL?H?L?H?L?H?AL?H? L?H??@ABCD******555***** *+++**** *.*/ *)0*  **  3** ********4* ***3* ** ** *******5* ** * **=*+****** ***** ****+* **** * ****3*** * *,,* **4 * *** 5** ***3** ***  +*.*******  ** ***  * *  * 555***@***A***)* 3* *.*** *.***5** * .****3* ** ** * * *3*.*.***4 **** * +*.*** * 3*.*  **  * * 4 **** ***+** * *** * **  ** * * *3**.* * * * ***+* *.***** ***5**** * *****  ***43** **  * * */* * .* **3**05*.*  *:*3* **;*5*** * * * *  * *  ** *   5*/3*  0*** * *  ** * **  *** * 4 * * * 5* *3* ***  *  .*3** ** *3*   *  *$*<*5** * ****3* **   * ***** **.5* *.* * **** 4 * *****4 5* * .*** * 5*** **4 *  * 3**  *  ***  * 3*** * ***** *  *** )*)***3** * * *** 4 ** ***3**   ***43** **  .*   *4** 4* .** *5* 3**4 * **  4 5* *.ts ; shift_lin bset.b #0,shiftmode zet bit voor linker shift aan rts ; shift_lout bclr.b #0,shiftmode zet bit voor linker shift uit rts ; shift_rin bset.b #1,shiftmode zet bit voor rechter shift aan rts ; shift_rout bclr.b #1,shiftmode zet bit voor rechter shift uit rts ; ; ***** ONTVANG RELATIEVE MUISPOSITIE ***** ; mouse_pos lea mouse_stat,a0 adres muisstatus struct move.b d0,(a0)+ sla muis knoppen op move.l a0,mouse_ptr sla pointer in muis status struct op move.w # *  *** ** *** 5* 3* * *2*+*/  *,  ,**0**** ** ***   3* ** **.** * *  * *,  ,4   5** *,,**** ** * * * * *** * 5* *,,** 3*3**B3* *13* *8*/*  *, ,*4 0* *   5**** ***73***  *  5* *)* 3**** 4*4*>*?*5* ******  **$*4** * ** * ****  ***** 5** * **4 * * *** * ** 5***3** * *** ** 4*5* *4** 5** .* *.*  * **3**.** **4*  * ***CD*50:&R@|mB>3A'@20@h|m@00A,"H?/ 2Nu"zВC pN _0Nu` @` @"NN"aN6NN$aatNfaaaaaa~aaa@aa\aNu*O.|*m - ЭЭ// ?<?<JNAO Hy?< NA\#?<%NNT` L@HLH@NB8Nataa a NRNNN=|H>a$L|Np :|H!N&aPaN+68:f<fNN?<%NNT` QLH@/9?< NA\BgNAJ(9 < O"#Ԓ$< N#$< M# "z0<?BQ :H!NuaaaTaa0NuADfCBp2(4(P&<8L:SDkBYQRBJBSBE@|n |mELxHD<F2`HD؃Q<< ESFkBYQR@|mNuwvutsrqp`P@0  0@P`pqrstuvw0<{vAC,E'z( ,42<JPfJhg2H2`2D22PTQRE|dmEd2.2>C>CQ222",Nu3@3|CNAfI?NK>pr*aC$|zMt6g$I8GRDZfBj6ĵm6GJSk>|n|m`8^8>F|f8`88>j`|f8`88>F8RB| mrPFQf(z8NuaCt|ztJYg8L>F8RB| mPFQ8NuRA|mAQ Nup0<3@3|iiANu(~~CH!~ 4HBBB3BHB2QLNuADfp2(1APQNuATp":.ӨӨӨ A(QNuaXaadaaaNuA>"zlC0p"#X#X#X#X #X(#X0#X8#X@#XHCQNu z2&<(<2<cAP4< QQNu4:.SBGvxz68:HCstop rasters bclr #0,service meld deze interrupt af rte en TeruG !!! ; raspalptr ds.l 1 pointer naar raster kleur ; ; * CHANGE PALLETTE * change_pal move.w pal_count,d0 addq.w #1,d0 verhoog palet nummer cmpi.w #10,d0 palet# te hoog? bne.s pal_ok clr.w d0 pal_ok move.w d0,pal_count sla palet# op bsr put_pal rts ; * SET PALLETTE (NORMAL OR 'DEMO' VERSION) * put_pal move.w pal_count,d0 sla palet# op asl.w #2,d0 offset in long tabel lea pals,a0 adres tabHDHE&&&QNu~|p$B9nGLHCJCgx2j222t:XE2:HŊHEJEf2`:TE2Pn222HAHBJAgJBg"2@222`JBg262:TE2` 2&22HAHBHCJCg2222:E 2:HŊHEJEf2:E 2Pn22:PE2JAgJBg(222:PE2`$JBg22:E 2`22:PE2J9ng B9nR@zm2D \"2NuNu~|p2,B9nGLHCJCgb2:XE2:HŊHEJEf2 :TE2Pn22HAHBJAgJBg22`JBg2:TE2`22HAHBHCJCgn2:E 2:HŊHEJEf2:E 2Pn2:PE2JAgJBg"2p:PE2` JBg2b:E 2` 2R:PE2J9ng B9nR@zm2NuNuHaaLNup <!@1@3@hiFhNuAC1E0p$/A3r/a Wa _RA|m _QNuAapr68C@D@C $H0<02<@A4<JPgJhf 2D24T` 2<2$`TJPg2(2Y4`T@Q@`AQ2NuNu3X#Xaaaxa aXNuaaaKCEsA,y<<"<4R;$<1ԁ晷ւ҃#2HpHABAHAHBBBHB66HAHBAXBXHI-J8,GldL468+:mGDE҂H@HA4H@HA@@LAqJ@gJBkZmTBBJ44`$LQ8NuA0<|Pm2ABDAB`N2<F4B6<k1`4BBBx1`2DA<F4B6<k1`4BBBx1`QNuA0<2A$<H0S@jNuAp|1m2A1`DA1``"24B6C] 1 DADB6C] 1 R@|mNuACF~|z246HAHBHCBABBBC8FD3D(3D*3A,3B.HAHBHC8FD2222HAHBHCQC(ARF|mAQNuaaaa|aNu.                     "|0<r"QNuA"Cvpk`NuAC r mAC|?xv~EzGkrza\RQR`JkSGpr|t4HB7BHB6TXQRCQC@"KxSGQA <QNuH 40 vf00<c2< 0UU03300QAPQNuAiC F|.p~2tvxz g SE SE SE VEYESD|lz g SE SE SE VESDYEj3B{y0`x`~`>?```?p<<`<<~~xx0x0       (((( ( 0      (((( (0      (((( (0      (((( (0     (((( 00     (((( 00     ((( ( 00     ((( (00    ((( (00    ((( (00     ((( (00     ((( 000     not_this_but adda.l #12,a0 naar volgende button tst.l 4(a0) kijk naar x/y pos #2 -> als die 0 is dit laatste item bne.s next_but nee -> volgende button bekijken no_click clr.b no_mouse_repeat muis kan weer klikken no_mouse_click clr.w vbl_wait_m zet stap op 0 omdat er geen button geklikt is rts anders zonder iets bereikt te hebben terugkomen ; * BEKIJK MUIS IN MENU'S * menu_sel move.l menu_routs,a0 pointer naar button posities huidige menu bsr do_mouse_own bekijk die muispo((( 000     ((( 000     ((( 000     ((( 000    ((( 00 0    ((( 00 8   ((( 00 8   (((00 8    (((00 8    (((00 8    (((00 8   (((008   (((008   ((0088  ((0088 ((00 88   ((00 88    (( 00 88    (( 00 88    (( 00 88 g Cf~BN1`rhC<nn~B<~fz~wbc8<8<~<B<~~~F8~0p y9<0, ~ 1@`K 1Ɇ ?x  /<H ~p 'x Hx9 N"? " >H< N> . 8/ H  (< C?@ ?q?|A~8p? A? <@@@ ` x~*{A?>sp00&a1`L 1  9 ؆x ߆À ؆8 p`L  `10& !?F$`  P   @P`X  @ ` `p" ?l ? ?4? @  p 4?pb!F@ @t:?%@?  @ p4?|xAS@4 Z @8?  @ `7x :?8c |0`O`l ?% %股<\ `ר @< QW>}w_Yhx B?>T]PAԾ@+]>>#?yv~O19:++* ;;#"2+*N*J.*;9;;:"   :-NNj  8 `<] !"2, ;09# #03B`????p ..NpD`JjDN);3@;*#+;2*+;9;, +,08888(00::rp-1!30.3+2.;;*.0 30,  Bp BDC2`FG 9p   7Ć,:3#!38,;1,asc_cur cursor terug andi.w #$7,asc_cur maskeer mogelijke -1 asc_del moveq #7,d0 move.w asc_cur,d1 haal cursor pos sub.w d1,d0 7-cursor pos=lengte te copieren deel move.l asc_string,a0 haal adres string lea 7(a0),a2 bewaar om later laatste teken te wissen lea 0(a0,d1.w),a1 target = huidige cursor positie lea 1(a1),a0 source = target+1 bsr copy_mem copieer geheugen move.b #32,(a2) wis laatste teken bra.s asc_unknown ; asc_ins moveq #7,d0 move.w asc_cur,d1 haal cursor pos sub .:.)(::-N-99#.998+(.  L-5Wp%uPgWp+wwUWpV'Wvpt%uWP,- APA+W#wpvR&pWV'P+'tRGU5s,ugpeVpwgP-  X- I  U,ܝ.*+8.;80p, JN Ϊn*1999:* L@@+  8;*+;";2: < 3JI ) &2 `|t@2\ XH Ȕ ȕԁ@ upr%pwUprG %sPR5 ' ȉUɉUIC: ww%"RVwWBttUU2S 7:(e9(7!* W pR `2p II\ЁP@T rwprV"vPbu"WpBV RrdpR%t`2%vp B7Efe7@,]\ԕ w"CPupbRCpUprRgPsP WWwpwv"gPWWRupu r5@uf@U5@ @8D$P@8@`@@  xG   tr    `Y"n# `:$`8"RpWRt vRP W WppR`02p [Rrp$@u$`T@U VdtS@Tb@vV@$$H k :Un  "$#%(&(')+,./02n35N68%9:'  '>YyȀ*c*vƃwք:v{'ZJbݐi6ܔtYC0")8Lc~ 6ḛ@L3ھ2Hé sFʲ!͒yg\XYam}8Ut'Jn;abel met pattern bij positions move.b d2,0(a0,d3.w) zet pattern op maximum bsr calc_pos zet alle variabelen goed st.b pls_flag print verandering rts ; resta_p cmpi.w #119,restart vergelijk restart maximum beq resta_l als dat al bereikt is -> minimum addq.w #1,restart rts resta_l clr.w restart zet restart op 0 rts resta_m tst.w restart vergelijk restart met minimum beq resta_h als dat al bereikt is -> maximum subq.w #1,restart rts resta_h move.w #119,restart zet restart op maxi =[="? j i a<3?~`|Z1c@X xg|c|8SЏ/Q@ >|1? J//I~< '&'@`H&#' HwO67888/縟C~?&09?|T|A s?!?1.? |:P$   >:7?@wp   ;'?0:_@ ^?=02?``` :|wI gf(z9P$ b_?,သ8 # @ppppc|sxN@10  ??>c" _^pPp5 ?* c ?B`@p~ #"#@*@ 9?@H Kπ`*5? *AP`p-@ @H3 Cfg?r<<P|D?|+VGJ8J AHӘxR g-1>  U<0=xL + ϓU&hJ3&ãdGL@I0   gyh/)\l*ï%hZ7S { U -)[p=@e)t(!!j܀?R?Ӡ;  -Ls5\nc)ieтeؕ7N@`B%v4< Iz+<| TKcuЫ/[)|sw~؁;& 0+1@>Cz lp ` g%,W0) 0|?@`qT <$<͠   w81(l80GtX" _8?k@N1l - ;G'\ p6p78@Ex?& ߃8O_h'67Mx U7/p b A/0jc?J8}9@  xtJ04geldden nu voor pitch gelden relm_amp move.w i_env_release(a1),d2 vergelijk einde release met minimum subq.w #1,d2 cmp.w i_env_sustain(a1),d2 die dus einde sustain+1 is beq no_do als dat al bereikt is -> doe niks move.w d2,i_env_release(a1) bsr print_yef print YM edit field rts ; henvf_p move.l ym_ptr,a1 pointer naar ym sound btst.b #0,mousek wordt rechter muisknop (voor sneller ophogen) ingedrukt? beq.s no_rb_hep addi.b #1,i_env_freq(a1) verhoog UPPER byte bclr.b #3,i_sound_mo iAe@sC|iW* <8n YN(<V:~h<7BuӓG@`a~ i~` ;lN  Ls*ܬU8| 8P7[`A@@@R0? h  `\ z<2Ow7Bsn oht8@AD8@ w@ x xpO "az&/8_ AiD>#@`x@ w'@q;SH+W@h``x q"">|yz FXg Z@{Ӏ#@ pL|7O<'1l0@@089z\~nh{ PO Հ_@s#@ ?rgaxn0?XP4H2: #Q!_?A^ ~'ǵ9GP዁t8?(09p?G3zM7!X4 A܀y^ cD msୀ*0n0?pWajY=!>. x3T <P8?0 UvT#wX@ h8||?D ,gY %/FQӸ\@n0? @cw80|||&$g3,?C<_/@"k @o@` 47(x @`$~U pГ`:|@@_)F.8 @o` 1(8"   ]H@`` x 1`~L~@Wp`.``@4 (8   q!@jppQ0.2>w.C@xp`_ `@ 9.p~x(@p  8@T̀<Vgxx e]Õ']@+h p9^  hPx} f~7x(p  0@u /68?fx`LVLx1}`K( p\ 0X(x An_8 P0Y @d?00z OnUPH H0@`P p%f8`(3VA @ &`W 9 hc`>%?@X Lg(@Rz3 gbg08$* ?W @?({?f7p,?x0<W8_x?c@`=$5@8?bDv&Wy` (T8| d`;:|PxL3Zg(_-B~<~$08; g xfh?@ Vl{0Os wCL|Ӑ'$i#>8J# }^a'(/x>g9``9S$0  7 <̀ `l2P,>BmܒӜ =>i^@pT,|:P0|},0+# StF p/H nR \̪8 zÐ>op offset van edit field voor offset in envelope subi.w #20,d1 zelfde met y pos lsr.w #2,d1 deel door 4 voor waarde not.w d1 volume=16-volume andi.b #$f,d1 maskeer overtollige bits btst.b #0,mousek wordt rechter muisknop ingedrukt? bne.s ins_aef_point ja -> voeg punt toe ne schuif rest opzij move.b d1,0(a0,d0.w) sla volume op in sound bsr print_yef print YM edit field rts ins_aef_point lea 0(a0,d0.w),a2 pointer naar byte die we na verschuiven in moeten vullen move.l #i_env_0= ?hD<|7C#̗c A. }?8T8|@?Ƀ|^>%0 gB;9D06 _:`q2`8ƀ<T8|G8 =xepp`N(4=, /PD3XX@8X||p.KAx>pKNР2 8E- &p8>F0\|@x3!6 @@8Z~~?" G8@0ߍ @<* gm7p8`P!;L t˸kp|(>6?lhx`0=?\8lstx\ O|y P##m@@:;Wӊ\ H:4??֐_ ~ z0 P84WX i' ڄ5'[@3*; ђNߞ =MooP];tghz PP \S f `''@ 8; ? ?y7P-`ހX0@ u _ T s*4b<@IxyXa@ 3?"?7moqހ~"@` !O00"% ņF$p`<@``<(<0  x;]ϪV |uvI0vcD"T8@r ,8<@ e(͟ȓ??¯YYo  @ :C 0n9H>/0@@,,<H EK ?GK7   d0G oR @06426<M( HW``;@??B'?+T6 )uނF *en  @X04<` W3n;??alxiX OPE"t vCKlP Hqb`(0)=T;?K,`K@@{@`JNklP$@A($={`ogx33i&\cT0r~m@@aK>#lPUX`4?;|Y_ I+? Op 89ACC0HxxI!?xxh XOH pp 89?0bgZ;U3@_~s?rp ~A" go (px )9 A>Y ?@V_ kp?Jv0V() ?f`fUp 0 99;phh?&MgMGWȟ0U:sj >bdf> 88ұx >U>c^Gџ ?y5)vx{Z~jLne` 18U?<Q$_Cߗ JdoƏtYz~Fj np '0.|@*`ާ? ?W ZtX`(84<*dnP +& kkL0 R@< ??٤Ԯfǁ>Tp 'd08{=L$P p-rcA룘U64x5 Sw%?n[ۼ߀Cq$&8,4 <;Tfy} P _8a3b`F@'@c;1p;x0* < ؕ P p" 1 @ˀ +,p?ݓ| 1 v > ;ZF^@P \rve4 ;q֑8?3pp  |2?zd~P bwvP`J3ރ8;{ۀ`` Zdr2?tGxP `ӣA>`s0@l977s|׀@+. FWM+? Upp  /V?g P a~`  7?+<`V4X*"=9#7 `>0@ ?sTZ){,g, p`? ?pۀfF1$(=2+?HZp@=`3iX,p 8 `p? ?9?|9Z4(y:+? ,-`  >#R8F8ppI?6??]D_R.q AGx<at_lin zet pattern regel op 0 move.w #1,note_count als we aan het spelen zijn wel verandering opmerken st.b pls_flag print pattern regels rts ; goto_10 move.w #$10,pat_lin zet pattern regel op 10 move.w #1,note_count als we aan het spelen zijn wel verandering opmerken st.b pls_flag print pattern regels rts ; goto_20 move.w #$20,pat_lin zet pattern regel op 20 move.w #1,note_count als we aan het spelen zijn wel verandering opmerken st.b pls_flag print pattern regels rts ; goto_30 `@ >@n$`ğ&B4p@?*??^8h>Y sA @PZ`eΠ>  :HSt <"y|d??\^ϡ\#!E`: : a+J0z?j<u7ސ??/._ dx x0O@0( 8n 0 ;hWCpp&4|'>??/pj00 0(8'  %= /|hRI?? p43r /(8^: .HrK|9|(M>!?SńxxA~BPAP#`pd /0vV-?008+-|~>*| p@ ;PF`p`  p\ GP 0@L/0x0 v=\>T?x đ!*A!mP0p  𰀐` /(0H  J V<I<&5: (N!AZFF!`8 @ Pc҂\A/0p@ | p ??<>0  qL`̥l'8  |T gx$ ?xP0@ C|?< z|h? 9sbP:L0 e b~~/@ iOp?bl ^~!}@?8vw0O΀?  O'%'u @U=(P }os @?8˰8O00 $<>0HKMO  N<H Lk:#D<0 O 8 )lT|+;8   6=OÀ t8@|<0`@ H0x8,  (BCkrf@8?80 @q2 , xe#Mss @: NjP80`=@`-;9o=xI@+ ؐ ( P+8(8}1r{1 /hG-o8 @ >=8<88a 2{AщP v Gn<_0 `4  88ŀ<}![+H{x8W '80 '  E@=1zI@{įh sSןX O рhxx f>(E;hW?@iώ  f3Ap ?0P 8H??c&?< p@+   b'Pp@ `@?`l 1>>>>[L  % F0'~% ΀  ?  ,<' ;0X`8pQpnh63<0rL~ xxK `W *H8)8,s\ p ~ @<c *\`GlX׎| 8.`4 v00\?@ 1aDlEľdO086~8Lq@@@R7@ b $!I'~UIAf|pi@%### G ¶F`ʀU/<@Ab͞0c1@]|@( h  R[0x~} 8 ^4 ` hMw@N2 FBFp8  @k!60 Oqg@`JF@(, haal NIET noot uit buffer move.l (a1),-4(a0) nee -> zet noot uit buffer in pattern no_underlay addq.l #8,a0 naar volgende noot in pattern addq.l #4,a1 naar volgende noot in buffer dbra d0,underlay_notes st.b pls_flag print verandering st.b no_key_repeat laat toetsen niet repeteren W *)&`Qq ~|? 3hPG  pD8|@@@Hg|B!C @E`. Po088 @`@ s Ma`@ .pp/π"LTy P_0@P:\Cm@ _8O0D@Ff(-a@$?X  -&t9>`z @ /| @np RA& 8'?@p;Z<@pZ<PBAC@ @ 9_6 !AFa K0{À-@@x$-! `@ @cYd ppyrT79d [` ,@ 7 X`ʳ 8(8qN@`({ &e|,@ \ Jf34< WBap c,P>@`\fc`|. xb?)V!.V8 8@`-3<\h<xG`~釠`@0 p@p`_03P=>$<P( [~ 53q@q 3<?0 xg3 h> ? h?0@NdTdd```%%%uh3} ('$ % %yuy(}@*SLp@|- -7$ ?*` @8-|= $$l(@,l```(;H?D@D*0x9q9`3#3 #Z ,/~6$@b & f @@@*(b\~00w,l@T| +& / d ^P^@*3,?B < >@!gZ쁔* ȠH`*...p@ctS1 yI@y"n n .".p0(ɪH 3`@ B`}  }C h ʶD3H=Q}FR !J0 z08888LxGdž $"@o@T` 2?  ?  H*fn@!vv(~PAf2"* @N4R'7 #P @I 0"+ @O O>B-?4&uwL̿3`3@IIHZ,`KKB LͿ0@E׊ j`xHx LUɦ-&~B~IIÎ1 S_)!HH +xI}AICÇ S _Pa7H. K}JK>">UJ_lD`lH*`' ' $>f$Z>~ 1.R?H. .-~B~wtwB d[,'$'ZZ@+ ‹DƋJ)1D8'?4@AAA P-ǞD 6 %#'Alt' laatste long gehaald addq.w #1,d0 naar volgende regel andi.w #$3f,d0 maskeer mogelijke $40 bra.s next_block_line end_of_block move.w #3,block_flag er staat een blok in de buffer no_block st.b no_key_repeat laat toetsen niet repeteren rts ; * DELETE BLOCK * del_block cmpi.b #%11,block_valid beide posities ingevoerd? bne.s no_block nee -> doe niets move.w block_spat,d0 haal pattern# start block cmp.w block_epat,d0 haal pattern# end block bne.s no_block niet gelijk d 6 $&7࣠8Ȥ888 6 (@@.@~.(:X?0 ".~B~=*..>+`@//o @ ̀@|Z  naar volgende regel andi.w #$3f,d0 maskeer mogelijke $40 test_paste_rev_block dbra d1,next_paste_rev_block st.b pls_flag print verandering st.b no_key_repeat laat toetsen niet repeteren rts ; ; * TRANSPOSE TRACK UP * trans_up restore_pat_lin herstel noten bij pattern play bsr save_undo sla huidige pattern en block op in undo-buffers move.l pat_base,a1 haal pointer naar begin pattern move.w cursor,d0 haal cursor pos*4 lea cursor_chan,a2 haal adres tabel met offsett naam ook in block-buffer move.l 4(a1,d0.w),(a0)+ move.l ym_ptr,a1 haal pointer naar ym sound move.w #i_total_len-1,d0 kopieer hele ym sound cut_ymbytes move.b (a1)+,(a0)+ sla byte uit ym sound op in buffer dbra d0,cut_ymbytes bsr clr_yms wis ym sound bsr print_yef print ym edit field move.w #4,block_flag in de block buffer staat een ym sound clr.b block_valid block posities ongeldig st.b pls_flag print verandering st.b no_key_repeat laat toetsen niet repeteren rts ; ;  @ ` 0     xHh"%(+.1` 3h 456` 7 9<(>B0I 0 08@ 8@|x>0 }~ ǽ B?@1 @@@@$ @ @?@$@$ P`?`@ ?@Pb?@?@ H @>8|8@H@` ?@" |ϏP?1x Ϗ0HP?0z(    pr 8(7PH @?{# yD?0 9@ @  ?  8E` 8D ?``A |~ ǽBb ?@@$D ?@@?@$$P` `DPb @?@P H @?@Ǐ8P|8@H@ @?@<(x ϏP P x Ϗ0@`x(  &4 `p 7RH"%?}!*@`?y`@ P@ >A 9D@ !?? 0p.@ @ `<@ Px `||:~0< 0?@ ~?@? ?@@$?@?@$?@@p?`@ @?@Pb @@?@P H ?@ǟ8@|8@H@ @?<Ǟ(@xϏP`P( @ǜ(@  "߀ǜ `   bra redo_buttons p_stop clr.w patmode stop bsr snd_init clear sound chip bra redo_buttons ; redo_buttons restore_pat_lin zorg dat opslag buffer van polyplay terecht komt clr.b pause_mode speel gewoon door move.w patmode,d0 haal afspeel modus asl.w #2,d0 voor offset in long tabel lea pm_2_routs,a0 tabel : patmode -> tabel met keys move.l 0(a0,d0.w),key_routs zet goede toets tabel aan lea pm_2_spr,a0 tabel : patmode -> sprite move.l 0(a0,d0.w),a1 haal adres sprite st.π0$ ?߀ ?d@98?y ?@??~ 9D@  9F`"?88~|` "X  0<C|@ y@" ~p0~A{Hp??@ @?@(?@$BPb @ `@P|"H  @|Ϝ" PbP 8  83L 8?}$?P|pp~< ex1 W  ?@x?|0N|| ?@@hP @0(@yϜ0#x"H@ap` xЅ0@ϰ. a<a y`??T8>< yp}=Btp pxp|0x{?8 S?yp}=Btp pxp`?8G<ЯT?y?? 3L8?yφ0 R?@ |8P`p&( 0 P @0(@?@(p?@$`FH?>?{  'b0xY <>A y`">A?@C0?π0>  8P 0ߞ  ((yϞ0x H@!@ Pb @ `@?@x?@ @??@H( ??>A8<0@Np0 Y >pA0O~< a! sa Qs >A?y`PH1Jπ0@`8@ !xϼ@@d }ǟ8`x0H@! ?@@b @  @?@x ` ?@ ?@$B??@@? ?@?   \A< aP!<9F 8?y@`1?߀ ?@@ǸD` @Ϝ x "π@yǞ@x0ϏPbPr waarde van B silent move.b #%001,Bdata+silent mute bit uit -> geluid ook uit bsr yme_graf teken YM edit screen rts ; ; deze routine verzorgt de graphics voor het ym edit screen yme_graf move.l phys_0,a0 begin adres scherm lea ymepic,a1 plaatje ym edit screen move.w #32000-1/8,d0 aantal te copieren longs copy_yme move.l (a1)+,(a0)+ copieer long van plaatje op scherm move.w (a1)+,(a0)+ copieer word addq.l #2,a0 sla word over dbra d0,copy_yme bsr print_yef_first print YM edi@|xH  @Pb @@?@X `(@?@?@D@?@?@E@$?@?@? @?0?@?@ ?| \<|@ȸ~080`` P`Y '><B!` >8x?0  y`9?y@a"  ǜ(` ( ߀ǜ(BxϏ0"`@=BǞ(Ax8ϏPb?@P|x"H! @?@Pb @@?@P `@?@@?@ @(?@?@@@@?@ @|~ ǹF <B`|`<0@L|  @ `@3S ?"!1P0 pϟ `  9D@ "?yD8  ?߀ *""| P ($& x H `x ϏP =B(|8@@" ?@?@P|xH @@Pb @P `P?@ ?@$@?@$ ?@? $D@  ǿ@~`||~?@x P| ϏP@?? |8H@  ?@@?@|x"H@?@Pb?@P?`P?@@ $ $@? $@  ǿ @?B?@p||? <`@<@ q@(@ (0 C"9@B0Ȁ"  ( 9@ ?y?@t xR{߄ ,D>0@H  'XL> 8F @D>!<@ Ϗ@@?@=|H@  ?@?@|x"@Pb?@@P?`@?@@P  " ? @ `$?@?@@x @08@D0  p   4!Zd!j`D!h`p{@?@|  {߀ }g 8@ 8Xo< A |<@ Ϗ P@@@>A! <ǏP ?@?xH!@?@Pb @P?`?@@ @ @  00$ ! ?@~@# @xp0@ (@ @\1Lt~@aj>A p|~ {8(D {߄  )RGo_spr,a0 adres Are You Sure? sprite lea misc_buf,a2 bewaar achtergrond in inlaad buffer voor samples move.w #34,d1 hoogte=35 ; put_sure_line move.l (a1),(a2)+ sla achtergrond op, 1ste&2de bitplane move.l (a0)+,(a1) zet sprite neer, 1ste&2de bitplane move.w 4(a1),(a2)+ sla achtergrond op, 3de bitplane move.w (a0)+,4(a1) zet sprite neer, 3de bitplane ; move.l 8(a1),(a2)+ move.l (a0)+,8(a1) move.w 12(a1),(a2)+ move.w (a0)+,12(a1) ; move.l 16(a1),(a2)+ move.l (a0)+,16(a1) move.w 27 > @Ggx <CQH@|! < ?xH !@Pb @P `?@ @ @? @  0  9x>  )0@L0 @ z 2~@1j8<C~s> > {? xya0?@{?@@|;ă|" {aa @>oQH Hgx<| ?@P @`@?@D    @  `0 xx`p 0 [?{<B`?@ {`P0   ǎ8QL o|?@Ps @@?@ `G (8~ p`p 0` x[`c `0 ~8`8S`~pR||pqxyqCϴ0ψ0W`>xX{?qg`W 0 p`x` ?# ?@Ps @@!cǜ(B0xs}@?a\0 y10?@{?!SC0L` pX~P ~` ???@?@P @`@ 0xH @ >( |@>@O ~>?@ {{ ?{?UL 0  (`x@0`|@1` @? ?@  ?@?@@ @ @?@x H (< <oQHw| 8D@/PO@g~?@<?@ {{c ?@y?@@<>Y. 0@   `xp@@y~@! @0 ?@ @@ ?@  ?`D Pb @?@H@? <dH` <B(D~=A@@w|8y@`{τ0Xg?@< B?@ {ހ!{(} asc_mode zet invoeren aan moveq #0,d0 move.b ym_sound,d0 haal nummer YM sound asl.w #3,d0 iedere naam is 8 tekens lang lea ym_names,a0 adres tabel met namen lea 0(a0,d0.w),a0 adres naam huidige YM sound move.l a0,asc_string zet dat in pointer van nu in te voeren string rts ; sam_name_main move.w #17,stringx move.w #22,stringy clr.w asc_cur zet cursor op het begin clear_key wis toetsen st.b asc_mode zet invoeren aan move.w cur_sam,d0 haal nummer YM sound asl.w #3,d0 ied p;?@ 1>Y@   `8@D0 9x @! 0?    @?@  `?`D ?@Pb @?@ H @?<dH@` ?@ <@ ǏPP?@< QHPH~>('H| x@ {߄ ψ0(Ug|  {y@?@9B ?@ !. P (@ xp` y~$# 8$@@ @ " P?@$$ `?`DPb?@@?@P @ @>|`H@` ?>|ǏPP?@!8D Ϗ0H@D>:E  D>p 8  Lx{=0 ` y@?h>A9@ @  8C ?& q ^UTP>~~p:@4 TXx/< p_? .???t_? x/@<4 X\: @@~xW 0*U`P??'0p ^UTP ??p:@4 TXx/< p_ .??t_ x/`<4  X\:0@@xW 0*U @P??0p ^UTP p:~@4 TXx/< p_.xx|t_ x/p?<40? X\:0?@@?xW ~*U| |@P? ?08 ^rUxTPp:?@4 TX?x/*U~ |@P??8 ^rxU >@P??< ^:xU ,d1.w) dbra d1,clear_this_ym move.w #1,i_env_sustain(a1) end sustain op 1 move.w #2,i_env_release(a1) end release op 2 move.w #1,i_pit_sustain(a1) end pitch sustain op 1 move.w #2,i_pit_release(a1) end pitch release op 2 move.b #1,i_sound_mode(a1) zet tone aan move.b #8,i_env_type(a1) hardware envelope type op 8 move.w #11,i_vibr_depth(a1) vibrato depth op 11(=1(geprint)=laagst) st.b no_mouse_repeat slechts enkele klik mogelijk rts ; ; * DISK ACCESS SUBMENUS * ; ; *X\8:8@@x0W *U|P?#? ^8>UTP`p`: @4 TXx/a<p_A>. > ~~迁t_A x/>< 4 X\:@@x0W |*U~P?!? ^UTP`p :0~@4 TXx/`<p_@?. ???t_@ x/?< 4 X\:@@x~W ~*U>P?1? ^UTP@ p0:0@40 TXx/`<p_`.??t_` x/< 4 X\ :@@x?W ?*UP?0?8 ^ UTP|@| p~:8?@40? TXx/p?<p_p?.|xxt_` x/<4 X\ :@@x~ W *UP?0?, ^UTP|@~ p>:8@48 TXx/x@> p?:p@4< TXpx/8<8p_<迃.迃|||t_| x/C<4 X\:!@@xW `*UP<?8?&ha ^UTP~|p:0@4 TXx/<p_> .迁~~> t_>  x/A<4! X\: @@xW `*U`P>?8 ,X72 l [<V 8T8T8T8T8T8W8P?_?_?P?W8T8T8T8T8(lD8@@@@@@@@@@@@@@@@@@@@? `_?_? P? W8T 8T8T 8 W8 P?_?_? P? W8T 8T8T 8 W8 P?_?_? `@?@@@@@@@@@@@@@@ ,X7 op einde move.w handle,-(sp) handle move.w #$3e,-(sp) Fclose trap #1 addq.l #4,sp ; st.b pause_mode stop geluid bsr snd_init en zet het uit ; bsr ins_sam d4 = lengte, a4 = start adres tst.l d0 bekijk d0=foutcode van insert routine bne.s mem_err_sam als die negatief is -> niets doen ; lea misc_buf,a0 source in a0 (target in a4) subq.w #2,d4 voor dbra conv_4b move.b (a0)+,d0 haal byte lsr.b #4,d0 converteer naar 4 bits sample move.b d0,(a4)+ sla op in sample dbra d4,conv2 l [<V 8 T8T8T8T8T8T8T8T8T8 T8V 8 [<2 lX7, @@@@'@@@@@? `_?_? P? W8T 8T8T8T8T8T8T8T8T8T8T8T 8 W8 P?_?_? `@?@@@@@@@@@@@@@@@@@? `_?_?P?W8T8T8T8W8 P0?8_?8_? P0?W8T8T8T8W8P?_?_? `@?@@@@K@@@@@? `_?_?P?W8T8T8T8W8 P0?8_?8_? P0?W8T8T8T8T8T8T8T8(lD8@@@@o ,X72 l [<V 8 T8T8T8T8T8T8U8U8U8U8V8 [<2 lX7, @@@@@@@@@@@@@@D8(lT8T8T8T8T8T8T8W8P?_?_?P?W8T8T8T8T8T8T8T8(lD8@@@@@@@@@@@@@@@@@@@@@@@PPPPPPPPPPPPPPPPPPPP@"6w*************D8**l*Vj8g[<<2Ll6X7,4( 0D8( lT 8,T8YT68Tm8fT8V?SY?OU;V9W]8U8CT8T8T8T8T8T8T8T8T8T8T8(lD8@@@@@@@@@@@@@@@@@@@@@@D8(lT8T8T8V8[<O]>V?Se?oU;7V9Wm8U8{gT8?Tm8YT78-T8T 8T8T8T8(lD8@@@@@@@@@@@@@@@@@@@@@@ ,X72 l [<V 8T8T8T8T8T8T8T8T8T8T8V 8 [<2 lX7, @@@@@@@@@@@@@@@@@? `_?_? P? W8T 8T8T 8 W8 P?_?_?P?W8T8T8T8T8T8T8T8(lD8@@@@@@@G ,X72 l [<V 8T8T8T8T8T8T8T8T 8,T8YT68Vm8c[<>2Il6X7,6* 6@@@@@@@@@@@@@@@@@@? `_?_? P? W8T 8T8T 8 W8 P?_?_? P? W8T 8T8T8T8T8T8T8(lD8@@@@@@@@@@@@@@@@@ ,X7nieuw van instrumenten halen st.b Bdata+instr_no st.b Cdata+instr_no ; no_name_yme bsr enter_yme bsr print_yef_first print YM edit field omdat we nieuwe sound geladen hebben rts ; fsel_cancel_yme hide_mouse bsr yme_graf show_mouse bsr enter_yme rts ; ; * SAVE YM SOUND IN YM EDIT * save_yme bsr leave_vapos verlaat VAP-OS move.b #5,graf_mode we gaan save ym sound doen -> houdt daar rekening mee in de graphics bsr fsel_box show_mouse moveq #0,d0 move.b ym_soun2 l [<V 8 T8V8[<2lX7,  D8 *lV 8 [<2 lX7, @@@@@@@@@@@@? `_?@_? `@A?_PPPPPPPPPPPPPPPP@@@@@oD8(lT8T8T8T8T8T8T8T8T8T8T8T8T8T8T8V 8 [<2 lX7, @@@@@@@@@@@@@@@@@@@D8(lT8T8T8T8T8T8T8T8T8T8T8T8V 8[<3YmY6,[M  X@@@@@@@@@@@@@@@@@#D8(lT8T8T8T8T8T8T8T8T8T8T8T8T8T8U8CW]8Z=2ImX7]-U @@@@@@@@@@@@@@@@@@@D8(lT8T8T8V 8[<3YmY6,[M   M ,[Y63Ym[<V 8T8T8T8(lD8@@@@@@@@@@@@@@D8* lV 8[<3YmY6,[M  XPPPPPPPPPPPP@@@@@k@? `_?_? `@?,Y6mf<xl 4h ,`Y63@m[<W8P?_?_? `@?@@@@@@@5@@@@ ,X72 l [<-V8YT78Tm8gT8?U8{Wm87V9oU;Se?V?O]>[ < [<2 lX7, @@@@@@@@@@@@@@@@@P xx  P P P PPPPPPPPPP \ FG    ,X72 l [<V 8*lD8 ,Y6mf<xl 4h ,`Y62l_?_? `@?@@@@@@@#@@@@@? `_?_? `@3?f<xllxf<mY6,D8 *lV 8 [<2 lX7, @@@@@@@@@@@"T6jo<|j ? ,jY62l_?_? `@>?******w*6"8@@@@9@? `_?_?P?W8W8P?_?_? `@ ? D8*lV 8 [<2 lX7, @@@@@@@@@@@@@@ ,X72l[<W8T;S?W? \? [<V 8T8T8T8T8V 8 [<2 lX7, @@@@@@@@@@@@@@@? `_?_? `@3?f<xl \ FG G  F \PPPPPPP@@@@@k ,X7r asl.w #2,d2 *4 voor long tabel move.l sam_tot,d0 haal totale lengte sub.l 0(a3,d2.w),d0 haal daar lengte huidige sample vanaf add.l d4,d0 en tel er nieuwe lengte bij op cmp.l #sam_last-sam_first,d0 zitten we over de maximum grens? bhi.s ins_err ja -> insert error move.l 4(a2,d2.w),a0 source adres copy=start adres volgende sample move.l 0(a2,d2.w),a1 haal start adres huidige sample move.l a1,a4 aan oproeper terug te geven start adres sample add.l d4,a1 target=start huidige samp 2 l [<V 8T8V 8 [<2 lX7X72 l [<V 8T8V 8 [<2 lX7, @@@@@@@@@@@@@@ ,X72 l [<V 8T8T8T8T8V 8 [<2 lX7,      @@@@@@@@@@@@@@@@#@PPPPP@@PPPPP@"6w****w*6""6w***jg<xlX@  ,Y6mf<xl 4h  ` `h  4lxf<mY6,  @@@@A@@@@'@? `_?_? `@?@? `_?_? `@?8D8*lV8[<3@mY6,`h  4lxg<g<xl 4h ,`Y63@m[<V8*lD8 ,X72 l [<V 8*lD8 ,Y6mf<xlX@PPPPP@@@@@@@@G@PPPPPPPPPPP@@PPPPP@AUUUUUA\@@@@@@@]( 0,4X72Ll6g[<w 4? a0 x||b L p H8|  jMOiM hMOgM fM(OeM dMOcM bLOaL \L)O[L ZLOYL XLOWL VK(OUK TKOSK RKOQK LK&OKK JJOIJ HJOGJ FI(O EI DI)O CI ZMO O *O O O ,D@P 8`  ` @ @? `_?_? `@?n@@@@@PPPPP@  ,Y6mf<xl 4h ,`Y63@m[<V8*lD8'@@@@Y| |0ۿ`ƨdp^EfCWP3]T_ C @@ACtI<$??~y>/'?M ehy? /7o;Ŀ_w?A"=pyt(7]%< 6 ?)7 o??@??_?O?@;w@{;wy1`sP?qp+p]3`W? ;Xa??=À?;7?t7o/u5+??3#=)>?}$;x  AZeV^ca^ag(/t ]?>zOO3 ^g/'r=o\g9C;$h]p`r`ubub]@pE`?cB=Ei66P("yʈ!1 4=? ,~3~c^>X'+~8@Dx#>" ?/(f.0a~tü?@@?v)7pK:GfCz A"\?`0r;gh$s+($ =4JvP~$nM70_`?@%p?p`= 3x|`{ W` GM4s^53aρ~-8nmn{nv1 "B<x ` >@`~a<TX>p`\>#.A~|wfC<G9QM>j>>5#33**"=5e7`i] \ ppp/hoo}p^ J3:>>Sk8xy~x|p_߸ vu"9r쉃v  xS,/ Sd}@?ZF=,l4pb}5>7afKmX8EOWWs+gIowaKNp|fC<<88 ) ' 8f=@|`.xD;{_?<~as+A q Y %'K!+xf:L2F  &1@qq05 10?518_g vd  Ooc+d*b =8=3faB  6=wo6OO?|\ x?Wi1gx|-m+A8%"=3 ߟ$a<Çy_xbGAsL3@A{f">,0A}C9:LAM AL<M <L:M :L8MO8L:M :L:MO:LAM ALEM EL:M :LAM ALEM EL:M :LAM ALFM FL:M :LAM ALFM FL:M :LAM ALFMOFLEM ELDJ NO OOMM*OM H NO: MO%OO%M F N!OMO: M E NO OOM*O O E NOMF NH NO%OO O J O!OM*O%L H OO O H NOMMH M(OM H OO8 M F OO%O F NH OL OS OU O(OOS OOQ O(O OO5NO!OO!O%OO5N%OOOO OO!O%OO5N%O%OJ O6NO!OO8N!O OO6N&OOOO6N%OO!O&OO6N&O OO5NO!OO!O5N%OJ O&O%OO5N%O#PCO*N:M(P:O #P8O5N %P:O :M5N *PEO*N :NEM :O 5N:OFO*N:M:NEO AO5N !P:O EO5N &PJO*N :N:O #P8O:M (P8O#P5O*N8M(P<O #P:O5N *P:M  5N   @ `@  ` @ `@ `@ `@ `@ ! !"`##$@$%& &'`(()@)*+ +,`--.@./0 01`223@345 56`778@89: :;`<<=@=>? ?@`AAB@BCD DE`FFG@GHI IJ`KKL@LMN NO`PPQ@QRS ST`UUV@VWX XY`ZZ[@[\] ]^`__`@`ab bc`dde@efg gh`iij@jkl lm`nno@opq qr`sst@tuv vw`xxy@yz{ {|`    1x6~ 'xO?>}?x|`:0D>??0>??>~x _p ?|7??x`??8z8>???p 0??cN1 _?0???<7@<| _?8L{???p||px|x|8??>^?x<x|>@z `@|F8>Xxxp~:>>?G8!p|px|x|>8p??><<<<x|h"\p||<<9<0??|& #x qܿ^?;;;;{޷{޷D 8"|F~88?^?;9<8~8v|@8@???x<z8x8?p&x>???|7<| @???8<z80?f3 >??>:;ENAM:OAN:MEO:NEMJOENJM:O8OJN:M8M8O:N5O8N8M5M<O8N5N<M:O<N:M:N*O(O*M(M%O*N(N%M#O%P:O:M *PAOAM#P:O(P:M:O#P z0zp>@z _?8??_?? >?kv@ @  | xpx4x4x0~0>8>?O0| |q<937@??>xBFw3;;;;3?|q7||xzX8>]|_/><~|x|h"\||xzX8>]|_/? `?O7>?|& ```v}??${p   ~|>XxF8xx.P~?>,< <<88 0@???x<z8x8?p&x 0???0??8&p ??????<~x ||x|xxp?o\^#xx>@z?p\"ܼC`??0p?"||??':rzzxxx>@f@??00??|8@??0?^a@?x>@z 0p<|:|0<<:xO0= z\?/<<O<|9>  <<``0?bH0'|<P <<``0Q :6MO #O&O O :6MO &O #O&O #OO O O &O <6MO #OO :6M&O #O86M&O O &O  :6MO #O(O #OO :6MO (O #O!L!O)O$LO!O)L!O$O!LO)O$L!O$O)L OOO$OL O(O$LOO(L O$OLO(O$L OO(LO$OL O(O$LOO(L O$OLO(O$L OO(LO$OL O(O$LO$O (P  #P  (P  #P  (P  %P*M  *P %P *P  %P  *P %P *P  %P1M  *P %P *P  %P  *P %P *P  #P8M  (P8M #P8M 8M (P 8M #P 8M (P 8M #P 8M (P8M  #P:M  (P8M #P8M 8M (P 8M #P 8M (P <M #P <M (PAM  %P*M 1M *P3M 5M %P8M 5M *P3M 1M %P*M 1M .O !OOOO!OO !OO!OOO!OOO!OO!OOO!O O!OO!OO$OO&OzO*/OzO*/OzO*/OOaM!O[M OOaM7O!OO OaM!O[M7OOaM !O OdMO7O!OfM7MOhM!O OdM!O[M OaM$O7OO&O OQMTM7O!OVM OXM OXMO7O!O[MO7MaM!O O!O OaMOdM7O!OaMO[M OaM!OaM7OO !O OaMO!O3 M O4 MO7O!O3 MO O( M!O7OO3 M !O O3 MO3 M7O!O( M7MO!O3 M O!O3 M O4 M$O7OO3 M&O O3 M7O!O3 M O O+ MO3 M7O!OO3 M7M!O3 M O!O3 M O+ MO7O!O3 MO O4 M!O7OO !O4 M Ou#5O !6O!5O !5O !6O!5O !5O!5O !6O!5O !5O 6O5O 5O %6O%5O%5O %6O%5O %5O %5O %5O %6O%5O&6O&5O &5O #6O#5O #5O !6O!5O !5O!5O !6O!5O !5O !5O !6O!5O!5O %6O%5O %5O &6O&5O &5O|~  O # O  O # O  O # O  O # O  O # O  O| OA N!OQ M  OT N $OQ M OK N OH M OK N &O  OQ M O OQ M!O  O  $O  O Q N O O Q N &Oa O  O O M; NA L!O OD N $O; L A N O NMNM N(MNMN(M NMNM N(M NM NM N(M N3N %N N5N N3N %N N5N N3N %N N5N %N3N N N5N %N3N N N5N %N3N N8N #N N N8N #N N N:N #N N #N N N #N N N #N N* M N( M  N% M N* M N( M  N% M  N* M N( M  N% M N* M  N( M N% M N* M  N( M  N% M N* M N( M N' M N# M N( M N' M N# M N( M N' M N# M N( M N' M N# M N( M N' M N# M N( MN3N%NN3N5NN3L3N%N5NN3N5NN3L3N%N5NN3N5N%N3L3NNy_ &;      $  J ? 1                                                                                                                                                                                                       "9    C d   $    +   $  BD 808 SD 808 SHAKEm@                   D      $  $                                                                                                                                                                                                                 > %                                                                                                                                                                                                                                                                                    B x6~ 'xO?>}?x|`:0D>??0>??>~x _p ?|7??x`??8z8>???p 0??cN1 _?0???<7@<| _?8L{???p||px|x|8??>^?x<x|>@z `@|F8>Xxxp~:>>?G8!p|px|x|>8p??><<<<x|h"\p||<<9<0??|& #x qܿ^?;;;;{޷{޷D 8"|F~88?^?;9<8~8v|@8@???x<z8x8?p&x>???|7<| @???8<z80?f3 >??>:;z0zp>@z _?8??_?? >?kv@ @  | xpx4x4x0~0>8>?O0| |q<937@??>xBFw3;;;;3?|q7||xzX8>]|_/><~|x|h"\||xzX8>]|_/? `?O7>?|& ```v}??${p   ~|>XxF8xx.P~?>,< <<88 0@???x<z8x8?p&x 0???0??8&p ??????<~x ||x|xxp?o\^#xx>@z?p\"ܼC`??0p?"||??':rzzxxx>@f@??00??|8@??0?^a@?x>@z 0p<|:|0<<:xO0= z\?/<<O<|9>         <<``0?bH0'|<P <<``0g    a  U S IJKLMMNOPQRSTUVWXYZ[[\]^__`aabbcccdddddddcccbba`__^\[ZYWVTRQOMKIGDB@=;8631.+)&#    "$&(*,./134679:;=>?@ABCDEFGGHIIJJKLLLMMNNNNOOOOOOPPPPPPPPPOOOOOONNNNNMMMLLLKKKJJJIIHHGGGFFEEDDCCCBBAAA@@???>>>>=====<<<<<<<<<<<=====>>>??@@AABBCDDEFGGHIJKLMMNOPQRSTUVWXYZ[[\]^__`aabbcccdddddddcccbba`__^\[ZYWVTRQOMKIGDB@=;8631.+)&#    "$&(*,./134679:;=>?@ABCDEFGGHIIJJKLLLMMNNNNOO   )OOOOPPPPPPPPPOOOOOONNNNNMMMLLLKKKJJJIIHHGGGFFEEDDCCCBBAAA@@???>>>>=====<<<<<<<<<<<=====>>>??@@AABBCDDEFGGH        /?1                   ! & - ?=xx??<~????x??????????x???|<< <<<< <<|??|<< <<<<???????????????>|????? <<|??????====???>???xxxxxxxxxxxxxxxxxxxx~?<xx7???x?x?x?x?x?x?x?x?x?x?x?x?x?x?x?<~x?<~x?x?x?x?x???????>?|>?>|?>|?????88xx?Gs??????????~???><<880?? ???<<880??088<<>???????????????|????x?????????????><<8?8?0???????????????????????????R^."??10p`S???????????????><<880???????????zAN COOL.   [8KLFDIT.SGREAT1.SD2-BASSDD2-DRUM2STRING1.STRING2.STRING3.DITT.SPLAAARRGGHDD-KAOS7OSTERM1T ( 2FZ ////1,0,+,*,)( @6p :p9p1p3p!04p9p9p5p9p7p2p 5p:p!0 7p5p :p P8p0p7p2p5p :p2p!0 9p6p6p:p1p9p1p:p!0 :p9p1p `:p 9p6p1p4p9p!0 9p:p :p9p9pp6p1p{f8}(?xM )C + T0o8=G[RJLOŐyDKktIoLϤ㱀觰ŗPeG@x7o@74 3',f+0'SwdU<7lg`\wj̮ۨ؇JʝYrȪﰊߐIpD,2w810OO 5'bS@пɶ`]ó 5A{_54z/_ǐpO?Η _gXFo?LX'%xD2mGS( Z;EN߫ՀOrI5pT'@J%?8wT0ns`/7_۠?0hAR` o9p!01p:p3p:p @9p9p3p 9pp!0 ;p*p3p9p `9p3p9p 1p9p P6p!0 p9p6p //////// 4@ *p 1p 0+p 4p3p!0 7p 2p 04p!0 2p 5p!04p04p 08p6p!0 +p 7p *p P6p 4p (1p (2p)p!0 +p (3p (4p!0)p!`7p 3p!0 (0p 7p *p!0 8p 2p!0 4p!0"@#*p #1p 3+p #4p3p #7p #2p 34p2p #5p4p34p 38p6p #+p #7p*p P6p 4p +1p +2p)p +p +3p +4p)p$`7p 3p +0p7p !*p !8p !2p4p "@#*p #1p 3+p #4p3p #7p #2p 34p2p #5p4p34p 38p6p #+p #7p*p P6p!0!04p!0 +1p +2p)p!0!0+p!0 +3p +4p)p$`7p!0!03p!0 +0p 7p !*p!0!0!8p!0 !2p 4p!0"@##3###3#33## P++++ $`+!!!"@##3###3#33## P!0!0!0 ++!0!0!0 ++ $`!0!0!0 +  !!0!0!!0 ! !0@ 00 !0  + 0!0 ' !0 0 0+!0  P) ((!0 () (+!0!`0 +!0 (0 2 0!0 + 0!0 +!0@ 0 0+ !0  + 0!0 ) !0 0 05?؀u܄B{0Gdoxdrа|pml@cd_ܠdͺ]aXTU8ԤXO{d8.OSQ27ٸv^g|YSMD:0)*[R'&7J]q윈vfax87* [Ƞ{y`&']]WTUZcn{x@(6FR]gҶh\_`c{Ʋt0Ooh`H  ;⬙ ĸp@'[mbVME>0%oƸҔpbVI=0'>mvi]N1KcdcL &Wȴ ⠅zuȼQ.'Vt\0QTRN: 9öihkrbTF9+  +!0  P) ((!0 ((!0!`2 !0 ( 4!0 !0!0"@# #33 #!0 ##2 3!0 * #!0 3 32!0 ##  P0 ++!0 +0 +2!0$`3 2!0 +3 5 !3!0 !2 !3!0 2!0"@#3 #32 #!0 ##2 3!0 0 #!0 3 32!0 ##  P0 ++!0 ++!0$`5 !0 + !7!0 !!!0!0@p pp pp0pp pppp pp p"p0"p"p"pp pp0pp0pppp p p  pppP'p'p'p'p%p(%p$p($p%p%p$p$p"p("p$p($p!`%p%p%p%p'p('p%p%p$p$p p ppppp@ . !0!0!0 !0!0 !0 !0!0 !0 P . !0!0!0!0!0 !`!0 !0!0!0!0 !0 "@ . !0!0!0 !0!0 !0 !0!0 !0 P . !0!0!0!0!0 $`!0 !0!0!0!0 !0 "@ . !0!0!0 !0!0 !0 !0!0 !0 P!0 !0!0" !0!0!0!0 $`!00!0!0*( ' !0(!0!0!0' !0%!0 !0! ΔJU?E? Q'9 C OXBDM:nAA~m;ΏΐΑΒΓΔ||~kg{w\`yrlap~}ohiKWd`po_o_ϛgmW0=H7o ?w ;o_?_KΫP0K)GOGOhX?϶[$' O`ߐ_]W_Is=P06]}џ(h3\`,?o`Hs0woSuKwhp`3Pphr:[`p/Ykh}okYҝIourp'PdlȀ8E{pwDtwOf@Ytpwodhgcpe_XYo̐[R_mPRdgoPW_~KfP|?hsph@hw_Yop/w`KoWhhhYQ?__h5hYop@Y2_`Ppphw_@Y}HPbRhT|л@WHZXWohlwjWzz,xPXPh_`{@֊sz`wXv]6{kO``u`uT{__Pko`ghK}TwHggZcYhwUc]yjT_x0=o_s{lluCLahTwT]ixo`hdo_}Om`qOp`_8`Pk_}c{twppommOHeǑ`pgU``kp}o]uz_JghW{hhsWwvLo[KywjPyǐaeĀwnmy{xr`TpouaViVph|[i`Z``}Mxe{7rw?{sy_r{WgfO?psz[rdqqowk`hy_fyoлxbVogտWto{rwiǐmnW|`qxpkozokODkgtd{W_? TmZ`bkoWpo]^qCbgD{`[VtWxl_pub5{`|pnoc_x}`C[e¢a`xr}otpWpgk|}ppbbkpZOdyk{`lemo;kYhRexokq{l[kPfWdhP7pesZo@NL^z_{BtuvYAJs̀u`pcyph{tOęhxj:]hw^`hwGe_Zzp|YoDOx_cvXk{g{Pe_hCoOho`zKjr]XitPshahgpð`jTo`[why|X[EloGvk\ppg~oghttzpTghkw}UH_[Ht`bbgljfXuP`GdXrWsh]W}Y`ktttuh]sUd~qy茹do{rs}`uPsTwopatg`Ks[^]MgcWxk_CLPot]tohknrrf{sY1v{chpmsZ7owt?z2op_w{ow_r``Gohl|ǔadg~fjpl}]g@rhxOedHWx}co_Qppodx`xg`uypqJgnow}u;olyTwHzn\d{|\Ns{_̐äpklbwD[PU{PyhgoY~czC_wr}jcihkwuj`{wptvc{_}b[{wds{`icv[juyx{yx}xq}zx}yoynqy{ywqnwp|lusywn{{mbvgtdsqr~jwxit{}twynzv|vpcj{}|us}|yx{rxis~i}q`{hk|sxwzinn|pwzvj~~uq|qx{emxwrx}r~zvcbv|rp}|q{y~qt{oy|wtq~~qwtzt{w~joxytw}kzywx|z{v}|y}~y}||z{trrv~y{ztqy|}zxwnqv~}{}}}}x~wz~~xy~yyv{{yyxwmvjuyxkwsxzv|vx|q}vlu{~~{zw}z}zyu~|y|~}|y{|z|~}~~||yz{~~}{zz}lxz}n{}y}zu}{{~}}}wx}|xw~~z}z{v}}~~~z~yv||}z}||}{rx||{svtt{|~xvtssz|z~|zywwutw}|yttyx{z}{v}w8oh_h /x 8= _Hh(;L?%?O(;<؈lhj`/X,(o~xxkߨxhnY8!(ϠoLoX(=X_^HG@_ߠX?hx_hبH(|H-\ʈ/ȸުڟH}$_h =(_ߘX/-ظMoxH/8_@Ȉ(?( (ȘH/HSX ?hHOs+IoH-,oo(_h`h;{`?XO  ,,_̜h_z@Ȉ`?_h_X|x@?8hߨ(,~윌_H/o螘@?Ho@hH[ިX /ȈHʀ,=o(| P[@o\_h(0 ?HOx/_hX+_8_ Ș~XO()7]H(n /@ /oO}ڈ -H_{h hØ?xX3XXH?x?Ș@/@+(؀c/xx(w؈_ nxh?ho؈n܈/8Ksn /HX? _OhHo`($Ȉܠ-_بx.[ߨoAB^ XHM` 'L8?@;h @W0=xHlxH}̿po쪘Ȫ̸Ȁ Zȡ؈Xonh+DH8/8\@?x|hohloH ?̗ȈH8_H.(< gL-MX_جؘ nz^xxohlި@;\XLnX,ol~XaXȼxxH<8#X Y`9YHx(?@?{ XȈ@?xڨhO8+?9O O~zΜL*O؛h\ ! /_L_xhX_̠XH?Ȝ߸l YNhn\O{ȾI/\OH?g.K\ 48 |l^ȸW_޸XȘxH#ox܈('_ȞX<8(Oh _ȬX7N (H(5( (8 ?xL( ?_n@ ȪȸxmȸظhHXHL*7@4OnH_n@;AH8/N^Hx8((/(?h/{\(+8 OȀ_μ`Yl9\xH8'?_cHL  7X( XH8(*()LH4O\hnX +_xxjlx[JHönبH /\CZH MSi~`( <,/S,9OH=M]h /J< !;-oȬxzk\XHHoؘ议xsh88_hH\LLJH8Czh_x^L?@'XX,'o؈<?DH, 8H_x@8HH\@/ ?.=Ȟȹؘ~lN=(_p(849|nhH=/[wk}oX<8+8H[l~\ =h,Exlh8Yh[HMXL-%GIX((( OȸΨȸȨh8Kxjh8(.,'@(#8XH((?{hH_x诼ΨxbAXX+(('Oxh,=lX! =xhXH]gho|بl_λx|{hL8 ?c\L(>(lsoȌhlhmgHS_\H/hhnx1-?L((=(.(  (/_X8]lo쬚ظh?PjجX=_ʘ{||h|XX~L'OaO_hL?\ZNXXPN_X:Jzs^nz}x{xH>E,9_zȮΘnXXHKH_nZo~XHoxzXPllhH(8_{|hxllZ\x@/XXH->XhXHȌxN8,S̼޸hhloh._szȸ踨̈Xxؼخ|z|xh+/?hXnhH`l^Ȫxyoh\\]ȨxlxkȜX88'?ohOhxxH?xȘܸ`?jhhHmxE?Xkh  Gjnx|x\F8?H(-(?HMlW|~xL!HJ`zxaH,?o|h~Ȱx}hc\XNH__^_xx;OhhX_xz\O]~lO]μ}xhXHxilhHXH(!8_|\_lZH(+]hhX=}hlNL]ȞhhnXOC?yl?LL_xsXH^0#?_X8#?X^c^X\@((/OhhhxȈj̸xwxhK(8KHJKXKoLHMgjnxhoj~xlwxL:OzX_\_xxxXL7NLX\\m{oxhK]h||xxx`H09<(=\H>JkhohHYȘx`olHJ`H8X\LHOhnxp^ȼxȸܮΘlLH?OX>OyH_hOoxhH(6>/5?H88?8HMH?_ol@/_x_hX}hho{LOhxިhȬh_xL8.GX;+(/>$;, ,Xxx@W\Lx|^Oìx]ȮȨ̐h>Yh'3H)=Ȋ~l09}oθȨ̜xlNHoȈ_xhhHXجhHoxC@OZ@((LXH]@,L8)/KNE-+MX8?hHJ_Ȩz̿޸̬Z_ȬnX_hH0!/H8  78,KX^H88HZoܨyx||x|xxИ|nlxxxl(,>8=H8(+[H8.*A8'HLK]ych~hXl̸ʼx`HoJXy\hxl_X`o{x^hxH8LnlzoxoEOiXH(<_h\^`hh\hhl\>-?Q88:Ohczxo^Lzlh_XXhx_ozh_njoh_o^hjnzظϼ||~~~ȬȮzzxX8   #/(*H]nhoȰhHHH_xx|hXL]`L(+$ ,>Xos|okXSXH( 'HXn\@" (! /8HH(?_`X[xhXN`^X_lH?_h\aoo~踬nooc_hoȸx\XXkxhX8?OXHD8(*?O_hhloh(/MH?8')?XhoxhnhX_s|hjxox~x|lhx~xXZ`hmxxj~sho~~zxhZ_hjl^`jxxxjȜʸ|~xlsh\{HX_NOj{xn~ʨȨȸlxϮxXXxhLNXXX;?OhnonxX,(8HZxx`"?X]or\_x|lnhH0#/8=>8!$7]mxx\XOLHXgoonoz|||ȸڸsȾبnL:89:8DOH1 :??S_ovƶziUQ@80  &'4?BLU_do{phZRF82&  (.9CIV[gsyȼ{qlaWRHB8.*"  $+/7;DMS]alw|Ǽ|xl`ZPKA62)$#,7=HNZ_myºzukb^UQIA=63-(%    !%*-28:CFMTW\\ejoz~˻ڿĹsvagkZYfGRJ886+#&"+   !!$#7+/0?IEZodokxxȿѼʽxt_jeUl`WP\:D??7?@85$L((# '#+ 2% $ +' #.(9=:IQHPKWR\P_ScU`[x`jtbwwxzкƿкǵ|s|bbkbXPPKHC<80:(;5@71&-'30+35?1&36'550/%:<7227/,2<5385::R@@P;KQFPSSRPel[diTufk}{ĹŰƲzp~tuidbgaaacYe__bV\aWUURLDB?63@48(**%2%%/,(0-02'-*5.;/=4@98>AKONRQYVTeggquqvwķŶļŻƼ|}~xqxovlhsmcf`YbS\YOVLJTLJMDIBG=A@AC>=<7>8=8=;HFKFMIPKSRTSXVZ^]^acfjlmpkosv{y}~|}|zt^oo|he,"(4CSo60?nXlWJ0-0P_w@Wd>{xHGpo{ :3W K2 $CIҹ죳´po(58@?OllmhsKw/%K@&;j\Hd707dh +X +DOSؖπh[PWwP2_hD(OO؟XQ<-/Xג`OH%p,QoP?Omò}TTHLH064ӔП0@GL3?rn^SJ9{BH^0T_Ǵp*l<-GH[wȵltwXb"d0$+libСm\@U@'mg_o@ ?Zkh\wݲȟjgxUSag`,"/pT3xfbHGό{丆lqZr>LnQD=;hfɰȪpdkE`,OyM[tF2WfOZS첵]oB3KH1I`cpǸr|{bLWvsttisPoL@=8KhbĐLWxjD_L_|iqh`ovRYecxŽl@K}p\{sw|Yr`coyhNmºbaDGj[KTcQa\mnjqtrxtnnbgh_pXv{uk{|yuou`eliTocco{khpp{hdgpcinxlhsxoqotmntvztwxnqv{tzyhgzx{wzwnsrVsyw~utthk}~hixxqflqbmrqqoti~pv|ukjq}ppnkZin}vyyypsx{fsh\Ub`V\ljrzn}`RSfjOXYTZry{xtunrntcaecrne`vly}nami`cnledg{suw{rhmnnqa_adah}owyuegnxdZTSW_alhwwws{rrk^Ycfmr`igis|}y{{{ywjp\_bUVdhmu}zt{pf`lsvnjcdmzr|y{{}{~vrkqn]]fZcltzy}~~upyxuiihilmt{zjsxl\ov{|zxs|ro}}~|tm}xvzhixmZ_pdohhe}|h|lxxvsy|rtsicirnpthvv~}|yuwrnmh_pqmmeluzoyvtyrouzv}pmuwpwzv}~|uzrrjgmwnknsvyxz|nd^j|x{zwrrwuujf`]miihgpu{}vm}wlousnsw}tu||wnnlfkkeciehny{|umotmhpll}xuyuwqv{z~{}~ynpkjlrgkij`gqyv~xvzq}vpmijlnz~y|}yolmoqvyw~~|zz~u{~zmvqtuvqovupoy~}}}|y~{}}|z~}~}{}}zyxwzs{}}~~yxrrhfwvsrtouz|{~xu}vuywwu{|uuyzvmorphnwspnt|}yuw}|tljryrhgqpuy~|y~~}}|}}{yy{zx|y{ywuw{vwywxsuwprssvwwwz|{}y{yrsyzxvz{{}}{|trq}vv{~~~xvwusrnpmssv|z|yz}}{~xywz}xt{}~nyN!ۀ$!J̪Ό{n$HLfMJJQo(yN¡Lb fnxqQ??@@JF~zuuyzrswxru{|zvmuYQQOMXbpwypg^[PFIVU]puprjiort}|zpldbhmqy{pssgit~~}}~xzy|plpfgmkmnx|fRG5)&(+A[o|zqjojkw}xinoknmquljtxxrjZHMWXblsz|yvyyvvjY_\STQYb[Xk~pnhVUPS_XVfvy|r`NLNKSewztnfagjinw|njnk^S[_^ao~{uzvu}}tmolefmsviVQ]]YkǺm`P?;=@53FU[nsprpt{|}~yponjgdgsre\SS\\Zsyjeaadm~}h\_febcn`Xan{wxvpe]JBE@8?]vǺdXTRZ]ZZdomy~zqhe]YV]givxvmh`af]X\aipw~|tlRCEHFVitʺ|hXVSMDCGNWazxrxvutpsqcalv|{ngbafh^eqz~qjXJJDAKSZi{{vrvzwxzkif]QNYggfmqwxrkTBBEIIMZcw~q`UZaea_n}rabihcguuty{vjjkhgd`ait{{|{vphaajprtb^c_RX_`jveWPD::?AGT_aey{pegd`aelkrxxxnea[QVijiyyqecaehnqv|wsuvuqpa_ccm}{|ma[[XWVZceo~}`W[MGNY\fs~rihbcglsnXcysr}zrqxlc]bda]cop|{~zkszlZTYVXar{t{vcUJOUQWr~zoyvwndcZ[ckqyzql]PS_hqqvnmgaZ_ga`o{x{uxz{}xw}}~tmnhboqmvzxowumbWPJPSUWdvsnfWUTJN]jwtkg`ZZ]ab`ckr}}ryyntx}xvz}moth\_gls~zpjmkfijt}|mYQVZSKYjnuzztkll^PR\cespd]\RKP_yxqleXRVX]g{|{y~~vtyzsyvinpinryy{~vjlkotsowstja]XPUYU[q~zjimhd^^hpikzzxsoospqyxuw}{pgf^P[jos{{uir{trnikhbgnpyy|z}|omsvv~~smfZSKOXVbw{zutxuzuv|~}z}urnhkor||rpunqv~}{~|~yqe][NJU`i{vqsnhhrwynffhfjkdb_[ckozutrmvnlxzz{wupndedX_ooo{~yz{{}zzpd]^dlmmkehjow~|{{|v{zorvutzysttkrxvvmkt}}n\RYb\SSWMVmwxxxqmsusuqlnh`cfglyzxmghchwznlYX\UUdns}zqny{yzuu{{rpnjdifZS]upjiiiorwrmosvxtpywsu}vwxe^`^^c\cmrzvhcbda_ba^]YW]dtvldcfaaimsy{xruyxx|~ztoooz|}pd^Ychjru|{|tjopnkuz{{|plw~w{}xkgheX^fhkotyxbI@<=;BOMLZnyqg_\VTTPRbiryrbgqlmwzrsj^aopikqvqvxuow||}shZTXZeryx|omhc_^cco~qdVNHJQVWcmu}sqpkoqlhjqz}zxvsrvrnnkytisurnosdVU^`Y^qkcr|xi[LJJLPW[ZanwxponbWb`\agq~tZMMNO\eq}|pprz~vx|lhmos}zu\SWV[kqz|vmddZRMSMOW^gyqdTLMV_Y\enywx{osvuwz|n`nkedhpyurbVRS]eo~zw}y|~rstsibb_gnsvytfXVVVW  0 0 00!0" 0& 00"0Iv 0H^eejw~~{zpkfXYUV\_casyxle^_ifnyxuw~zzy{wsuyxrzzseUKJGG^svynyp`TIGMPS_qnfaXNWbbaemz~}~|ztf^^defq{~zkhiknu{zxwvvt{~{~~sjhgjuxigZSZbaaehmju|~n`WJDEKP\hoxoa_djfmpovyuf`cqns}wrmimwse]UW\cenq}{{tu}~|j\NEAIOV\sùm`edXW^`akxvvw{{tpmkouzxh]accdhvz|ytkbTSa^\lx~xh]agkp{wvpghfZ[kz}}vlke]_bb\k}vjkpyzxt]SMEECEQ_iv||l\^^^_gyzpsvp`mznz|ltvho|~tjXYSMGM_q{{xkeeqn[UODBDMUWiĿ~wvg_ghbh}vi`Z[fpsvh`YYTKOZettbPIEIW_fu}}vlopoyywoifcn}xvwpb_^\bmoqtllw}n`YJHLJTcis|tpa_imt~vlcflifuzi]VQSPUgtz|h[PH?EOYeuyzpmquwyusbTR[biurhiegqtvzwsz{{}|pd]RNJLW_m|l`Y[aekuvgowuqvvxmbYVLKSZe{tdQIQX[gux{tpjinmqyp^\_^]coqyqkorrpoz{rry{yl^XLLWV_z~mjofdiqy|njsliw~qiYQTU_orxrhfcYXakrx~rla]ccg{vb]XUWRX`fwvmorlbiljvymmv}xnb]VKR_`jux~qmlkdgouvdXZikcq|z{olysotvrsw~|vnpjmvytgfigmu~urke[]c^Xaowzuqmjlrvst}xtyvzxecsxsv{{xkgnvyt`^`UO]fcnu|{pged`\_nvxvggkpjnyzwjkkmszyqh^XYVWdis}pllppq~vlktuqx|{usqw~||~~ywvurry~}{s`ZYLDLX_g{~unlhdXVW[aemsldcmswruuro{zy{|~uptrwtrpt||y}|{ytmhjjqsrosur{}{}xrsrttns}}{nhaZVMRdqx}}wpklZV_imrztonbdjjonq~yqrooqgbqrda[eg_gjkrzuyvhaf^^jd^fovqhlhlqmu{}zsppgfha]gnu|}zu}}|}yohnma`iqszsrl^X_dgbi{iZYUHCV_\`jxvnfTKRUagakzwx~{twxvuzyyz}y}yx|niogbopt~tmx}w{rssbYdZOU[cuvojjhbjphcgzy]VVNAAJNWirr{ƶ{qd__Y^hhck}~~x|try|~zorpu}}tptopomuvphjqz{qdZVUSSUX[cq{td[_dgrxw{wrqpqkjof`aozv}vqti`gghq}~vstmhjt}|z}tb[_YWgy|ngab`PKQ[^fiktlaZMMMHELUZ_fx}yrlmpst{|~{~zqpqtts{xomqxzy||y}pgdehfeewz}skfgszw{}xq\POJJQTXe{xpm`PGCEM\hisupha_\]dkqnsuu{xs|yxzutzytrolomjkt}zxqsx}|z{u\XVGESdgefq|vlsysiYPFEKPVgt~}iTYcXN]nw|lhnqma\hjcoxszzsw{tr|posoqw~pb[]^`bhwzre\Y`]]elggcmuqv}u{xohiw|x}|qjeec^elkm|vd]ZYZYS]mnhoxsswtv~|tqnimohjjijmnnz{ulj`Zegjt}pi_\_VQQSZfnq~uqx{|y{zv}w}~lYZ\SZfku|~~x|m`UPFCEOdekx~z|{todVT[]cpzxrlhimsuja]W_^WZZX\iu}{z~}}|vs{~xux}~}wuwy{uk^XNLRW^fiieoxvyux|{vz|xrzvmnpkktqr{|vz~to}zp`ZYRMLKQWclsxo`Z^_a^_hy}~}zus}|x}}y}zh^VLOUU\iuy}}{}z{zvmwskqrhighijlrw~}{qmtrcb_Z\USXXbkrrutkhikmiinkegiu}ww}~y}~pmombZ\c`\]^i}~}wos{y}wttpnqysnmnqw}~|xraPIHQWSOYa`izzyspp}zlhsvjacehlfimo~~tj\URTLIOWdoz~}rjpjfc`ZWft{}~zoornqrroyvnrlgicZX]b\]o{zvnhdfmnebqvmvzyy{zvzz~{rbYSHILOX]ahpupgfsqjbUOSQRTYcs~{sd\ckow}{y}vfa[U[`djvwnepxr~ljoruz{||}pheiigowty~p`TMLHNa`_nj_gjgkqx}|yubURRNWcr~~wrd^`^\fmy{~vonlhb]YXWV_cmzrnpw{yzxkjlgfu~wlheabgdcg}yvlc_]kpq||si]\jkfow||tsldcoxzwtga^\]^[isvsxn`YTSOOJGCIUrut{|?AYD@ 00"(0_w]7 0Z@9UDn@ 7 3cw]W 0D@SD@ "0 0D@x.чx!8@ 00"2w<2/49OVawü{ololosuzzxuls{tprsvvwvf]inpvrinlifmxh`^VXX\gmry}||wl[VX[cbbjlorssw~vow~zpgXD76-/3-3?Um{~yv}|plmkh^ZW[[`ijnvxyxvqibitw{yol^X__]kjhr|qhhhikhw~sh\SW^VYacimjqrow{xpgVE:721:BOeyskhoos}wrfY]\UQPWTX`bfpx{~~}qki^RLNLDFS]fruymfcmmdgqwwphfddfleirmpw}~y~yjZ]^_acgmtvt{~y{vvuqy{l]]\ZTT[ahpu|sskabdgmvythYKD@87;=<>@HWhu~xmpolszw~zsjf_^\PJPXTV_dm}jbjbOOUTXc`beabm{~tnmhjjcZ]ejuvq{{qstlmrmlvzygfZICFENOS^ky|zrgjjc\XTPTWX]ekuxqdd]RJKWREBSXUWeq|sf`ZX_a__Z_afwuqu{rq{~}jWOH?=@ALV_kqy{|w}xpqjnpmtzysnowzqs{}pe\XZSB>AKQW^gsyvzvpjnsl  (0 0oP @IBb=#@A@@ 0 0 0 007#3>>? 0@@ @N Aa}C@@@ 0 0 0 00 0 0 7@H(Aa}C? @@ 0 0 0  0 0 @ @@`@@ 0 0 0  dfkossvurpospe\Ydlim{~|vh^SMB@;8:CISequ{zzyw~vpjhg`UT[gliksyxvyypkoy|p`X\UD@INPWbitx~nsvozxqytiuyz}tuvqkalqa_lfbkt{p\HDC9CMBGKCJ_nt{zvpd[VSMN[iolqyux{|xrw|z|nj[@88:@HRQ\giqsppoyl\YY_iortywwrpnrri]\ZPRQDD@GV]kzwvsjbWVXS_nsr{wpiWSY_q|z~}rf`ZTY\TNPMQSWirpvwjbge[]ad[_iggpw}|xvxus{wk_VQ]aWQZ[]clysp`RQRQOMQ[dmuzzrpsxvy}|zvnn{{umig_XR[eecdkq|{qnhd[QRSQZbo{~zy~|uww{yndZRLJOZWUahuyuprhc`_XMYairy|~}vy~wz}|uupklgekrqpfiw{orxokgaZRRY[Zct{~xnoqllltymmgdgnf`dnj^bkxxuqkyp`_fihjpwyxz}tmpotrw|~~}y~|vzufggfjfitnbjyxxztf]`P?EQQWjou~|zusic`cb_achkoqw~~vrskjh_b^agikrx~|{~xy{rqwtt~xphj`SV_fkx~zywm^ZRZ^_hjomo|~yzv}~|ihh`XLSQW_ckhbemz~usnjf`^]`bajjlrpfailpyzzvwqlllojnuwy}~~yxurvnpx}zpe]USVW_jrzzsmktleiqsvpgfja[eldgqhjkr{unm`WdjXQQLLKTgwx~ztszupsyx|phicPLNK[aa~pdbbXS_egdeq~xvu}x~}x}yrvz~tszznjnmsyx}xspqne[Yafhn~yrlccjhegmqz|~tr{yqpg^MDBLLVfpy~~wsurf`[VPKOKO_hwuoe]YWZRMYffq~z}mktzh`XMMSZfszxjmhY]fnw{z{xyvuwpekronqtltvdSE<-*.09Wm}xgfhbajlv~|poiifXU[\bv~sfQ@GLIS_fmvqrztXMVTMOR_jfjzn\cdUX^gtkmupiXKOSQZqzm`[RKR\^cp|tihdVHKKLO^nu|~vv|y{y|xd^`[W_gmsl`\kpk}tZOF;;?FCGYjozsl^aikw~~yursohiljhjmzp\RJJSPQiuztokikr~r\QU^]Y_ma\j}l\^cbYULKMIGRmx`Z^ajoor|yngYPMFFHS]_r}rlcd]bd\\_aimut\QVWYhsx|q\POLKHJOWartfcklostxtlou{}zxoknqwzvtaZJ?A;6AJUew|fWXVNDCO^bhou~zup^NNPURVbdszypa]emroqp\Z`^V^mlqy~yxpswy{xsu}|vpg__a`cv|~xmkqpgmtv~t\PC81036?NZ^ezz{vrpptmny}}unfgjb_c`^gy{~ž~qb[UXZ`ciwvwzsvnklo~}wqd^Z[cry|~|ulgiikmrwyx`Z\PKNVYaiuuopnotq}q`jmXYa[WVbhhhp}ko|}~tnaQLOOR^q{u}vcRTTJMfvottoxpkz}w{~yskmcVYhprowqqnkdmztvwrrqpggjnqqu~{~wq{~ryyjc`UIEKQY\iy~yle\QWbiuzqb\^]XXcqvv{rck{qkswurisx~xrqt~yz|u{zvz|yuqj`Y[\ZZ[dypjpqhajy~~tr{skmn`UWcijwtpnbUUeyld_a`VT_gmzuumgmuz~{}|snqrovxnorryuwwl__^cga\l}yw}{z{|wwzxteeica`^cmiiy~yusu{xrusrunkhdkh^kz~yl\ahlllw|rromlgemtw~|}|y{tc^^^^ak~|vrkquqy~vjkssw}|rtzzxv~zvppnhnt}}xrc\__ZQPTPO^my}zrifihrz}~pkhiikopkicakru{wrhk^V__Zepp}xt|zuyrpssr{~ywled`gsv{yswz~ytwqbdeebmupitzxzxkipsurbW_e[TWWLWlwtrh`kbV[__djmv~~tgdZVVQ[nwto`_`XZkv{skosqsl`^jbaem{}ujkfVNWjp|{uqmovwypllnu{ut~y{zy~ytsejn^\bdkuq{~x{~rlmkdegf`^][_j{|fZRMLJKRZcjms{~{wurnkuxvx~}|pifoqq{}zzrknouuwhfitvspfdu~yxtdfhhjlmpv~|ssy|hNB@AHHGQ]ghk{yuiq{r{|labdostx}xvyzy}~uz}xkiggdckrunoyz~~ssue[`]]a^euzsjkq~tf\VOZh]cx{wxw}rutnjhqqrypdisyxrtxooquz||}zpjrvnos~v}pZ]`SKOONY`goxyr|}rbRMKPY_lptpjuh@Dq)0U{qyzx{in|zzslgi^euvuoib]jtqs}{w~tif^XRQ_d`eu|yxpiVPL=BGP]bossxhiigkyxpimrtyuyxswxw}zxxvvxw~~rsrn\QZQKVcqurv|teaZMNPGEOSV_m{~sgaVSZ\X^cforhed_gicltrsy}zxvolkowuqyvxworwrr~sfhlrolqyv{~tZHD?@=ESQUgt|{smid^[]ZZchuy~vihicfm}|y{vpt|yy|y}~xqw{wzypb[^aju}thhc_]^ddk{ueWQNMTXZgou~yzvruuqlkouvw}zuwsnjguz}xq{}zvvyl`aed^ctkcow}zk\OQPS[egfjuxtrmi`X_^Z_ckyxZOOOSaks}v~}rkqv}}|jbdeixx{zulUPTRUgovyrhh`XQRHKNQ]q|pj\PO]h^cmt{wuypswtu{z}rfolc_fmt{ub\[]dmxtsyx}|zmdaZajopuvf^TPOTW^fbl}tphWUNQRUZ]jsqgdkqks}}}wrszxru{xqjkqrox{tiYLMLM^mnr|s|pZOFENSS_wŹ{me`[QWabejq}~|~||ri\ZWZ\_oqpopsy~}tporut}vhdfegvsgdQJV_]]biplw{~l[UH@CKNYfs|pa_fnjsuu~zue_gxsyzjddcgvwh^XZ]bfnrzustquzhYLEDKQ^e}½i\_^VW^fio~{wvxxrjfjpwzxhZ]^Z]aouxzulcWT__^o{xj`cnrs{vpqjbfdX^py{xppjcdgg^k~uw}zti_civxws\TNHJGLXajx~rfZ[]aboxqszwfr~v~qbij`k{~}wkYVRLHNat~zpniupYRNEDFOY\m~|nekhahy{y~shb\Z]jvyvd_ZUTPS_k{xp\MHEMZ^eu~wz~~}wle\_`\i{z{ynddc`emnqwmjsxvrd^PMLMVait~yd`gjms~~{qhowqn}|wdYXTWU[q|}tgZMH>CNZeq}xwwyxhih\TQ\gmyxoniktz|}yigqrtw~qaXOOMMVcspaWWYZ_in{}pz{~ri]WVRSY\i~tgXSWZ_mvvzvqmkqtztn_Z[\\amoyvqyyrpsz{|z|}}{vknuwvhXXPNUXe}vd_`WU]dnx|x{tvphZSST[ghozxsnb`ktx}tjg_aggoxj\\VUZV^di{rhjkf^cdamxy}yrioywla]TMWb`m|xmkhf_bjs|~rbZarsnyvlhl_]bd`ciwvw~zndejlszyrnhd^_ba^fwvokgaailkpxwpw}}ievzwyz|w~wy{unjq}l\_aVUcmmw|~xl]ZWSNPZgs}|omnmhm{ysw}rjmpt||wsj`_b]aooysmjnlkw~ypikwww|tvuplptt{{xy|{xk\[\PNYagrxoc]\ZMMOVakyxqgagosmptrmx{{~yyzw|wsspt}}~~|ynhgcgjs{zxzljjhfjltwrzzwtli``_XarzvplieeYW^luv~xshhjjqopx{trmpsnn{zla^Ycgclrx}vri_[c`evsqv}tqraZ^_clmw~~wvqrvmmrhdqry~|qrwpjuvw|s}{kjstt}ynsna]hvxowvbTWXMNgqkishceVHS^mvu{rqsogpwtlrszrw{}{jkwldux|qjwvizu{sz~pn|pejpwz}zqpoooourlglwv^WVPIOYYey|zxmf_bibhtxx{}ykhkuts}}|rrlo|~~~xryvwur|}rmos}~|}yskkmmomhhovx|pd_ios~||rvy}ws}ztq|zunkqnhkqz~vnica_emmukei`^myzogbeeWU\glrvvv{pmfaiibfkljjmw{tvuorw~{uytqywvusnmltww{w{{tstliffmoswwmowwrwzzibb]XY[_esyoriZUSW[gwwzwvvpqpospx}xomv}zyxuzyqrwxu|xpmlgfggdm{{}~zy|~r`^^X]iy~~}vy~z}naWUSV[ckvrbfoham~ywvpc^gmmjly}{zliorlmwywxpssy||plomkilvz|zpjluppy{rpit{qtypmx|uuyvxzzz}zspknoiqxru~wjWSTZ`^Zky~w{|||{xswwquunmmihwxzz~ujcgbfqr{tpkorfbfhir|~z~xeclqs|}}xhVZa]_gs~uo{wnfg^VVbomr{}~|sj`^^Y]mstQQOMXbpwypg^[PFIVU]puprjiort}|zpldbhmqy{pssgit~~}}~xzy|plpfgmkmnx|fRG5)&(+A[o|zqjojkw}xinoknmquljtxxrjZHMWXblsz|yvyyvvjY_\STQYb[Xk~pnhVUPS_XMzVfvy|r`NLNKSewztnfagjinw|njnk^S[_^ao~{uzvu}}tmolefmsviVQ]]YkǺm`P?;=@53FU[nsprpt{|}~yponjgdgsre\SS\\Zsyjeaadm~}h\_febcn`Xan{wxvpe]JBE@8?]vǺdXTRZ]ZZdomy~zqhe]YV]givxvmh`af]X\aipw~ri\VUevv}~yrlqtnitz{yopvut}wld_kmzm^VW_fqRMUTQaowxv}urxf]cc_myvswvv{yv{twpcenku|mb_gfqz~~bM@;G]djw{}}snkqjaoherqu~|xpoia`ntuvtlnvtx`[NHU`bqz|ycih^bejpqisjcqzu}`chl{~rovypwp`gfs~nbmyzhREIU_fwmgsukku~usfoyqru{zpqy|w|wcbjZ_y~}uzox{~|zqrhVSXR[dwtdQKMWRVe}uww||rkpmbjq{{{{ro}}zv~|vhe`X_e{zlukpspot{{mu|~v}~zmlrj[goq|trvrhffa_guo}vj^oyv}omnpw||{~~~tw}x{w}tuwrw|tuzwuqwpiouvz|uox}{}wt}xmy|xwxgkidzywxradurnz{wxijmlq|wx{z}rgghklkwvtwxh`_hotnwviiciVS`\g|q[_jdbdkpu{tzz|xl^RTV[f|vuvcda[Vjio{rt\QZRQ^kw|qolsxnhnoqyutxtefd^ersyursmeja`yvlbPHKHWltr^b\YhedchqlVP^ceem{|vsg\Scrry~~peXYWgxylVVXZXbox{vjh_cy~roy{trbZXMU_m{e\TDDDOo{~vnjbcme^bs~|zmklky~ngfki^aqnw{qcagnouznkzfPIE>B]rzjXNIGH@?IZqxaTMEHJMV]c|ĹxoeRFRQTXcqx{n^ZYT_m{qbXTYVLWa[g}zl[RNSVOdtu~}mjVHFOFO_{qjb[ZQU]jqwqspqwznilwqkmoszpaYTTZ]_mn{{sy|t{hYUR[VJO_loǶ~jTOPGQ\\agopw|xteRDEQSk~~xrhfjeantfifXP\am~h^`_SP[][kw~zmh`\USQReylf`LGLJKcrzb^PKVTah\isikiZNW`Ykvuxi`K@JHJ_uw~roorx~}~z|kgfganprup{|vpkjz|pproz|}st`WXXTQakt~||uvz}~pq|hkutnlhkqqnvzhY`V]`\m}}y~|zeksxnjrhk{|}szthnj_dr|ztdYX^`bo}ztk]fr|vytpr{}y~vhhg\Wmwhsrqhdezxt{yoecrtlowx|yqja_eqsgjfpnsv}u^XP@AT]g{~}}xwyj\Zhhionz{y{}syyrqnaoxmnh_ip}~}~yphuts{sqwty}zxm{z{uyymrywisrdu~vozpdZQ_s}}|~{xw|pqqgqtrr}y|xxztjiyrysqtkgy|vz}}rceZZbjwyrnYUjl^fjis~}xhX[XXYZi|{yy~xkX^fetw|y|vudbSGWel{qprbXfjjjoz{balffs}vx}}usz|yxy~yt[TO]nj~xi^UUVafet|rvwms}{~tjhkpko}{qjbSIO[ckorrrwv}b>227?JOo}zpoqlwwxe^[]]cbkuyvrts~~{{|xikoqz~~v]QMNLZmyvgbRIMWkw}~rpmnnk}tf`TZ`kythqxvx~{~uptzpuqklogkwq^JB?ES[wrcccdfdeptr{wifkh`t|jWLJPR_basvwxjbVNNLMWynf^R[jhm~plvylmpoxuqmyzmkcYZ_emku|xmbZ[RGOejytf\SOS_`q{}xqpiehcagkupiffX_nmflrw|rnjru{|s`Y]ZUczx}zumilpdP]lmwsy}sdjhRQjjimoyyrjZMVTJcu~sbrleekrvrm~xy|vmw~vqbot~{ynhfe``TeumvxdeVFY}xorm|~nm~tlb_Z[W_ywjdW^sz|pkpwpctud]TPVq`PL>?Wq|zui`jwyzxksrhnj]\OKUnpZj`@FQU\vƸl^F==EWmiozdhigohQFB<@I_mv{zrn|}qYPTW]nmkqrwyeVVVWgtthY_hs~zziaX^dk{lfdY_iyrphX\hlv~hjlghu}r\VZUYkxvjXGN^fmw}x{{taWVIGNcoraa^_^alllmy}xroow~t`PHFN_ir|j]SYLO_mpf_\\gvhkfafxzmcc]_ovf^TVmst}|y~|ztxrldPM[^Ws|qmh]X}ulbc\cftpPKN:Egif|z|poo^V_sfe}rqjilgkunf[QOTfwxpxrnryxwxxnoria^bjv|v^_WPOYQDMV^^bqvfLCEHCEOevw|~vort|tdW_^WYr~pfbbjfk{~v}unhY_opkw~uia`__foy}vokqolpmtkm{vyj\UF:CN[tpf]KNJ6N^g{{~qooj^]ofYb_bfi~~sTNOHS]Yo{~y|}powyyvlZ][VOGQWR_urh_^`\o}to~tswpmmwwttvvZISEG[spbpz~rwssnnj^dnmiwh`^Y_hl{}ob[_ZNZmt}zyuy}fY[_PKHD^qsÿpi`WUNCCHN_q|z{xoi^cagccojwl`[cbas}hknkoquuuðtqZGKPKSdjbo~p`W_y{|{vmxlaaswu}|dTNEHJ[jw}xzxlgeXgiksuw~vemts}~xpsuohUN^nsulqtrfilbdnnjjnf\XURZffqut}{n\XWUNWacguxueed^`jmzrqnkjrt|x}{hZH88-9RZs~rqndjrqp`WZXnps|u|mgnggedius|tpcZRNGRowi^Xcgiiqfhy|xxmvpZSNQY^flq|pov{}}lk~{rjge]_nðteW\`VXbfdktkoy}P @IBb@A@@ @N Aa@ 7@H(Aa?  @ @@`oP @B@`@@ BJ@`__  Hh@`77@_  ``@` ?`` @`Dt`M>:AAFSao{~vniQE[gekifo|x{|xxx`gfTZmhk}szz}y}rxznoytxtu|~zrgw|tptzww|rlihdlreeqxz}}~snnfbdhz|~s|}w|xlfp^Vnkanmqw{vbZQPOLSU_eakv{|raVTPCBDJT\b{zjwr`\Y^`iu}yqyuphju~yeqjabeea\amo}~{paYPSPLMOYnzyx|md[SVcbaqovzw|xuyvnqx}xpjXYomit~vmf`XPQivlgiksvjmggsdeb\`rxhhp|{wk]bffkjbouw||txnrrj^oyxun}nohak\WemwrmvzmsrjdmtdesticqlXQORHIelu|phfwpeib{z|tspiw}lmpwvgw}qnld\\YGMcgl|e[K6;>7CYjmv}k[^]ao}|xwqq~vvpkwscw|qno{|jQKGM_pomizy|d[P<9QVXU\suw|w}ytmXTafhbmzxzwtnwz}r`cb]isgfld\r~l]ir}|pq~zugamtjjekwz~snlbeh[]m~ngjdftpizyjjjokquxe]]Y^^ekquytXJFDIDIScwt`\V>?LXbjt~u{upowyswx~tfhfacjmw|}lbTKW_VYbfo~yfg]PFS\fo|pa]fzyyws{yimrikjxy}}nh]]\VfYT^mvvy|fYLO_ousyuhirz|worqzyl\OZ\]foqkttnjwp\`^\ZXT\XYarui`L<@FQXejnwz{vqowz{xqnqn{}v|vv~v{mdopqfltuwlYWXVVYo}uunddhkyowy}{l\csqmw~yh`\J56COdi|zwlaYJGIQcmw}uwt~z|b[aZajohmlwz}nkhorshX[Xcqzg\W_bf[[hr|wxpu|}vpeZWcrxz}wy}mr{y{{zydgoafwnmk`amoy|zui`\NKKLSk~}uneXZnj`fkjo}yxw|h_ljgzuc[eiiypp^oxbm~yz{vxfljdrldLQRSfleop}tfYXNR]ao|}|xre\_W[d`_]ur]Z[\s{}|xlag{}{}}vt~y}{{x}w}qmzz~}|t`UTT[jmrNONE]Zdswz}q{rvtlwzzyppmhfeopzzuzpa``Ycw{toqehbgv}l]P>+2BAQcq~zqjib^ZUastfgfjt{{xkiceebqwī|p\UYQLCMX[mòhc\UX\Q[k|~}}qn|vcdohcjns|gdeZTaikrw{rqxvj`cjgg{~|t`]idixp{mmoa^`Saidyvs}illj{zs`ddcsz}lcokaeYSgupgkmoy~z|tntmagjgksxr}rdacqujam}sXLSQSYdgae{ykZD?EGZgksvusdny|uqqmkklfoysfWOYjlxgegehdcgoywda__ejw~rwpinwwfbvzutrv{wnmdVLP_hw}j^UWYYRTRZo|lippkq~z}}zh^g|~yysa]cd]Yivpulhmrqyw}yujecRcicwuu^Zdceinx|r}~|rw{x~xtpqr|zwpbZ[dfkzz~z}vsfjutuytrzmdmaevrh`cldT^supu{xpaaPJMMQ_pv}xt`NLURWgwz{wsq|z|xmo{}z|uxpky{xpkla_`lhg}vod[_rsx}{ro}uw}rv~~~ruuqutspuv|pislirlkkcovro]ZbXSX]irsw{livjhfmfgo}yvwz~hY[_`Vjyyswlk|{ruwywlmvyupks|lU_|rghi\gx}qkqnkffw~ww|q`]ioporpxv~pp`WXU[kzmh_bZbsvxu{tdXRVZ^gyqovi^XQS]`i{|slcgngawuv~vuvxlsznmylrmf`biov}wtwzrbZ^XUe}wqjhwxww}~zyqrqvw{y~|~tmgZozrw|v}||}~otvsyz|tjjdi||xhX]iirw}~nnthnqchbcyv\W`bmy|}~vlmhgmfo|zt_Y\Zbgkhfq{~wxs`KLNM[ivzrkjv~w~}t{|turggn~rtqllqvxjenjkwzmisks~ssc\WSakhl{luvnt}xky}rjccy}ztl]Ua`Teu}~{{xwqcm}|w{uw}|zw}mb[douzd^[`diwun{|qrsw{x~qsxebnmjs|tsxpv}tvwtwur~~|mjmw`QMHPRan{|nvxxs}t`XOUdklrxqy|xmnY^ocenw~yi`_ijhhe}pkdv~uprd_cgenpjkfcuh__eoy{{{}zznrqgq~~}|fgkemutx}wzwot}vgqmbca^nyxlhcLOefowuogXNJYcunlg]bagmqz~}~sdd`Z`djp}}pptufg~urxuom{pb\\`box~|t|zunq}ys{tzxnyv}|{|zysqskmow|cYmo`deivxtxmYfh]abjyxjxpwto{xspbop`spxwptrai~{y}|y}}uysqp|ztkryyzv}y}mbgd]cdmv|}vqijtienvrmlvyvpiacd_`an~zsoqqtytpwqw}zqlbklmup~|omi_cegw~|eRIINQUcwxlhXHHMU\gnoly`SBCMBG_jtxgk|nhhlgdbf~slf\PXciv~}pd_izxz~~~pb\VZX_hgztooeU_tpnoswe_s|fRKH=EO]esvz|uox}{}wt}xmy|xwxgkidzywxradurnz{wxijmlq|wx{z}rgghklkwvtwxh`_hotnwviiciVS`\g|q[_jdbdkpu{tzz|xl^RTV[f|vuvcda[Vjio{rt\QZRQ^kw|qolsxnhnoqyutxtefd^ersyursmeja`yvlbPHKHWltr^b\YhedchqlVP^ceem{|vsg\Scrry~~peXYWgxylVVXZXbox{vjh_cy~roy{trbZXMU_m{e\TDDDOo{~vnjbcme^bs~|zmklky~ngfki^aqnw{qcagnouznkzfPIE>B]rzjXNIGH@?IZqxaTMEHJMV]c|rnjigkw~x|nkpnntwx{xzvrprpvxk^^a`Vaggigr{{wpx|xjcYW[V_glu|yt{xvyrij`^`_it~wtxtpqzwswynkjme^go}nd[\ispsyvsw{}zntwvxwy~pd\[gqy|ywjbeedhkoqp{vfTOVTScnmlozndjmZW^_kpo{}|eab][NDSQ[o}|khl`NQYgi^kuzyrmnzzrnpimwwosjcchqvxqnpsusuuutu{}|llllxvpdcgmogmvxuz}bfqorw}t{xxyx|zk\eppw~|tnlb]_ejv{hhjhnpoyzztnporqnrdcqswwib^^Y]hhhw}zd[e]Q]fggrzp^WQQBBL[cmphie^VQ^\Yctwtdec_dgmq~~zyyplz{h_b`UV`ZbywcWTLJPU^q}}xncik^VW]]_gzwgg`^[]enolqvolyzuwxh^Q@56;DVlxqnkhelvz~||{tqz}rt}|}v~|{ugnrvp`\l}zwzpkwzzzxqa]c]_jvzg`OEBCEIYrytnehhfcc[\oxx~yls{pswwy|tos{~{yoi[[^gxlYLLMKEQen}İzlc`UEOZXRSV]_m}ph^R]`]S[eaivu{phTMVJDFUhloɾlhdHCLT_afuuok^_b\YQPSY[fw~vj_a`]gzvqyxhYRW[RLVbgszpeS>ALKPZagnin~tf]PH>1=OS_a^kzĻ|tl\JHWVMZgnryxwytfegiio|tlklw}|{yypw{pmgirqwwl`H:>CGOLLSZcy{jilka[cbYehkqnrppwwvwpbZVLAWdatxu}stzwp\ahhisww~x~wx~xruh^[SHHEL]u|p`SIGDCL]oyuy}tolpjbZVUVbqutnn`]d]_q|pXTUJCEIUgijutf`b\JPSI?JNXemmrfhR2(($%5IYd}tttmfb\_mpm|~~zss{|q||ovx|}tg]^]YX\easfdaXWR>ERRaw~mjda`XSabZjzz{jovu{~vzz}rmihe_`q}~|{noyf`YVahjvyx~s}sl\NB8;HPXal}xnoq^Yekpovn`Sf{qvzb_g`dc^m~rxn^n|kihaXIRRJYmxvhfia_hTA=DQYbo}nhfd_^\c`^ejplovz~uuvn`fuyvyxxuqacnqt|yrWGFIE?Kfryxu{xnomnkdkpbgtjey|~th[eprgnzrusnu|wleli_YT[fqyxolhjruxrmpxrd\cy~lhge^]dgqngkpv|~zpebW[d_ZSYkx}~}xjhjr}{nq}{zmg[RT_o}{tqna]fc_d][`emyzp]YVVejflsxdekmntv}|{wjefhky{y~rpnnsrwvp]UafZ_qzz{phMCED>BOW_wtksl`ksjgokur|lsudfy~}xsvkrmjkwwyypdeaKBKKISszpjhsxu||smkjbYa^_zxz}tkonlhmv}{ywynr{~{{~}|zt|uhb^Z^Zbzxorxxv~{xyrgf^[^gnq~ymuzyvquyxmjolkyzzy{ut}xw{rssoo|{{tkovv}vpuphhfd[amosst}uszpuxreZZ\RWguy 0h@Dqe`|C?I 2W;6)0UNu@&|`@A 2W"|yu}tgsvdcd]_e`aqzsy|yrqqjpkjuxmqywkjmwpko`_irwps}wzvw|pcirvru}}yylXV_jux|vrnuplszwz}xx}q]_ll||v~ib`VO^^awvz{wvyxzy{|p{~pvvw}ziipihx{~|z~ysqiXLPMSmxs{vj`YXY^entzvw|{|zw|~yz|}po}}{|rfl{z~}l]YSO]lt}}pnfWaqvn|}|nu|wy~|z|ovnknn}syrknq|~nke]bbjrzzpkigefnmwy~|~poqsy}~{||{|wyxz|vz|tputno{zh`PNZ_`eyuxsownckoyxo|v~~wu~}wynlsx}tw|{}z{~~~{xuxvjm|}zqf]dmebk~}tnsrmru}|y|wy|~}{}yzzu{}}xrwqs~u{xwwuyuuuxvtzpgklkddw}~zsnnc^`]irpn[cupwzxyy~~|}uwvyyyvmoxjj~xtq{rgvvhZNIPQ[j|mcgfXWn{|uzztohls}~}xzzxxqz{raagcflhdq~|hb]TQU_wzx|}}|{vuz|w~wwrourv{tn~}{qv{wucgtr|~qspbgl_bd[lwyuxzkmw}ztnv|{{su{ulrz}nUXde]^mvy}kbgihfagwxxypgiuyy~nu~pkqvx~vp^]f`WSVe}z{vlherxngis~vtwzt}{|~vst}nkuytjs~xtw{zpqujU[kmk{~wnjgkwz{}x|~sx{w{vkkja_w}{|xzldvthtr~}tfuj\ajb_rzxus|{szmxxd]``\fjmzysgfgkuxpq{{qs}nll^`iozwqlhRBUbbkryl^YPMPWZenyuuuuwrpkmyzpnvtpzztkkkljefitw|tndec^[colh{zkglla]ozy~}}{|~~xuvrheeio{|yxjgjimx}{tuzywssmmlw|uuz}}sy||tsn\[agt~tnd]cqslqonxy{~thhmnikplmwsgoprgleckf`dgideu}qhfglofjvtp{vwvyyyvrgefvzqngb^\cjhck{~urmehjea[clgo~zuhc`c^]ggq|r{|rfSPPKUcuy}siWTWMGNT[es}{lb]I=?SW_lm{z{wvuhmyztpuulkmhkz~vu{{~t{{sefjfkms}|jqmozw{}tfar|ls~qf^\]iswvttjjfeiyzw|}z~xtjXV^`fowyvslisrt~|x}xsr\X^[gwIJyjQCA@EVUNWgqxzhU@4-,&'7GQiµvpi_aZW[TW\XWYZktlq~jTRPDIUVTm|xn\_fY[gfjz|xi^a\HENHSjt{}roqb_nmhmqndjlbkyrpxdYPGAGPPc}ugbbY\gdmxz{r]VXTGT_cu|wtk]USTQTewy~y}vqy}~p\H@4-7=GZmxol`VORXVLDP\`juxjcklnsyx||rqjdcjkp{tihb`^kj`T:/5CIOaoy}jUMRPLWfoyhcYRV_]esz~|ypioullnmvx|ztuz{lk_ZVPPXgjoDzlXD5..49G_ewpdifPK^iio{{|xruwz{xc]`WVSRVXiwzlTOMRQVfmuh]^]WRcz~zfXW`dforu~xphj9 }o 0@`Mz.@M/ 0@`{}H/ 0@`{q@y)PP@ 0@`99LLD_D_v|~zrnfZQORV^ayrfUGHMOU_cj{zd`gfcgnvvhrlbaemujTIVRJS_kguzlh`]]gyxwja\aozzdXUZ\TU\dqw}dc]XYX_jwsly{vxwooztqzytmuleylTXZ[`jwqiVJINOSX[myxe`aWY\Yej`oy}xxrw|pjodgvqu~|jc]B>D?DLYo{ʺ~h`XJKKIT_g{}z~~vryyu~xnoytquqw}}{prwwtdbs{w{|qqlf^]_gt~wrpgcd`]_q|y{upqnkux|{nksvrrw~{pid`nz}~~}ywtpmrw}zngede`]ckxl_fe_W_yzrp}z}|pjryvutuvzmelrv~~~}vlfbadZ[kzz{qddceXQcqrs|tplgyvyyu{~x{tvvwvuw|}xx{tqiko^NVgn~tneedZZdkr~{zv}~{wutqqx}zpgw~~znu~xx~zyyxtqqxws|yzxe[gortw~rn}zpwxzzvylw~}xy}zvwz~xpo|~pq~z{|xrnq{~zzjkkgo}neq|vw}smstlq~}vsy~sutuyw{xu~~w{rm}~rqywywzngu{xz||qupiinjbmqs}~umnrmmmjhjorzzy||r{uv}zpmj~~qsvwmmngqytuz}zquuc]aerqn~wztpyyymiqmmqur~y|uv}xkjkoxfhu~{{wlmov{~{xwxyvslhkklmpha{ytstslk}|u{|wtmnns}~~|tpz~slsru{tll{zv}kj}|poostwwpnu{wtnqlnwumowwwxgijnpow~yplcany}wom`_iy|x|{~~pi]U_call}|srig]_ios}~}}tdfija[dwzoc^_el]P_ijwvjurj]SWchhlyywxsr|}uzvpu~nhyyd^o~uqn\ajpkguuwymr|ztqrntvsklyvoqu{x||vqrmoqryywq{~xxx||~~vtprwswshcgc]\afm~{pmnnmpz}~zttpy||xldgmyxv{~xqqf`^gs|}{}psyyr`PNQNSYcq}vq`UYZbqvv{~seidY]jhfo|sfefdnomkmtlr}vl]PF@DQ_o{|yn^[k{vjkwwzypdciZXclt{zkc`^YRY`VYq|m^TO@B8Aapq~r{~xz{unlmkuxpinsmzsndcsnlwxlluzpdYa]cw}|qh[WSMFK_cqusrfhxypnpms~}pklrxyzsvi^eikt|}|}{{~z|~phb\\_iyv``_NKLOWjvxpwk^iyxw~|{wxy}~roy{wtpb_gqntprqfmjX]`USguzpMMUF8074:JXkvjc_^gqjgntpkllkbW_qy~n_PFRNCMkxmureahi_Zcjmu}~~rlbS@?KHL_z~zuqrh[ZgmfovdVIJ]rVAIWc`CDN[jHAMY{lK>HVwtX?BSn`D=Kc¶jI:G_}pL7?Ws°xR89MgĴ`:6Ia}ĸd@3BWsºlH9?QkxU<:Kc¸\@4?[}İbC27SuȴlH52GjǼxP92?_¬X;3:TvǶb@46KkƾpH65C_¬P96?WyĶ\=49NnülD79IeP;9CY~ĹZ>7=Os¾dD:>Ji¥pJ<;D_ñT@:?U{¹`E<>MolL>=IfyR@=Me`D=G]wlL:?UovR:;NgaBoĜ6aE D讜t{pZo]֜S>HobRawqkhtsS+DܣS)6Pax{wb b܂_:=wqb9^Qwkqki>5=pˣebSWbЀ@INep[X]bqiZxF 6^w꿑7DKpbBiy;byqF23bƪqxM2AEq)&E_pǜbLhMb~TSeT(Zp㣂M Bb£X8^*7XT⣔qFS̩[pxUPGLpѩj<0Fltrcb}tzqbwen*"Liq87Zwxnp8Te픈U7kXƀxXPsmiP}mmG@Fwro[WiӸ[TULTw¸jQFpw\G>Tp𿛀*9=ɛtMFiG7XI⣢)FZmVpUFi{޷cG;FiscP}jmg{TiවK!?bpxjcFfcFqPŀyTzOTqmpmucb{swxjmiϷcMP\mϩYEbv_wG+N诛q,FOCtgTGSL魡,+FTic\U=TpҷOM]iqocbqN}t`pٶ]4GTbÛm,Gpߤ:+mUbejqIprq{cV`mprunwcQbmkc`wcjwd,Xw櫤INSJwuj ,K\涵&H;:{Y`I@jvjbms{mrjYcruj#:L`ĨW@R`tw4HZàI3Y8H]cdXFjiO;HWczueaSVmrgYwraq\dcL);O mystack ds.b 32 ; ; endqʫ]^OH{ri#AE\ʼ4E<7qjkBHt}sg^bc_rtxkWZQZcdcj~rjr<;`ѢWGRJ\q]ds+bJqȻW9F0Inb]>Ioŵr\\d}mkqrdwlW,BVǻWK^jwtx/B`ϝ[?TCI[VinWB[`§J3BTdu[P^ҿL:Qd{gu~&>GnȨFEWXlg_nRXelLEdxv^XSrѸY>RnYUl}vel&ErrRG[lrYnx@3XlfDU[lyffq~ĀMrɳg5MPYttgkitxppy{mW]oingry}so~À7KW`[nnumbSrąch{T;KS˶T$5^fZ]bxgcRMx]KHDgugxtY`fryc`ntz|xynjqg`otojejoxugov}|OLTiT[uv|xbal΀?7O`P(Ocrsu\gy|s{PKDUrVDUUsOpwg\SrϮmA@OrgO[}m\Lasgpyċ.#JĀQMPgXYrZawɹ.$Prֹ49jlʀmyem^EPmHAYa{s][rĜ\=JryV_{hbIrqrv@'\WKRVmWb/$MdzF:sptilmcbZYX\mc[\mͻI6Qsz`h]VLsmbi6NpТt]ALsXhwi`fn>9QR5LL}taiR]nÖj]Wb]=LhiTSnnZPQsnanĀ':Y_ĀXL;Q]buhi]hbíG4Q]{Ĥ]2:QhihkNbjlscOPTptIQ]]t{ih`YRZ΋R5DRUWeicVe|oesi2;[sǷXCLecerytge{<1Rn›^+5ZynwZtco{RI;hRCRRoZytXRUp€M=RnoTc}tUVSyzto1)RŠ^NVnt^ct`lyR)Fsجt63Zwh~``eiEAc>FXttieidk}˜o@G``XtdRT]tiyH9]yi[]tiTyz[]yS)Cctiu^iexbZ>SxbTKntmyuzi^ydGcoZc^TS|tgi|I=ibfv}temtfnT8[xƕtO[ond^QfTTG|^N^Qi|tR[lt^MVczdb|gdMcqt^K[m˫dLNagytwjYtVVanUJOLjyqn|balnd^b_{jhhgŵRRTnzcijbeyt@TciſuUNYquytodlu[Ud_NLNwqnyodd__d_ijquoackn{qgmjy_\qua_td|wop`TlydVi|njvmvURSdZ_`ykyrwfnjiq`_uf`nu]gv}uUEijdrwebqnn`JdkQRj|kgoZ_|EEJZgwnhtwkn{rfnkjyxkYnu[jpwz|VUxwY_tuVHjh|9>RjʳoQR_tWtteV_RSZy\c^_wug{kjketoIAUKE_vb]xuore1At”kI@jAKyu\_`-2P­F4K_bhTkZ]jgeQ_m[UgykeykbXUpB>VuR`uWVrwmypJE]yǭ`GLt``my`Xh^OVsk>?]zmXtzk`eimYjv`Yjwcr|wdyfOj`cppst|`GVlifpQj|krk>Qd|˭WDT`rfgfp|w^e^SeuhgzlPMa_rw\VwM>aaV|{Waz\\ka\etuZVezq|w|gmhkWGehr{up}D0fkVkx|eitXWk|kMWfzkjktrunzXJkwum_`kQKrmt|ktuz=:ft_apr|fzI?f«uGPetuset}_ptr rts toggle: move.w #1,exit_flag addq.w #1,format_ptr cmp.w #2,format_ptr bgt over rts clear_screen: moveq #0,d0 lea $f8000,a0 move.w #199,d7 .loop: rept 20 move.l d0,(a0)+ move.l d0,(a0)+ endr dbra d7,.loop rts get_key: move.w #7,-(sp) trap #1 addq.l #2,sp move.l d0,d7 swap d7 rts check_key: cmp.b #$10,d7 beq quit cmp.b #$48,d7 beq up cmp.b #$50,d7 beq down cmp.b #$4b,d7 beq left cmp.b #$4d,d7 beq right cmp.b #$21,d7 beq fast cmp.ubf|whtufbc|u{xDRmhctmtwzxuxyL__q[YRtvqnfawfSQkhhbewz|lYacgqivqthz|oulVWalJXi|uzuhnbqXa|rqydkylapjpvb]uVakcp«bINLgkrdb]lb]ipSaKklKM_qp}ywsgkk[@SzgkbMgywJC_|epzhYVzxlTk@VOY]mjpx}tePgTXglYOux~z}xlmkb`|uxokxeTbnxPX|zumzuYg}^rPVPgpxtwyszqRbdpdk`l|w{xrmsmjlzz`gvzyvozscesmZ]z]uQWc^ccvsmbSTSYo^WYysh\LcvUGPsBPgzqcsvj]gscJlc;PuyxqiosqgmLGKZ=YlfTlcin||vz|yv|~{{suxujsyz^clv[Zxxvxlmjmgw|dLhdz`XUcfv}nnysmpyy}yxxvyx~fcrmzqrxhqdcQ6CZh`sxvjmQmHZq[Rhzqhl{qysxv_inz{}dLZznhvRHXtdXqvvhwxjhqJVe[Hhomjvz{w|kyttu_cmRZqtv{dOZqvmUm|tqz{mc|}|vt~m{tvSh|sx}}vcqj{qefhvxtuxxv~{xv\HUcrprwttuv{ivSEVvŧ= kopieer niks cmp.l a0,a1 vergelijk target en source met elkaar bhi.s downcop als target > source -> copieer van boven naar beneden ; --- target <= source -> copieer vanaRmjcvd`sgWgmZ`ssfszwyvp{|jas|mbqsjs{yy{putpmsyixpvqw}shgn{zrtmrzh[dsyqvyh]_msr}sms}solynl~ylxzzs}~~y{~vl|zy{~yy{z|~ny|rrry{yysgssr{yr|uwx|qvyy}sv|wyxvx|z|vywzyunrzmsyv{|oyvzzz}~|}xxxuv}znv{kvtznq~yzuvntqimvvovlejtyzpkovzptjktuzurxvvjovxzx~vmsuuzqx{zvxxzqdajmc_ozxrrvzor|zqqut~ww{qw|zstvz~ut|}xv{|xuszpzvumtsxqozttzz[cjwqq|{k`tzroz`Vhxvchwgis{pijxwtsskjt||tw}~zxuoo|zmiw}ws~xutwury~pnptuw~rt~zx|{{roopmwuqz{uwxv}|{wouuks|{ss}ux{xunu|wsqw|x|vvmpzznp|xzzpruhiuulz||uumbdprlozzuuqeepyuedhzxtuxwqopuicq{srqt~wmkqwrx}~x{}{{zuv|qhsxnr{{us{z{ssxwzxz}~||tuxyy|{v|{uupyvmn|phq|ndkwrzk_cz{mlvrnxvv|xwmmtoo|ypu||kptu|{sw|||yzxnoy{noy}yv|~vsyyyx||rmqvnmu{pu|rfl|mjpspx|wpxysqx}tqt}{}~~{zyuv|rqsu}}~{xyzz}|~~|}zy}tqru|}wxwzw~|}z}|zzz}{wty{pnznhnttrzwt}yqr}zuzwrilzwoytqpu{rv|www}pp}xwz}{uz||}rv}{x|z|~wuyjjuw}}xtw}}yqrxzyrtvuz~zws~{x~{ulmu}pkpy}|z~}skmpw{}uqwqmwyv{{rrkswt{ukfusnry|yww|}xwz}{vx|wqou}}|ww}}}xwx}~~xtxwsytqvz|{xnnuywzz{y{v}{yz{|}{wtu}|zywzw{}{{{v}zwll}sv{y~}z{z|{qs{{piwrnnw}||tsu}zyy|}zwz}vv{yt{{x}{qnozvvwy|yv{}wy{qrv{srwqrvwy{xqtux~~}{trrx~}y~z{}zvv}}}ux~}}{urkp{|{xwyxqtu|zx||~~~uqvvyvuv}z}vwxx~zwz~xtv~zwvv~|~}~~~~~~x|zz|w~}|vy{|~xw|~|{}{uqx}xut~{|soqxvqsx|tv||xs||~{xz|~yz|xusx~}{xsrzsvzzror||{~~ussu~|{}{ux}~~zyw~y|uprz}zqyzzrpz}||uryvlly|yy~~ztw~{}yuuw~yv~{{|{{{{vwy|}~|zz{||~{wrv}~~|}|||}xz{yx|{sv|wrszwvyz~wz|xuxxu{xv|wxxv~|~yxz{yxv{~z{~|{~{xvy~~|yssx|{~{z}||~vrs||xy~||yz~|{zypuyz}{xy}||}~~~z{{}~~z|}z}}|{~}|z|~z{}{|~~|{z~~z{~{x|~ztv}zyz}}~xqox}uov}~zyz~~~~|zz{z|ywx~|||{{z|{{}|{ww~{wv~}zx~|{|z}|y|||~}zyy}~xuvy|z}yux|~zw~|xy~|~~ywywrywpqwzwy}~zvtyzyy{xxy~zxy~~z||~~{yxy{uty{y{|wwy|{~~~~||}zzyz}{wz}}}~}xw}}xz{|~}~||}~~|ywy~{}{~~~~|{{{~~}{wx|}xtv{}}ww|||~~}xvw{~}{z}|yz~}z~~{vz}~zyzzz}{}{|}|zzxuz{uy~}{y{}{~~~{z}{yx{}ywy}yv{}}}~}~~~{xz~{wx}zz{{~}{~zy|}|~~~~~}|~|yy}~zvy|ytv{|~yy~}|}zy{{|{z}{|}~{z|~|||vxzxwxz~}{}||{x}~}~{~}{|}xxz~~{z{|~}|||zz}ywz{}~{{}}{~~|{~{|zz~~~|}}~~|~|z{~|z}~~~|zy}~|{x|}xz~|}{{z|zyv{}}~{vx{}{~|xx|}{vw||||~}~|{~}z}~z{}}z~z|{xwy}{{~|{xzzwy}xy|xuwx~}~|}{xw|{{~~|x{~}||~~{||}|{|{|}|}|}~z{|z{||{~|yw{|z|~||}~|z}zzzy}{}z|}zz~{y{vtw{x{}|zy}ywz}{|}yyx~~~}}||||~{{{||}}{{{{y||yvy{|~xwz}}xxz}~~|z{~|{{z~~{|~ywx{in_graf move.b #7,graf_mode print 'an error ocurred' bsr fsel_box show_mouse move.l (sp)+,a2 haal adres foutmelding terug move.w #2,charx move.w #8,chary bsr print_ascii print foutmelding bsr clear_key_buf wis toetsenbord buffer waitkey wacht op toets clr.w col0 schermkleur weer goed no_error rts ; ; * ZET GEM MUIS OP VAP-OS COORDINATEN * set_mouse dc.w $a000 lineA init move.w mousex,-$25a(a0) zet x-pos move.w mousey,-$258(a0) zet y-pos rts ; ; * ~|~~zy{zx{~}z|~~~{|~yz||~~}{|~|}}||~}}}~~|y}}}~|~~}}}{yy|~|}{yy||xz}zxy~zz|~|}}~}zz|{zxx}}}~}|zz|z||{}~}~|{|~|yv{}|~|zz~~}~}y|}yy}xx|~~||}|~}{{}}}yx{~~~}|}wuw}}||yxx}~|z|}yx}}zz{~zz|~z|~~~~~}{{~~~|}~}~}||}}~||}|}}~~~}zyxxy}|xx{|zxyz{~~|˲bVIECXTdo{ugbdRM^VPgim{uufysqoiuTkfdbf\XbffsbVMI49CG;MNNVf^Xqu{qswmdub\XTNNVNKNXIbgmowwowwqws̮usmmR\\ZM``Ziubswsóŷǵ{umbgfZ^bX^ggksuiPK=((  $&25;MGIRTRZf^gokwqwymoydmki\gm\ggbm`gbfkdso{q}q{sŢqibgZR^ZZ\bgbkiguu}}ûswwwy{{{mVNC742(&&"$".*02;=AMNIdT`dmgkuumuwuwq{sywww}}}yuysowosmyq{gfZVMVEKIKINPMX\\\idsgwuyû}{}wwww\\NKC=;55=59==A?IMPT\X`kkuwswyw{u}uufidgdgqmyf\\TTTRPIKGCICNINRVXffmou}y{uywowsysyki^ZPNMGIKKCIAG=CAEGMGTRXX^fdoiws}{yumkomksss}y}umb^PKICICIGIKGKKPNTTZ\`doquy}wyuqoqkqmifb\XNMIEGCEIIMPPVRZXZ`Zdbggfgoioqousw{{}}}sq`^TREEG?CAEEKINMTTZ`giquw}qqgidb`\bTVPPMIIEECECIGNMRPPRTTRVZ\bbfgkgmsu{}}}}}}usgf\ZTPMKKIKIMPTX`ddkimqw{yumidffddbb``^X^ZXXV`X```dfgimkfgbdb^`^Z\\^bffkimowy{wsoidZ\VTNNNRMRVZ`fiqswu{}}smb`XVXRXTVRVRRRPRTTVVXZ^\^``bfifggffgfigikouw{y{u{w{yssommgidd^XVRPNKMNMMTX\bfku{yok^\^X`Z``\^^`^\`^`b^fdidikimiqoqoosomkiidffmoqwy{{ywqqigb^TTNNKNNNRVXZbfmqw{yusqkf`ZXVTRRPRTVXZ\^bggigmm{swuw}}}yy{{ywqm}foimkZi\TZZ^\^fbbgfmw}}uqyomwgqksmosf\koZoffVif^gkZoifgqfm`g^\XgTii^ssysss{iq}{wuw{mysyq{oumqksidfs\fbk^ogkoum{yssmiiiqgigqgfmggfbdbbm^di`fdm\ikbmoimiymoyww{yqu}qwys}ywyswm}ww}suqmkokiksfokms}u{wuuuw{uy}y}{wsssyuws{umuomgsqfoqmkmskmqigiiddkkkowm{u}y{{wyww}w{w}{{}}wyywsywsw}w}}{yuyuqwosqwuuy{w}}}{uusomqosmkokogiigkmkqmooomqoqqkqququwqwusy{}}{}yy}}}{y}{}{{{{}}yu{yy}}{}}{}}{uqqoomuouuquywu{uusuooomkigoooswy{{{yysuousswwy{{{}{{uuoqquswyy}}}yyuuuquwwwuwssqmooquuwwy{}{}{}}}}}}}}}wusuwuwyy}}{yy{yyyw}y{y{}}ywuwwyy}}}y{}}}{{y}{{}}{ywyy}}{yusuuuy{} }}wwussqqqoqmmmoqsuwy}r was geen padnaam ingevoerd rts ; ; * MAAK PADEN AAN * ; paden aanmaken voor verschillende file types : make_paths lea song_path,a2 begin met maken song-path ; actieve drive bepalen: move.w #dgetdrv,-(sp) trap #gemdos addq.l #2,sp addi.b #'A',d0 functieresultaat -> letter move.b d0,(a2) move.b #':',1(a2) dubbele punt toevoegen ; pad van actieve drive bepalen: clr.w -(sp) actieve drive pea 2(a2) move.w #dgetpath,-(sp) trap #gemdos addq.l #8,sp ; pad kopieren e3hMNWcr؀0'?[o`('?Wo~{|h2 %7Smzpllsz` 7_xqkgegow~`+[l`WTYfuPWtljghm{@O~snjmw?orb`ckyúWl`XX_nOxhXPYen|O}lRNNOg7oyf\clwP'[|h`m ;ktccsOl`g{@/_xfao?upaewW|h`k~ ;ktdcsO{lag{@/_xfao?spbewWhak} 7gtdcsOwlag{P+_yfan?opcdwWiai}@7evdaoGwpaewW|h`k ?grdbsO{l`g{`/_xf`o?opbcwOj`i}@7_vdaoGwp`eyWzh`k ;ktcas Gwp`ewW|h_i} /gvb_o?sp`cwOh_g}@/_xd_n?op`auOj`g{P'_xf^m=oq`_sG{n`cwOh^g{@[|d^i~ /_xc^m7gra_o?op`_wGl^cyOh]g{@_yd^j/etb^m;kp`_s?wl`bwOh]g}@/_vb^o?op`_sK}j^eyP[zd^k~/gta_o?sp`awOh^g}@'_xd^m;op`_sG}j]c{P[vb\m;on\_vOzdZg}+_q`[o?{hZ_w@Wx`Zk7op\_uK|dZg|'_r`\o?wh[_w@Wx`[k?whX_y _lZ[sKt`Wg7odV_w _lZYoGt^Wg~;obW_w_pX[sOv`Zk?wfXc}/kdXc}7oz`Wg?{t`Ug?t\XkOpYWoOlZYo@[hW]s _fV_w/gbXb{7ox`Wg~?{t]Ug?t\Ve,d2 haal volume kanaal B lea 32(a1),a0 plaats Speco kanaal B bsr print_1_speco ; rts ; print_1_speco move.w #15,d0 speco is 16 hoog moveq #0,d1 eerst lijntjes wissen subi.b #1,d2 verlaag met 1 om vergelijken makkelijker te maken prt_spec_lin cmp.b d2,d0 zijn we op regel waar volume moet beginnen? bne.s no_vol_here move.w #$f,d1 ja -> zet lijntjes vanaf hier no_vol_here move.w d1,(a0) wis of teken regel move.w d1,2(a0) ook in 3de bitplane add.l #ll*2,a0 naar volgende rege}7szbU_wghTWoOpXSg?{x`S_}/k`S[w _jTUkOrZSf}?{x`R_y/kfTWo@WlYWk}Gt]Uc{'_lYWk?weX]s`Ot`Vc{+_jXWm?{bU]sPOr`Uez/gjXWn?}dU^s@Wt`Wfy/klZZm~?{dX]qKfX[oGhX[o?hVYo?{hXWo?wjXWo?{lUWo?wlVWo7ohVWo7oiVWo/ohVYo/gjZYk WxdX_w?sp]Yk_x`Vcw`OdW[o7omYVg~[x`S]w?{fTWo/kpXVg Wx`U_{?wdX\s/_p\Xk_p`Xg ]t`Yg@WxdZg@WxdZg@Wx`Zi _x`[k _x`[k _v`[m_t`]m_t`\k_r`\m/ol`au?j`g{@Wxhbo+kvfgs?wrhlw`Opko{@_zpls?svoqz`[sou07gxpowKwrlo{H'_|pls ?oxppyh/]vqu̠@Go|vt{0 =_{vwh$7Sozx|P/5Me~{|L?M_q|}pUUcn}~h^cmuxb^goy~p`akq{jcgosxlinpwvnnps~vqqsw~xtvw||xyzx~zyz{y{yz|zz|yy{~{}~{xy|~||zy{~~{|{|}~}z~||}~|{||}~~~y~||~~}{}|~~~~~}}}|~~}~~|~}}}|}~||{}~|y{}zz~~{z}|}z|z|{~}~~}~}|~|~~~~~~}~}}}}}{z|~~~y{}z{}~~{}~~~|}~}|||}~{{{|}~~zy{{|}~yxyy{~xxxx{ve.w #17,charx move.w #12,chary lea song_name,a2 adres song naam bsr print_asc8 print ASCII string van 8 tekens move.w #17,charx move.w #22,chary move.w cur_sam,d0 haal sample nummer asl.w #3,d0 iedere naam is 8 tekens lang lea sam_names,a0 adres tabel met namen lea 0(a0,d0.w),a2 adres naam huidige sample bsr print_asc8 print ASCII string van 8 tekens move.w #17,charx move.w #32,chary moveq #0,d0 move.b ym_sound,d0 haal nummer YM sound asl.w #3,d0 iedere naam is 8 teke~xvvx~wtuz}~xtv~zv{|y~~~}{}{{}~~}{||||}}~y{~|xz{wz~xyxz}z|}|~{}~~~~~}~|{}~|y||{~|}~~|~~~|~~}~~~}~~}|}}|}|}~~||}~~|~~~~~~|}~~~~~~~~~~|}}~y|x|x|wyw}zz~~|||}~~}~~~}~|~}|z|||y|~~~y|~~{||z||~|}}}~}y~x}~|y}~{}~|~{||~~{}|}~~~}~~~~|}~z|{}|~}}~~~~|}}|{}~}{{}}~~||}}~~||~~|}~}}~~|}~~|~~}}~}~}|~~~~~}~}~~~|~{}}{~~|z~}z{|z|zz~{||}}}}}~} move.w i_pit_release(a2),d0 haal einde release bsr printbyte ; * edit_amp move.w #31,charx x pos move.w #111,chary move.b ym_sound,d0 YM sound bsr printbyte move.w #121,chary move.b ym_vol,d0 YM volume bsr printbyte move.w #131,chary move.b octave,d0 oktaaf bsr printbyte move.w #141,chary move.b ym_tie,d0 YM tie bsr printbyte ; move.w #16,charx move.w #131,chary btst.b #3,i_sound_mode(a2) staat hardware automatic aan? bne.s yes_hardw_auto move.w i_envʇ}}~~~~~}|}~~|}}~|~}~}~~~~~~~}~~}~}~hxp1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 tomvblmainomis@pomsp?"SW_x1SW_x2SW_y1SW_y2dummyPdump2Hdump3Hdump4Hdump5Hdump6Hfrrb2Ifrrb3Jtfrrb4Jfrrb5Kpnoch1Knoch2Knoch3Lnoch4L8old70^omsp2?0polle@samp18samp2stacktjd1ptjdp1ptjdp2tjdp3tjdp4tjdp5tjdp6tjdp7tjdp86tjdp9Tvec11`vec12 vec21dvec22DOC_d1?DOC_d2?ddummydump22Hdump23Idump24Idump32Hdump33I dump34I dump42Hdump43Idump44I$dump52Idump53Idump54I(dump62Idump63Idump64I,forbdvKrgnurfh>Pimptablmodulems_posB$odd_SWold134bolda07Volda09Wolda0fXolda11Yolda13[olda15\olda17Zolda19]rtsvecsave70sintabtab160VxbjrkEDM_font$MS_fontiMS_initRSW_initclearerHconvtabLncorrectFTdo_bendEzend_endLVendtext forbdv3Bforbdv4Cforbdv5DNforbdv6Dintsamp@nloopch1Lfloopch2Lhloopch3Ljloopch4LlminipekAno_loopBras_bra$ras_rteretintssec_bsssetintspsintab2jtab_160ztjdballvol_vol>wantkeyx2bjrkEx3bjrkFx4bjrkFDxbjrk2EDM_stasc!bDOC_fontXbDOC_initFMS_ras_2$MS_stasc6NSW_fmtabSW_krympSW_stasclTJD_fontbra_codeHchanbendE>com_andlcom_notlcom_orlicom_orwiconv_imp@convopalcurrpattAcurrpossAdo_bend2Edo_bend3Edo_bend4Fend_end2LZend_end3L^end_end4Lbendchan1Lendchan2Lendchan3Lendchan4Lforbdv12Kforbdv13Kforbdv14Lforbdv15LDhblrout1lhblrout2hblrout3hblrout4hblrout5hblrout6hblrout7hblrout86hblrout9Tinit_TJDmainloopVmegaexitmegafreeno_loop2Cno_loop3D2no_loop4Dorver dbra d1,aef_clr_lin2 ; ; ; * PLOT PUNTEN IN AMPLITUDE EDIT FIELD * move.l ym_ptr,a1 haal pointer naar geluid move.l a1,a2 maak back-up om later kleuren te veranderen aan de hand van pointers voor attack,sustain & release move.w yef_pos,d1 haal offset lea i_env_start(a1,d1.w),a1 sla data over en tel offset er bij op ; move.l phys_0,a0 haal scherm adres add.l #20*ll+8,a0 naar goede plaats move.w #%10001 ,d7 masker om bits te clearen move.w #%01110 ,d6ba1tod0*relocate&rts_code:save_stkvol_loop>whitepalx2bjrk2Ex3bjrk2Fx4bjrk2FLDOC_ballHs DOC_distHDo DOC_stasH>|c DOC_testHUx DOC_xdisHEvt DOC_ydisHExt Flash_vbHl MS_rasboHx SW_comjmHrp SW_curveHs SW_fixpiHx SW_last_Hny SW_scrolHl SW_spritH0e SW_swiniHVt SW_swtexHt SW_this_Hly TJD_comsH|l TJD_moveHivm TJD_randHYo TJD_stasHm^c adda4toaH25 chan1_enHI0d chan1stoHFp chan2_enHIBd chan2stoHGp chan3_enHITd chan3stoHGp chan4_enHIfd chan4stoHHJp chanbendHED2 chanbendHEJ3 chanbendHEP4 chanbendHEV5 chanbendHE\6 chanbendHEb7 chanbendHEh8 chanbendHEn9 com_moveHl com_moveHq com_moveHw com_orwoH1 com_orwoH2 cos_tablHe count_vbHl emptysamHLp fix_lopaH>r forbi_poHAs hblrout1Hr0 hblrout1H1 hblrout1H2 hblrout1H3 hblrout1H4 hblrout1H5 hblrout1H6 hblrout1H7 hblrout1H*8 hblrout1H<9 hblrout2HN0 hblrout2H`1 hblrout2Hr2 hblrout2H3 hblrout2H4 hblrout2H5 hblrout2H6 hblrout2H7 hblrout2H8 hblrout2H9 hblrout3H0 hblrout3H1 hblrout3H2 hblrout3H&3 hblrout3H24 hblrout3HN5 hblrout3HZ6 hblrout3Hf7 hblrout3H8 hblrout3H9 hblrout4H0 hblrout4H1 hblrout4H2 hblrout4H3 hblrout4H4 hblrout4H5 hblrout4H6 hblrout4H7 hblrout4H(8 hblrout4H49 hblrout5H@0 hblrout5H1 hblrout5H2 hblrout5H3 hblrout5H4 hblrout5H:5 hblrout5Hd6 hblrout5H7 hblrout5H8 hblrout5H9 hblrout6H 0 hblrout6H61 hblrout6H`2 hblrout6H3 hblrout6H4 hblrout6H5 hblrout6H6 hblrout6H27 hblrout6H\8 hblrout6H9 hblrout7H0 hblrout7H1 hblrout7H2 hblrout7H.3 hblrout7HX4 hblrout7H5 hblrout7H6 hblrout7H7 hblrout7H8 hblrout7H9 hblrout8H$0 hblrout8HB1 hblrout8H`2 hblrout8H~3 hblrout8H4 hblrout8H5 hblrout8H6 hblrout8H7 hblrout8H&8 hblrout8HD9 hblrout9Hb0 hblrout9H1 hblrout9H2 hblrout9H3 hblrout9H4 hblrout9H5 hblrout9H"6 hblrout9HF7 hblrout9Hd8 hblrout9H9 next_patHAdt play_linHAe ras_moveHl ras_moveHw setvolumH>Ne sin_tablHe skippo_aH5 speedaddHPs speeddatH?Ja speedtabHQVs start_enHLFd xbjrkarHEe D3_baseaHdd DOC_appeH8nd Flash_LoHgo Mega3dnaHme Run_3D_sHeq SW_dummyHxy SW_sintaH6b1 SW_sintaH>b2 TJD_bounH6ce TJD_comlHvea TJD_el cmp.w i_pit_release(a2),d1 zijn we al voorbij einde release? blo.s no_pef_end move.w #%01010 ,d6 masker om bits te zetten move.w d6,d5 ook voor andere bitplanes moveq #0,d4 no_pef_end ; -+-+ move.w #72-1,d3 aantal te plotten punten moveq #4,d2 hoelang nog voor we naar volgende adres moeten ; plot_pef moveq #0,d0 move.b (a1)+,d0 haal punt uit geluid addi.b #128,d0 om goed in grafiek te krijgen lsr.w #2,d0 breng getal 0-255 terug tot 0-63 mulu.w #llrotpHmos amiga_ofHAfs chan1bepHLos chan1staHFrt chan2bepHLos chan2staHGtrt chan3bepHLos chan3staHH rt chan4bepHLos chan4staHHrt chanbendHEt10 check_spHIxes clr_screHen com_moveHl2 com_moveHw2 curr_tunHAes do_no_vbHls fast_eddH>ie hblrout1H00 lea_a5_cH@hw make_looH>p3 make_looH?p4 movea1toH"d0 moved0toHa0 no_uppdaHAVte reloc_neHDxt samtab_pH@et start_diHBPgi start_enHLJd2 start_enHLNd3 start_enHLRd4 x2bjrkaHEre x3bjrkaHFre x4bjrkaHF6re DM_aprouH\t_1 DM_aprouHt_2 DM_aprouHt_3 DM_aprouH(t_4 DM_aprouHlt_5 DM_aprouHt_6 DM_aprouHt_7 DM_aprouH8t_8 DOC_prepHrog DOC_xsinHEnpos DOC_xsinHEztab DOC_ysinHEppos DOC_zsinHQztab MS_aprouH,t_1 MS_aprouH,t_2 MS_aprouH-nt_3 MS_aprouH.t_4 MS_last_H,VBL MS_mag_fHjont MS_rassiH*nus SW_aprouHt_1 SW_aprouHzt_2 SW_aprouHt_3 SW_aprouHt_4 SW_commoHxvel SW_flashH_on SW_last_HVBL TJD_comoHlrwo TJD_jmpcH6ode TJD_leacH2ode TJD_rotaHy|ter TJD_rotdHDfata TJD_spriHYtes TJD_wipeHYtab VBL_counHter done_shaHndow lea_a5_cHode moved0toHscr play_musHAaxx rasterroHluts screen_oHffs work_scrHeen DM_no_apH8pend DM_scrolH|lpos DM_temp_Hinit SW_this_Hjoffs SW_windoHwpos TJD_blocHk_1p TJD_charH__add TJD_commH\oveq TJD_commH^ovew TJD_comoHprwio TJD_paleHtte2 chan1speHLcial chan2speHLcial chan3speHLcial chan4speHLcial digishitH=t_vbl dummyscrHveen2 end_cleaHrbss end_megaHNfree endspeedHtabs fix_the_H>loop init_rasH.ters make_tabH_160 midspeedH?data no_make_H?loop proj_divHputab ras_bra_Hcode ras_new_Hrout reloc_feHZrtig screenbuHffer DM_scrolHNlbuff DM_scrolH~ltext DOC_fixsHcreen DOC_mounH>tains DOC_moveHlcode DOC_moveHwcode DOC_scroH:llpos DOC_swinHDVg_tab DOC_xsinHErspeed DOC_ysinHEtspeed Flash_coHvunter MS_rasteH<rlist MS_scrolHlbuff MS_scrolH.ltext SW_3dsteHNp_tab SW_clearH_mats SW_clearH buff1 SW_clearH @buff2 SW_flashH_data SW_flashH_left SW_flashH_wait SW_lastlHpast_y SW_scrolHlbuff TJD_aproH_ut1_0 TJD_aproH_ut1_1 TJD_aproH`8ut1_2 TJD_aproH`ut1_3 TJD_aproHahut1_4l) move.l (a2)+,a1 haal pointer naar shift tabel cmp.l #0,a1 vergelijk met 0 bne.s noredis als <>0 niet opnieuw beginnen in tabel lea distab,a2 haal BEGIN distortion tabel move.l (a2)+,a1 haal EERSTE pointer naar shift tabel noredis move.l a2,curdist zet pointer in distortion tabel terug ; moveq #0,d0 move.l curhi,a4 haal pointer in tabel met pointers naar BG data move.b (a4)+,d0 haal hoogte BG data bpl.s norehi positief -> begin NIET opnieuw lea hitab,a4 haal BEGIN hi tabel mTJD_aproHbut1_5 TJD_aproHbut1_6 TJD_aproHc0ut1_7 TJD_aproHcut3_0 TJD_aproHdvut3_1 TJD_aproHe$ut3_2 TJD_aproHeut3_3 TJD_aproHfut3_4 TJD_aproHg.ut3_5 TJD_aproHgut3_6 TJD_aproHhut3_7 TJD_blocH,kcode TJD_cleaH(rcode TJD_commHbovewo TJD_firsHtrast TJD_lastH~rlefty TJD_or_sHXprite TJD_rotbHEVlocks TJD_sameHH_data TJD_windHmBowpos TJD_xsinHYspeed TJD_xsinHZtable TJD_ysinHYspeed TJD_ysinH\table balls_roH2tator endspeedHLchan1 fl_worksHcreen get_nextHH_dist init_digH=|ishit make_divHpu_tab makespeeH?dtabs relocierH,_mich DM_init_HscreenDOC_appeH)xnd_0_0DOC_appeH*hnd_0_1DOC_appeH+Xnd_0_2DOC_appeH,Hnd_0_3DOC_appeH-8nd_0_4DOC_appeH.(nd_0_5DOC_appeH/nd_0_6DOC_appeH0nd_0_7DOC_appeH0nd_0_8DOC_appeH1nd_0_9DOC_calcHD_ballsDOC_distH?h_curveDOC_mounH t_codeDOC_scroH:lltextDOC_shifHt_ballFlash_fiHxnishedMS_init_H:screenMS_maggeH]d_fontMS_squ_sH*crollySW_clearH$_starsSW_code_H*bufferSW_flashH_colorSW_flashH_pointSW_pos_iHn_charSW_put_sH"pritesSW_unionHspriteSW_wizziH^e_logoTJD_160cHounterTJD_cleaH~r_ballTJD_codeH,bufferTJD_commHfovewioTJD_lastH~trightyTJD_orgsHpritesTJD_rastHver_colTJD_rotrHBastersTJD_scroHmHll_posTJD_scroHNllbuffTJD_scroHmlltextTJD_shifH.ttowerTJD_tempH|spriteclear_saH?mloop2enda_cosH_tableflashy_pH|alettelast_oreHd_wordstart_buH@ff_addtarget_sHpw_codex_transfH@o_listDOC_appeH2nd_0_10DOC_appeH3nd_0_11DOC_appeH4nd_0_12DOC_appeH5nd_0_13DOC_appeH6nd_0_14DOC_appeH7nd_0_15DOC_ballH_heightDOC_chesH ,s_snurrDOC_chesH!sbufferDOC_cleaHXHr_ballsDOC_distH? _scrollDOC_initH_scrollDOC_initH@_tri_diDOC_swinHDRg_pointFlash_FlHashBackMS_init_H`rastersMS_move_H)rastersMS_rasteH*rbounceSW_blockH_wizzieSW_conveHrt_textSW_curveHs_pointSW_no_ofH_spacesSW_starcHleartabSW_starpHointersTJD_blocH}hk_ballsTJD_cleaH~Br_ballsTJD_fix_HrotdataTJD_tri_H_counterTJD_wipeHYpointercopy_flaHzsh_logogetrasteHDr_patchorg_possHhifttabx_transfH`o_list2DM_appenHd_scrollDOC_appeH8xnd_routsDOC_ballHU_blatterDOC_blocH?k_scrollDOC_chesH s_ytableDOC_distH?f_counterDOC_prepHprog_ballDOC_prepH0rog_dataDOC_scroHqbllbufferDOC_tri_HDdi_ballsMS_appenH+6d_scrollMS_lastcH;lear_posSW_bend_HaddvalueSW_bend_Hdata_posSW_clearH_spritesSW_endclH earbuff1SW_endclH learbuff2SW_pos_iHn_swtextSW_pplinHecounterSW_shiftH_spritesSW_tab_sHpritelenSW_wizziHpeflasherTJD_1p_sHcrollposTJD_ap_wH_indowposTJD_aproH^ut1_listTJD_aproH^ut3_listTJD_bounH~vce_ballsTJD_calcH_rastersTJD_initH _blockerTJD_scroHm@ll_aheadTJD_shifHt_spriteinit_1p_Hscrollermovela5tH oa1_codemoveld3tHoa1_codeDM_blockH"_scrollerDOC_aheaH9d_counterDOC_ballHX2_saveaddsDOC_chesH's_xsinposDOC_chesH's_zsinposDOC_megaHab_dist_tabDOC_prepH1rog_ballsDOC_procH'_horchessDisable_HFlashBackFlashBacHk_paletteMS_blockH6_scrollerMS_disp_H,windowposMS_scrolH einde van string bsr printchar print letter addq.w #1,charx verschuif cursor bra.s print_string volgende letter verwerken end_of_string rts ; ; * PRINT 3 NIBBLES VAN LONG IN HEX * ; d0.l = hex long ; charx.w = x pos ; chary.w = y pos ; bij terugkomst verpest: d0-d2/a0-a2 pH dstep_tabSW_save_Hclear_comSW_shiftHFedspritesTJD_appeH^0nd_scrollTJD_cleaHXr_spritesTJD_rotrHaster_posTJD_scr_HmNbuff_offsTJD_spriHYtexsinposTJD_spriHYteysinposblock_buHi:ff_scrollenda_proHrj_divutabload_filH^e_from_HDmake_traHnsfo_listsamp_petH@_buff_petDOC_dispHD_windowposDOC_distH?p_curve_tabDOC_lastHDP_swingoffsDOC_prepHZrog_mountsDOC_procH)_vertchessMS_firstH._char_offsMS_firstH;line_routsMS_rasteH*ryboun_posSW_appenH&d_swbenderSW_appenHd_swscrollSW_megabHflatt_starsSW_proc_Htd0_storingSW_tab_fH ontmemsizeSW_text_Hsource_addTJD_1p_jH'umpy_towerTJD_blocHi:k_scrollerTJD_bounH4ce_counterTJD_dispHm>_scrollposTJD_dispHi8_windowposTJD_scroHmJllbuff_posDOC_blocH`k_mountainsDOC_tempH_shift_buffMS_scrolHrogged_dataTJD_rastHer_col_backTo_Be_DoHJx ("& `>>ܶ, & & & ( & & & 6 (   " , l @  4tN :<0 *6 X \d\p2:xH62h@h (^ Z B(t"N*("^"VR  <"0| #`}Vx`$(dpaaR@A%FCa`aLH@|mNu?X2r4Z@j@`B@Z@j@`B@Z@j@`B@Z2Q0Nu?D@@X2r4Z@jBZ@jBZ@jBZ2Q0Nu ??<%NNT0Nu0:t z:Pnz0o`"3:2(AA`3:A`# B   D  wn,hi*3 ds.b 3 dc.b 39,39,39,39,-1 up*4 ds.b 3 dc.b 39,41,41,41,-1 up,hi*3 ds.b 3 dc.b 39,38,39,38,-1 up,down,up,down ds.b 3 dc.b 39,40,40,40,-1 up,lo*3 ; env_2_char dc.b 0,10,28,27 0,A,S,R ; ; ; ; * CONVERTEERT ASCII -> LFC * asc_2_lfc dc.b 42 ; ascii 0(=spatie) ds.b 31 ; ascii 1-31 dc.b 42 ; spatie dc.b 44 ; ! ds.b 1 ; ascii 34 dc.b 36 ; # dc.b 59 ; $ ds.b 1 ; ascii 37 dc.b 56 ; arrow ds.b 1 ; ascii 39 dc.b 49,50 ; (,)  J  QSYb e q t {"" " " " #$" #$" #" ,"! 2 2 2 2 2 2 2 2 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 2 2 2 2 2 d d d d d d d d d d d d U sU sU sU sU sU sU sU sU sU sU sU sU sU sU sn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Zn Z( ( ( ( ! - - - - - - - - - F F F F F F F F F F F F F F F F?< NATJ@g?<NAT< fP%D<*fF9t>:tJ9tf<+g <-f SG`RG`RG0J@j0<ǰ|mp3r2@A@@AsL?# ##333NuJytf 0:2<aNu!NuBNu/ Syn>32H@0:>z 8A.C*0:@@>0<1DF0:@@2:AA41HB3 (4061HC8:ƘHD3 $ԃHB3 &4061DC3 .6DCHC3 *HB3 ,41DB60HC80HD3 48:ƘHD3 0ԃHB3 2Nu$?0:Ry ;F:;@ K8DJ]j;E:;@ 68/ *I,IL^^^DBƒee66B[*_8NuBy By / / TTI>SG|(I Q>SGHGBy >3 <SGF<0`/ X:HI8DJt@j(6Jq0k9@&060Ry `94@6 t4@g8Jq0k4@Ry `JK@0kFf`a4 4@Ty `&Jq0kK@0kFf`a4 Ry L`<QR(_0:.g88$Ry `YHGQ$_4 &_6Nu 1 ; A dc.b 2 ; S dcb.b -1,128 ; de rest ; hertz dc.b 110,110,110,110 dc.b 110,110,94,82 dc.b 73,66,60,55 dc.b 51,47,44,41 ; even trem_tab dc.w 0, 428, 852,1266,1666,2048,2408,2741,3044,3314 dc.w 3547,3742,3896,4006,4074,4096,4074,4006,3896,3742 dc.w 3547,3314,3044,2741,2408,2048,1666,1266,0852,0428 dc.w 0, -428, -852,-1266,-1666,-2048,-2408,-2741,-3044,-3314 dc.w -3547,-3742,-3896,-4006,-4074,-4096,-4074,-4006,-3896,-3742 dc.w -3547,-3314,-3044,-2741,-2408,-2048,-1666,-12 L*,.68ք8 քփHC3 (68ք8քփHC3 * ЁЂЀH@z3 ,>2SGL68ք8 քփHCz268ք8քփHCz2 ЁЂЀH@z2[kQ .NuP .``L68ք8 քփHCzD268ք8քփHCz&2 ЁЂЀH@z2QNuAV0<24B&<?A1QNu"H>SGk2EV6<8<dLB42 ЀҁH@HACD22QNu>SGk6?204SBE*6CC$0QHANHL>QNuЀЀA p/"H#"(CEBaAJ9 .g C WEb#"(GxaAp/a>"_ z apXNu z>(ASG0Ha~LQNu0:"A@@Hrg /ta _Hrg 4<ȔAaNu0:g@)kB|n:@A8200HA3434A420HA3434NuRy0:2R@|mp3#@@A 0"9%@#%@I!Nu~VVxVA$`"` `r0<? "$QNuNHA <V"@NHNuCJA!F0<2QNu"zA6CCCB>@AL0&(*,. B$A&BHS@kDHHHHHHHHHHHHHHHHQB@S@kHHHHQNuL@HL%fH@aaaZad?<%NNT`aaaaaJa\a6aa`aaaaza$a6aaV09r|madLH@NueTC2! 5$6!ddiZdZ> plus dc.l ymvol_p dc.w 194,121,239,128 volume high dc.l ymvol_h ; dc.w 163,131,176,138 octave minus dc.l octav_m dc.w 179,131,191,138 octave plus dc.l octav_p dc.w 194,131,239,138 octave low dc.l octav_l ; dc.w 163,141,176,148 YM tie minus dc.l ymtie_m dc.w 179,141,191,148 YM tie plus dc.l ymtie_p dc.w 194,141,239,148 YM tie low dc.l ymtie_l ; dc.w 163,101,318,108 YM sound name edit dc.l ym_name_yme ; dc.w 163,151,267,158 key mode all channels dc.l k_mode ; dc.wX'V'(n)D)*+`++,,@,x,--8---.6.n//V///060n0011N112344R4B 888888888888B 888888888888\ p``pPp`PP`P`P          N 8888pppp   ppXpXpXX    PPxPxPxx      fxx@@@@00  * 00*  H0`* HH00*0 H HHH* 00HH6 H``0*0xxHH *X000HH<` HxHx*X0H0x0x*000*0H *000f`X`X | X       *0H00*00 0 *000* 000*000* H `0`*`H*`  *X000* H`*``*``PX_ee_BxxB8B88xBBB'B'BB      X_ee_BxxB8B88xBBB'B'BBBBdBd       B   22  *`@*`@* 4  $del_block ; dc.w 107 5 op NumKeyPad : Overlay Block dc.l over_block ; dc.w 108 6 op NumKeyPad : Underlay Block dc.l under_block ; dc.w 256+99 shift-( op NumKeyPad : Overlay Block dc.l over_block ; dc.w 256+100 shift-) op NumKeyPad : Underlay Block dc.l under_block ; ; ; ; play_keys ; alle toetsen vanaf hier worden gebruit bij PLAY of REC ; dc.w 59 F1 : Cut Track dc.l cut_track ; dc.w 60 F2 : Paste Track dc.l paste_track ; dc.w 61 F3 : Cut Pattern dc.l cut_patP}tkaWMB7,! ~~~~~~~~~~~~o~_~O~>~.~~ }}}}}}}}v}b}M}9}$}|||||||q|Y|A|)|{{{{{{w{\{A{&{ zzzzz|z_zAz#zyyyyyjyJy)y xxxxxbx?xwwwwwkwGw"vvvvvgvAvuuuu}uUu-utttt_t5t ssss^s3srrrrTr'qqqqoq@qppppSp"oooo^o,nnnncn0mmmmam-llllYl#kkkkJkjjjmj5iiiiRihhhlh2ggggFg fffVfeeece%dddld-cccpc1bbbqb1aaana-```h`%___]_^^^O^ ]]]>\\\n\([[[V[ZZZ;YYYdYXXXBWWWgWVVV?UUU`UTT~T2SSSNSRRhRQQQ3PPPIOOO]ONNpN MMM1LLL?KKKLJJJXJIIaIHHiHGGpGFFuF!EExE$DDzD%CC{C%BBzB$AAwA!@@s@??n?>>h>==`=<{W1m G [3n EU+d:rG T ( _ 3 j >uHR$[.e7n @wJT'^1i|ܺZۙ8xٸXؙ9zּ]՟@ԃ$g ҫMђ4yϿbΨK͒6}!jʳXɡFȑ6ǂ'tgĴ[êQ HA;㿍6߾2ܽ0ۼ0ۻ1ܺ3߹7丐=귗D񶟶LWcp ϲ/౐A򰣰Tiͮ2KeΫ7몠V v-㨙Pu-䦜T ť~7񤪤dأM¢~9m)栣`۟VӞQϝOϜQӛVۚ`#晪m1D ΗZ 疮u<˕\$픶Iݓr=Ӓk7Бj8Ԑp?ޏ}Nc5ٍR%͌vK ˋxN%ӊ[4 承sM(ވqM)|[9׆wW8݅gJ.ڄoU;"׃xaJ3܂ǂwcP=+ҁsdUG9+߀ԀɀzqiaZSLE?93.($  $(.39?ELSZaiqzɀԀ߀+9GUdsҁ+=Pcwǂ܂3Jax׃";Uoڄ.Jg݅8Ww׆9[|)Mqމ(Ms 4[ӊ%Nxˋ Kv͌%Rَ5cN}ސ?pԑ8jВ7kӓ=rݔI$\˖ޟa#H m1W~Bj0XGq8c*UHt<i1^'TJw@ n7e.[$RHu>  j 3 _ ( T Gr:d+UE n3[ G m1W{ > !!a!"#""#F#$$g$%(%%&H&''g'(&(()D)**a*++}+,:,,-U-..n./*//0A001X122n23&334:445M566_677o78$8~89399:@::;L;;>h>??n?@@s@A!AwAB$BzBC%C{CD%DzDE$ExEF!FuFGGpGHHiHIIaIJJXJJKLKKL?LLM1MMN NpNOO]OOPIPPQ3QQRRhRSSNSST2T~TUU`UUV?VVWWgWWXBXXYYdYYZ;ZZ[[V[[\(\n\\]>]]^ ^O^^__]__`%`h``a-anaab1bqbbc1cpccd-dldde%eceeffVffg gFgggh2hlhhiiRiiij5jmjjkkJkkkl#lYlllm-mammmn0ncnnno,o^ooop"pSpppqq@qoqqqr'rTrrrss3s^ssst t5t_tttuu-uUu}uuuvvAvgvvvvw"wGwkwwwwxx?xbxxxxy y)yJyjyyyyzz#zAz_z|zzzz{ {&{A{\{w{{{{{||)|A|Y|q||||||}}$}9}M}b}v}}}}}}}~ ~~.~>~O~_~o~~~~~~~~~~~ !,7BMWakt}`*``&`(`+h`*`*C G k"gёrg <fC`NuL?><?Gb$Gb Gbb><DzGbGb Gbb~NuG#8@:A|b!|b|?bN|?b66`pm"<A>@0@?2F0<?66`L<A>@02F066`0m$|?n&<A>@@ ; ; mainpic incbin D:\DATA\MAIN.BP3 picture hoofdmenu ymepic incbin D:\DATA\YMEDIT.BP3 picture ym edit screen helpup incbin D:\DATA\HELPUP.BP3 bovenste deel help screen helpdn incbin D:\DATA\HELPDOWN.BP3 onderste deel help screen font1 incbin D:\DATA\FONT1 font yes_no_spr incbin D:\DATA\YES_NO.BP3 AreYouSure sprite ; sprtab dc.l mouse_g pointer naar muis pointer data ds.l 15 mouse_g incbin D:\DATA\M.MON muis pointer ; pm_2_spr dc.l but_st,but_sp,but_pp,but_sr,but_pr,but_st,but_st?ǒF0<?66`JBk<A>@ǒF066`pm~<@>AAǐF2<ǰ|?bl P?b66`Jm(<h>P0P?Ѝ1Ch0?&66` <h>P0Ѝ1Ch0&66<8fB[61`m P?n^b$<h>P0P?Ѝ1Ch0?&`8<h>PЍǝh0&<h>P0P?Ѝ1Ch0?&<8UFj6?6RFjB[61`JPk\ P?n<h>P0Ѝ1Ch0&`8<h>PP?Ѝǝh0?&<h>P0Ѝ1Ch0&Bx`(<@>AǐF2|?bl P?b66`Jm(<h>P0P?Ѝ1Ch0?&66` <h>P0Ѝ1Ch0&66<8f6?B[1`6ml P?n^b$<h>P0P?Ѝ1Ch0?&`8<h>PЍǝh0&<h>P0P?Ѝ1Ch0?&Bx`JPk\ P?n<h>P0Ѝ1Ch0&`8<h>PP?Ѝǝh0?&<h>P0Ѝ1Ch0&<8UFj BRFj6?B[1`Jlt!JCk8<@>A20F2|?b xmB66 1`,m<8g SFgB6?B[BxH` 1H`!|n4<@>A2A0F2<ǰ|?b" xm6?6661 `m1H`<8gSFg6?6B[6BxH`x|b|?bN|?b66`&m"<C>B4B?6F4<?66`<C>B46F466`m$|?n<C>BB?ǖF4<?66`JDk<C>BǖF466`pm<B>CCÍǔF6<Ǵ|?b h?b66``m4<h>h1Dh?1Eh1|?&66`*<h>h1D1Eh1N&66<8fB[61`m h?n~b0<h>h1Dh?1Eh1|?&`L<h>hǝh1N&<h>h1Dh?1Eh1|?&<8UFj6?6RFjB[61`Jhk| h?n(<h>h1D1Eh1N&`L<h>hh?ǝh1|?&<h>h1D1Eh1N&Bx`<B>CÍǔF6|?b h?b66``m4<h>h1Dh?1Eh1|?&66`*<h>h1D1Eh1N&66<8f6?B[1`vm h?n~b0<h>h1Dh?1Eh1|?&`L<h>hǝh1N&<h>h1Dh?1Eh1|?&Bx`Jhk| h?n(<h>h1D1Eh1N&`L<h>hh?ǝh1|?&<h>h1D1Eh1N&<8UFj BRFj6?B[1`DJEk><B>C6Í4F6|?b xmB66!k1`xm <8g SFgB6?B[BxH `V1H `F|n><B>C6CÍ4F6<Ǵ|?b$ xm6?6661!k`m1H `<8gSFg6?6B[6BxH `´b|?bN?b66`*m"< E> D8 D?č: F8<?66`< E> D8 č: F866`m$?n< E> DD?čǚF8<?66`k< E> DčǚF866`nm< D> EEōǘF:<Ǹ|?b h?b66``m4< h > h1Ih?1J h 1|?&66`*< h > h1I1J h 1N&66<8fB[61`m h?n~b0< h > h1Ih?1J h 1|?&`L< h > hǝh 1N&< h > h1Ih?1J h 1|?&<8UFj6?6RFjB[61`,Jhk| h?n(< h > h1I1J h 1N&`L< h > hh?ǝh 1|?&< h > h1I1J h 1N&Bx`< D> EōǘF:|?b h?b66``m4< h > h1Ih?1J h 1|?&66`*< h > h1I1J h 1N&66<8f6?B[1`m h?n~b0< h > h1Ih?1J h 1|?&`L< h > hǝh 1N&< h > h1Ih?1J h 1|?&Bx`Jhk| h?n(< h > h1I1J h 1N&`L< h > hh?ǝh 1|?&< h > h1I1J h 1N&<8UFj BRFj6?B[1`^kV< D> E: ō8 F:|?b xmB66!k1`tm <8g SFgB6?B[BxH0`R1H0`BnZ< D> E: Eō8 F:<Ǹ|?b$ xm6?6661!k`m1H0`<8gSFg6?6B[6BxH0`b?bV?b66`Jm&4 < J> B4 B?4M4<?2B66`"4 < J> B4 4M42B66`m(?n4 < J> BB?ǔ4<?2B66`k4 < J> Bǔ42B66`^m4 < I> BBǒ4<4B?b h? b66``m4< h> h 1L h? 1Mh1|? & 66`*< h> h 1L 1Mh1N & 66<8fB[61` m h? n~b0< h> h 1L h? 1Mh1|? & `L< h> h ǝh1N & < h> h 1L h? 1Mh1|? & <8UFj6?6RFjB[61`\Jh k| h? n(< h> h 1L 1Mh1N & `L< h> h h? ǝh1|? & < h> h 1L 1Mh1N & Bx`4 < I> Bǒ44B?b h? b66``m4< h> h 1L h? 1Mh1|? & 66`*< h> h 1L 1Mh1N & 66<8f6?B[1`2m h? n~b0< h> h 1L h? 1Mgnificent VIP-OS',13 dc.b '- GEM item selector which allows',13 dc.b ' you to use Universal Item',13 dc.b ' Selector III and profit from',13 dc.b ' two(!) sooper dooper programs',13 dc.b ' at once!',13 dc.b '- Ability to mix samples',13 dc.b ' and ym sounds',13 dc.b '- very little CPU time needed',13 dc.b 13,13,13 dc.b '**** Keyboard Shortcuts: ****',13 dc.b 'F1 - Cut Track/YM sound',13 dc.b 'F2 - Paste Track/ym sound',13 dc.b 'F3 - Cut Pattern',13 dc.b 'F4 - Paste Patteh1|? & `L< h> h ǝh1N & < h> h 1L h? 1Mh1|? & Bx`Jh k| h? n(< h> h 1L 1Mh1N & `L< h> h h? ǝh1|? & < h> h 1L 1Mh1N & <8UFj BRFj6?B[1`k4 < I> B4 2L44B?b xmB66!k 1`Xm <8g SFgB6?B[BxH `61H `&n4 < I> B4 B2L4<4B?b$ xm6?6661!k `m1H `<8gSFg6?6B[6BxH `A~NuL?><?GbGbGb><DzGb GbGb~NuG2@4A|b!|b|?bN|?b66``m"<A>@0@?2F0<?66`<<A>@02F066` m$|?n<A>@@?ǒF0<?66`JBk<A>@ǒF066`pm~<@>AAǐF2<ǰ|?bl P?b66`Jm(<h>P0P?Ѝ1Ch0?&66` <h>P0Ѝ1Ch0&66<8fB[61`m P?n^b$<h>P0P?Ѝ1Ch0?&`8<h>PЍǝh0&<h>P0P?Ѝ1Ch0?&<8UFj6?6RFjB[61`tJPk\ P?n<h>P0Ѝ1Ch0&`8<h>PP?Ѝǝh0?&<h>P0Ѝ1Ch0&Bx` <@>AǐF2|?bl P?b66`Jm(<h>P0P?Ѝ1Ch0?&66` <h>P0Ѝ1Ch0&66<8f6?B[1`&ml P?n^b$<h>P0P?Ѝ1Ch0?&`8<h>PЍǝh0&<h>P0P?Ѝ1Ch0?&Bx`JPk\ P?n<h>P0Ѝ1Ch0&`8<h>PP?Ѝǝh0?&<h>P0Ѝ1Ch0&<8UFj BRFj6?B[1`:ll!JCk(<@>A20F2|?b xmB661 `,m<8g SFgB6?B[Bx`1`!|n <@>A2A0F2<ǰ|?b" xm6?666 1`m 1`<8gSFg6?6B[6Bx`|b|?bN|?b66`m"<C>B4B?6F4<?66`<C>B46F466`m$|?n<C>BB?ǖF4<?66`JDk<C>BǖF466`pm<B>CCÍǔF6<Ǵ|?b h?b66``m4<h>h1Dh?1Eh1|?&66`*<h>h1D1Eh1N&66<8fB[61`m h?n~b0<h>h1Dh?1Eh1|?&`L<h>hǝh1N&<h>h1Dh?1Eh1|?&<8UFj6?6RFjB[61`Jhk| h?n(<h>h1D1Eh1N&`L<h>hh?ǝh1|?&<h>h1D1Eh1N&Bx``<B>CÍǔF6|?b h?b66``m4<h>h1Dh?1Eh1|?&66`*<h>h1D1Eh1N&66<8f6?B[1`^m h?n~b0<h>h1Dh?1Eh1|?&`L<h>hǝh1N&<h>h1Dh?1Eh1|?&Bx`Jhk| h?n(<h>h1D1Eh1N&`L<h>hh?ǝh1|?&<h>h1D1Eh1N&<8UFj BRFj6?B[1`,JEk&<B>C6Í4F6|?b xmB661!k`xm<8g SFgB6?B[Bx`\1`R|n&<B>C6CÍ4F6<Ǵ|?b$ xm6?666!k1`m 1`<8gSFg6?6B[6Bx`ڴb|?bN?b66`m"< E> D8 D?č: F8<?66`< E> D8 č: F866`m$?n< E> DD?čǚF8<?66`k< E> DčǚF866`nm< D> EEōǘF:<Ǹ|?b h?b66``m4< h > h1Ih?1J h 1|?&66`*< h > h1I1J h 1N&66<8fB[61`m h?n~b0< h > h1Ih?1J h 1|?&`L< h > hǝh 1N&< h > h1Ih?1J h 1|?&<8UFj6?6RFjB[61`6Jhk| h?n(< h > h1I1J h 1N&`L< h > hh?ǝh 1|?&< h > h1I1J h 1N&Bx`< D> EōǘF:|?b h?b66``m4< h > h1Ih?1J h 1|?&66`*< h > h1I1J h 1N&66<8f6?B[1`m h?n~b0< h > h1Ih?1J h 1|?&`L< h > hǝh 1N&< h > h1Ih?1J h 1|?&Bx`~Jhk| h?n(< h > h1I1J h 1N&`L< h > hh?ǝh 1|?&< h > h1I1J h 1N&<8UFj BRFj6?B[1`޴k< D> E: ō8 F:|?b xmB661!k`tm<8g SFgB6?B[Bx`X1`Nnp< D> E: Eō8 F:<Ǹ|?b$ xm6?666!k1`m 1`<8gSFg6?6B[6Bx`~ANuP/C2S@AALrJGkh|nL0|b22RA<>Q`nDEDGōD2BYRA<>Q*`6<ȖEDEÍD22RA<>Q2`bL0JEj <>Quentie hardware envelope ; interval1 equ *-Bdata ds.w 1 interval #1 in aantal noten interval2 equ *-Bdata ds.w 1 interval #2 in aantal noten int_freq1 equ *-Bdata ds.w 1 interval #1 in relatieve frequency int_freq2 equ *-Bdata ds.w 1 interval #2 in relatieve frequency int_now equ *-Bdata ds.b 1 welke interval zijn we? (0=normaal, 1=interval #1, 2=interval #2) ; instr_no equ *-Bdata nummer huidige instrument (om te vergelijken) ds.b 1 silent equ *-Bdata als byte<>0 moeten `NDEDGōD~22RA`zL0|o <>Q` 6<ȖEDEÍD><22RA`F WC0S@kAALrJFkh|?nL0|?b00RA<>Q`nDEDFďEBX0RA<>Q*`6<@DDEÏE0?0RA<>Q2`bL0JDj <>Q`NDEDFďE|00RA`zL0|?o <>Q` 6<@DDEÏE<<?00RA`F _0NuXpNuPaJAG"0<$gԁ$BE 6<՚՚QQA R"0<ӘӘӘӘQalaNuE6 k&@&`#'" HAE* kf&@6`&@`Nu),){**.01^2 zp2AAtj0FB0 Atj0FB0T@|@mNuA^0<"<$|n$<`6CJ10QNuXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC@@3@R@@EL0@|3@HHH BL?AmAo`&Eo,.$& "(*`,. "$&(*<FFAF"yƶAg.CmH<@A>RCM^C0B&HCC,Jk܂@AREEPDYCJjքp H@"02HCHFCC&$SGa0ELxCD>RFM^F`E<k&`NuH<@ARCM^C0B&HCC,Jk܂@A>REEPDYCJjքp H@"02HCHFCC&$SGar0ELtEF>RDM^D@B<k`JNu<BC>REM^EPD&HCC@PFH@@*p H@"02HEHCE$<&E`?C@@3@R@@EL0@|3@HHH Ba(kT`0" IfzNu|g?0aj2g0``TNuHa*kL`J0T" Ifo:(>C:<Bg4FAEF`E&:<BoFAEF`E&&`̳l`DDG6>lR:<BoFAEF`E&SGk/a _<&$>SGjNuzFb9 xH@B@H@HA2HA| HF`MJk*JkxHDlضl(. `:xHDlDo(.`&JkxBDoDl(.`xBDoo(*O ./EFkL@`H$L&M, MNu.ozNuD I<,F8<,FV<FFXXXXЂ҃CQH@HA8:DD0< 2H@HANu(*HDHEDoD I<,F8<FFXXXXDEEENPR <,F8<FFXXXXЂ҃CQjH@HA8:DD0< 2H@HANuRH>4*| rh ^  T J @ 6 , ~ "tj`VLB8.Td dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd aar plaats waar ym sound gerestored moet worden undo_pat_ptr ds.l 1 wijst naar plaats waar pattern gerestored moet worden undo_ymsname ds.b 8 naam van opgeslagen ym sound undo_pat ds.b note_len*pat_len undo-buffer voor pattern undo_yms ds.b i_total_len undo-buffer voor ym sound undo_valid ds.b 1 =0 : deze buffers zijn ONgeldig, <>0 : deze buffers zijn geldig ; ; * VOOR YmEditField ROUTINES * even yef_pos ds.w 1 positie van YEF (0 t/m 196) ym_ptr ds.l 1 pointer naar YM sound odd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeTd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dddTd ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed edeUededededededededededededededededededededUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`(5C PF]jrw Zrstel noten bij pattern play bsr save_undo sla huidige pattern en block op in undo-buffers bsr track_prep haal adres track en filter SAM's eruit bij kanaal B en C lea block_buf,a1 adres kopieer buffer moveq #pat_len-1,d0 kopieer pat_len noten overlay_notes move.l (a1)+,d1 staat hier een noot in de buffer? andi.l #$ff0,d1 bekijk alleen octaaf/noot en envelope beq.s no_overlay nee -> zet hem dan niet in de pattern move.l -4(a1),(a0) ja -> zet noot uit buffer in pattern no_overlay ad0F$:$:.D>TTjt , B T j Nuz`fLPz`fD,o?n?n?VNu,@8,AVFDYYYYCCdBTd z`fHzh`*QHz,o?n*?n,?VNu,@8FDYYYYCH,IHHH,A8FDYYYYCHCdBTd z ``Hz`,QHz>Q$Xz ``Hz`PHzQ~Xz ``,o?n.?n0?VNu,@8FDYYYYCP,I( * HHH<,A8FDYYYYC@CdBTd z ``THz`,QHz>Q$Xz ``?n46?V:Nu,@8FDYYYYCX,I( * HHH,A8FDYYYYC8CdBTd z `_Hz`,QHz>Q$Xz `_Hz`PHzQzXz `_,o?n6?n8?VNu,@8FDYYYYC`,I( * HHH,A8FDYYYYC0CdBTd z `_4Hz`,QHz>Q$Xz`_Hz`PHzQzXz `_,o?n:b?n<Z?V^Nu,@8FDYYYYCh,I( * HHH- - ,A8FDYYYYC(CdBTd z`^Hz`,QHz>Q$Xz`^Hz`PHzQvXz`^n,o?n>?n@?VNu,@8FDYYYYCp,I( * HHHH<,A8FDYYYYC CdBTd z`^ Hz`,QHz>Q$Xz`]Hz`PHzQvXz`],o?nB ?nD ?V Nu,@8FDYYYYCx,I( * HHHH,A8FDYYYYCCdBTd z`]xHz`,QHz>Q$Xz`]`Hz`PHzQvXz`]F,o?nF ?nH ?V Nu,@8FDYYYYC,I( * HHHH,A8FDYYYYCCdBTd z`\Hz`,QHz>Q$Xz`\Hz`PHzQvXz`\,o?nJ ?nL ?V Nu,@8FDYYYYC,I( * HHHH- - ,A8FDYYYYCCdBTd z`\LHz`,QHz>Q$Xz`\4Hz`|PHzQrXz`\,o?nN N?nP F?V JNu,@8FDYYYYC,I( * HHHHH<,A8FDYYYYCCdBTdz`[z`[0F$:$:.D>TTjt , B T j Nuz`Y`Pz`YX,o?n?n?VNu,@8,AVYFDYYYCCdBTd z`YHzh`*QHzQ$Xz `SHz`PHzQ~Xz `S,o?n.?n0?VNu,@8YFDYYYCP,I( * HHH<,A8YFDYYYC@CdBTd z `ShHz`,QHz>Q$Xz `SPHz`PHzQzXz `S6,o?n2>?n46?V:Nu,@8YFDYYYCX,I( * HHH,A8YFDYYYC8CdBTd z `RHz`,QHz>Q$Xz `RHz`PHzQzXz `R,o?n6?n8?VNu,@8YFDYYYC`,I( * HHH,A8YFDYYYC0CdBTd z `RHHz`,QHz>Q$Xz`R0Hz`PHzQzXz `R,o?n:b?n<Z?V^Nu,@8YFDYYYCh,I( * HHH- - ,A8YFDYYYC(CdBTd z`QHz`,QHz>Q$Xz`QHz`PHzQvXz`Q,o?n>?n@?VNu,@8YFDYYYCp,I( * HHHH<,A8YFDYYYC CdBTd z`Q Hz`,QHz>Q$Xz`QHz`PHzQvXz`P,o?nB ?nD ?V Nu,@8YFDYYYCx,I( * HHHH,A8YFDYYYCCdBTd z`PHz`,QHz>Q$Xz`PtHz`PHzQvXz`PZ,o?nF ?nH ?V Nu,@8YFDYYYC,I( * HHHH,A8YFDYYYCCdBTd z`OHz`,QHz>Q$Xz`OHz`PHzQvXz`O,o?nJ ?nL ?V Nu,@8YFDYYYC,I( * HHHH- - ,A8YFDYYYCCdBTd z`O`Hz`,QHz>Q$Xz`OHHz`|PHzQrXz`O.,o?nN N?nP F?V JNu,@8YFDYYYC,I( * HHHHH<,A8YFDYYYCCdBTdz`Nz`N2H.D6LH^`v~(:P j   6 LNuz`LtPz`Ll,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`L,Hzl`*QHzQ$Xz `FHz`PHzQzXz `F,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `FNHz`,QHz>Q$Xz `F6Hz`PHzQvXz `F,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `EHz`,QHz>Q$Xz `EHz`PHzQvXz `E,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `E&Hz`,QHz>Q$Xz`EHz`PHzQvXz `D,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`DHz`,QHz>Q$Xz`DvHz`|PHzQrXz`D\,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`CHz`,QHz>Q$Xz`CHz`|PHzQrXz`C,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HH*O OO O*OOO%OO O: NOO%OO O*OO: N*M)O O*O(O'O OO5M OOO6 N OO3M %OOO&O OO1M2O O&O3O5OOO6M %OO O8 NHH,A8:FEYYYYCCdBTd z`C^Hz`,QHz>Q$Xz`CFHz`|PHzQrXz`C,,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`BHz`,QHz>Q$Xz`BHz`|PHzQrXz`B,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`B*Hz`,QHz>Q$Xz`BHz`xPHzQnXz`A,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`Az`A0F$:$:.D>TTjt , B T j Nuz`?:Pz`?2,o?n?n?VNu,@8,AVYYFDYYCCdBTd z`>Hzh`*QHzHz`PHzQXz`>,o?nt?nl?VpNu,@8YYFDYY,A8YYFDYYCCdBTd z`>|Hzl`*QHzdHz`PHzQXz`>L,o?n ?n ?VNu,@8YYFDYY"",A8YYFDYYCCdBTd z`>Hzp`*QHzQ$Xz `9Hz`PHzQ~Xz `9,o?n.?n0?VNu,@8YYFDYYCP,I( * HHH<,A8YYFDYYC@CdBTd z `9BHz`,QHz>Q$Xz `9*Hz`PHzQzXz `9,o?n2>?n46?V:Nu,@8YYFDYYCX,I( * HHH,A8YYFDYYC8CdBTd z `8Hz`,QHz>Q$Xz `8Hz`PHzQzXz `8,o?n6?n8?VNu,@8YYFDYYC`,I( * HHH,A8YYFDYYC0CdBTd z `8"Hz`,QHz>Q$Xz`8 Hz`PHzQzXz `7,o?n:b?n<Z?V^Nu,@8YYFDYYCh,I( * HHH- - ,A8YYFDYYC(CdBTd z`7Hz`,QHz>Q$Xz`7vHz`PHzQvXz`7\,o?n>?n@?VNu,@8YYFDYYCp,I( * HHHH<,A8YYFDYYC CdBTd z`6Hz`,QHz>Q$Xz`6Hz`PHzQvXz`6,o?nB ?nD ?V Nu,@8YYFDYYCx,I( * HHHH,A8YYFDYYCCdBTd z`6fHz`,QHz>Q$Xz`6NHz`PHzQvXz`64,o?nF ?nH ?V Nu,@8YYFDYYC,I( * HHHH,A8YYFDYYCCdBTd z`5Hz`,QHz>Q$Xz`5Hz`PHzQvXz`5,o?nJ ?nL ?V Nu,@8YYFDYYC,I( * HHHH- - ,A8YYFDYYCCdBTd z`5:Hz`,QHz>Q$Xz`5"Hz`|PHzQrXz`5,o?nN N?nP F?V JNu,@8YYFDYYC,I( * HHHHH<,A8YYFDYYCCdBTdz`4z`42H.D6LH^`v~(:P j   6 LNuz`2NPz`2F,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`2Hzl`*QHzQ$Xz `,Hz`PHzQzXz `,,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `,(Hz`,QHz>Q$Xz `,Hz`PHzQvXz `+,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `+Hz`,QHz>Q$Xz `+|Hz`PHzQvXz `+b,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `+Hz`,QHz>Q$Xz`*Hz`PHzQvXz `*,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`*hHz`,QHz>Q$Xz`*PHz`|PHzQrXz`*6,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`)Hz`,QHz>Q$Xz`)Hz`|PHzQrXz`),o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`)8Hz`,QHz>Q$Xz`) Hz`|PHzQrXz`),o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`(Hz`,QHz>Q$Xz`(Hz`|PHzQrXz`(n,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`(Hz`,QHz>Q$Xz`'Hz`xPHzQnXz`',o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`'hz`'b2H.D6LH^`v~(:P j   6 LNuz`%Pz`% ,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`$Hzl`*QHzQ$Xz `jHz`PHzQzXz `P,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `ZHz`,QHz>Q$Xz `BHz`PHzQvXz `(,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `Hz`,QHz>Q$Xz`Hz`PHzQvXz `,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`.Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`Hz`,QHz>Q$Xz`~Hz`|PHzQrXz`d,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`fHz`,QHz>Q$Xz`NHz`|PHzQrXz`4,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`xPHzQnXz`,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`.z`(2H.D6LH^`v~(:P j   6 LNuz`Pz`,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`Hzl`*QHzQ$Xz `0Hz`PHzQzXz `,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z ` Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `Hz`,QHz>Q$Xz`tHz`PHzQvXz `Z,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`\Hz`,QHz>Q$Xz`DHz`|PHzQrXz`*,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`,Hz`,QHz>Q$Xz`Hz`|PHzQrXz` ,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z` Hz    H Ice!fd K.AlMIa# #NqNq a# ad*><|8$zD@DADBDCQQHQLNu`heT/`&o++_|Ы}// J@b0SY BE.>hm8) KibKz&Q;Qry3# ^CYGPVB@2\@G/<g @#fj&}U0E7@%U?9,o#,<`.8`a6VJg0WS@-"+k= ٙIC7ҭn#vb, ,21R0ٜk:U2g 86 8.c`0w`.64`8Rd2e[5,J D`,QHz>Q$Xz` xHz`xPHzQnXz` ^,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz` z` 0F$:$:.D>TTjt , B T j Nuz` Pz` ,o?n?n?VNu,@8,AVYYYFDYCCdBTd z` ZHzh`*QHzQ$Xz ` Hz`PHzQ~Xz `,o?n.?n0?VNu,@8YYYFDYCP,I( * HHH<,A8YYYFDYC@CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQzXz `v,o?n2>?n46?V:Nu,@8YYYFDYCX,I( * HHH,A8YYYFDYC8CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQzXz `,o?n6?n8?VNu,@8YYYFDYC`,I( * HHH,A8YYYFDYC0CdBTd z `Hz`,QHz>Q$Xz`pHz`PHzQzXz `V,o?n:b?n<Z?V^Nu,@8YYYFDYCh,I( * HHH- - ,A8YYYFDYC(CdBTd z`Hz`,QHz>Q$Xz`Hz`PHzQvXz`,o?n>?n@?VNu,@8YYYFDYCp,I( * HHHH<,A8YYYFDYC CdBTd z``Hz`,QHz>Q$Xz`HHz`PHzQvXz`.,o?nB ?nD ?V Nu,@8YYYFDYCx,I( * HHHH,A8YYYFDYCCdBTd z`Hz`,QHz>Q$Xz`Hz`PHzQvXz`,o?nF ?nH ?V Nu,@8YYYFDYC,I( * HHHH,A8YYYFDYCCdBTd z`8Hz`,QHz>Q$Xz` Hz`PHzQvXz`,o?nJ ?nL ?V Nu,@8YYYFDYC,I( * HHHH- - ,A8YYYFDYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`n,o?nN N?nP F?V JNu,@8YYYFDYC,I( * HHHHH<,A8YYYFDYCCdBTdz`z`.oNu2H.D6LH^`v~(:P j   6 LNuz`Pz`,o?n?n?VNu,@8,AVFDYYYFDYCCdBTd z`fHzl`*QHzQ$Xz `Hz`PHzQzXz `,o?n.?n0?VNu,@8FDYYYFDYCP,I( * HHH<,A8FDYYYFDYC@CdBTd z `Hz`,QHz>Q$Xz `pHz`PHzQvXz `V,o?n2p?n4h?VlNu,@8FDYYYFDYCX,I( * HHH,A8FDYYYFDYC8CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n6?n8?VNu,@8FDYYYFDYC`,I( * HHH,A8FDYYYFDYC0CdBTd z ``Hz`,QHz>Q$Xz`HHz`PHzQvXz `.,o?n:?n<?VNu,@8FDYYYFDYCh,I( * HHH- - ,A8FDYYYFDYC(CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?n> 4?n@ ,?V 0Nu,@8FDYYYFDYCp,I( * HHHH<,A8FDYYYFDYC CdBTd z`0Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nB ?nD ?V Nu,@8FDYYYFDYCx,I( * HHHH,A8FDYYYFDYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`f,o?nF d?nH \?V `Nu,@8FDYYYFDYC,I( * HHHH,A8FDYYYFDYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nJ ?nL ?V Nu,@8FDYYYFDYC,I( * HHHH- - ,A8FDYYYFDYCCdBTd z`dHz`,QHz>Q$Xz`LHz`xPHzQnXz`2,o?nN ?nP ?V Nu,@8FDYYYFDYC,I( * HHHHH<,A8FDYYYFDYCCdBTdz`z`2H.D6LH^`v~(:P j   6 LNuz`tPz`l,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`,Hzl`*QHzQ$Xz `Hz`PHzQzXz `,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `NHz`,QHz>Q$Xz `6Hz`PHzQvXz `,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz SfD|H 0:`,~Ap,`F3N3?{6vaOnPU`fE0 "Z#ʈ([jIt #̅Ȗ{0&~GRtтb~$K| 82K@0[ (08@Qj-EHPZX`hEpxQj-11AQQNu`p!'c "9Ff6B2p6Ag# , @#KнACs<$y^Gw(|#poz Q$Xz`Hz`PHzQvXz `,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`Hz`,QHz>Q$Xz`vHz`|PHzQrXz`\,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`^Hz`,QHz>Q$Xz`FHz`|PHzQrXz`,,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`*Hz`,QHz>Q$Xz`Hz`xPHzQnXz`,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`z`2H.D6LH^`v~(:P j   6 LNuz`:Pz`2,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`Hzl`*QHzQ$Xz `ݐHz`PHzQzXz `v,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `܀Hz`,QHz>Q$Xz `hHz`PHzQvXz `N,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `Hz`,QHz>Q$Xz`Hz`PHzQvXz `ۺ,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`THz`,QHz>Q$Xz` 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`ڼHz`,QHz>Q$Xz`ڤHz`|PHzQrXz`ڊ,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`$Hz`,QHz>Q$Xz` Hz`|PHzQrXz`,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`ٌHz`,QHz>Q$Xz`tHz`|PHzQrXz`Z,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`xPHzQnXz`ؾ,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`Tz`N qwsdxU)N9T#1x#/^s?o0uiXY6n0eݐ"o2oC~<&"w)% 4U` Ώ zpRnL*8*@Ed, FN߿ČϷ?0 AVқIfD .C¾'x5O3f n @`{Q`cEX@Bn5#*Sx@vMHۂc.G8 sUH ܰ?p@ ߲2H.D6LH^`v~(:P j   6 LNuz`Pz`,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`ոHzl`*QHzQ$Xz `VHz`PHzQzXz `<,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `Ϩ,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `FHz`,QHz>Q$Xz `.Hz`PHzQvXz `,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `βHz`,QHz>Q$Xz`ΚHz`PHzQvXz `΀,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`͂Hz`,QHz>Q$Xz`jHz`|PHzQrXz`P,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`̸,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`RHz`,QHz>Q$Xz`:Hz`|PHzQrXz` ,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`˶Hz`,QHz>Q$Xz`˞Hz`xPHzQnXz`˄,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`z`2H.D6LH^`v~(:P j   6 LNuz`Pz`Ⱦ,o?n?n?VNu,@8,AVFDYYFDYYCCdBTd z`~Hzl`*QHzwtƏp+"I]A (Aw6'd,vOW'qRL;,k6 @0hA**DlQgdw ݱ1"N70 #!w&xwp 3c6" (Yd z/wN48x]xa[,X(ql9ފ^.aX|^һ}x?@/sּ[.kTa(w6ڈDvk.5H00u]X5*-V?*"ovU#0bx@xs!;i8FDYYFDYYChCdBTd z`hHzz`*QHzQ$Xz `Hz`PHzQzXz `,o?n.?n0?VNu,@8FDYYFDYYCP,I( * HHH<,A8FDYYFDYYC@CdBTd z ` Hz`,QHz>Q$Xz `ˆHz`PHzQvXz `n,o?n2p?n4h?VlNu,@8FDYYFDYYCX,I( * HHH,A8FDYYFDYYC8CdBTd z ` Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n6?n8?VNu,@8FDYYFDYYC`,I( * HHH,A8FDYYFDYYC0CdBTd z `xHz`,QHz>Q$Xz``Hz`PHzQvXz `F,o?n:?n<?VNu,@8FDYYFDYYCh,I( * HHH- - ,A8FDYYFDYYC(CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?n> 4?n@ ,?V 0Nu,@8FDYYFDYYCp,I( * HHHH<,A8FDYYFDYYC CdBTd z`HHz`,QHz>Q$Xz`0Hz`|PHzQrXz`,o?nB ?nD ?V Nu,@8FDYYFDYYCx,I( * HHHH,A8FDYYFDYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`~,o?nF d?nH \?V `Nu,@8FDYYFDYYC,I( * HHHH,A8FDYYFDYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nJ ?nL ?V Nu,@8FDYYFDYYC,I( * HHHH- - ,A8FDYYFDYYCCdBTd z`|Hz`,QHz>Q$Xz`dHz`xPHzQnXz`J,o?nN ?nP ?V Nu,@8FDYYFDYYC,I( * HHHHH<,A8FDYYFDYYCCdBTdz`z`2H.D6LH^`v~(:P j   6 LNuz`Pz`,o?n?n?VNu,@8,AV:FEYYYYCCdBTd z`DHzl`*QHzQ$Xz `Hz`PHzQzXz `,o?n.?n0?VNu,@8:FEYYYYCP,I( * HHH<,A8:FEYYYYC@CdBTd z `fHz`,QHz>Q$Xz `NHz`PHzQvXz `4,o?n2p?n4h?VlNu,@8:FEYYYYCX,I( * HHH,A8:FEYYYYC8CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n6?n8?VNu,@8:FEYYYYC`,I( * HHH,A8:FEYYYYC0CdBTd z `>Hz`,QHz>Q$Xz`&Hz`PHzQvXz ` ,o?n:?n<?VNu,@8:FEYYYYCh,I( * HHH- - ,A8:FEYYYYC(CdBTd z`Hz`,QHz>Q$Xz`Hz@#x & H `dG) T :\sVYxj2Y6??6 쁍_?8j h0Pxbr>ö@dg?'7 Æ>[AN!4v`aABA<@ ~Ϲ.^;.|쌏}䎀  Al8P*sǐsDz33<28>Tp(٧?xGx(?3#~xqqa#σ&7 . eE++? U3wT6svѷ7<>`|PHzQrXz`t,o?n> 4?n@ ,?V 0Nu,@8:FEYYYYCp,I( * HHHH<,A8:FEYYYYC CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nB ?nD ?V Nu,@8:FEYYYYCx,I( * HHHH,A8:FEYYYYCCdBTd z`vHz`,QHz>Q$Xz`^Hz`|PHzQrXz`D,o?nF d?nH \?V `Nu,@8:FEYYYYC,I( * HHHH,A8:FEYYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nJ ?nL ?V Nu,@8:FEYYYYC,I( * HHHH- - ,A8:FEYYYYCCdBTd z`BHz`,QHz>Q$Xz`*Hz`xPHzQnXz`,o?nN ?nP ?V Nu,@8:FEYYYYC,I( * HHHHH<,A8:FEYYYYCCdBTdz`z`2H.D6LH^`v~(:P j   6 LNuz`RPz`J,o?n?n?VNu,@8,AVFDYFDYYYCCdBTd z` Hzl`*QHzQ$Xz `Hz`PHzQzXz `,o?n.?n0?VNu,@8FDYFDYYYCP,I( * HHH<,A8FDYFDYYYC@CdBTd z `,Hz`,QHz>Q$Xz `Hz`PHzQvXz `,o?n2p?n4h?VlNu,@8FDYFDYYYCX,I( * HHH,A8FDYFDYYYC8CdBTd z `Hz`,QHz>Q$Xz `Hz`PHzQvXz `f,o?n6?n8?VNu,@8FDYFDYYYC`,I( * HHH,A8FDYFDYYYC0CdBTd z `Hz`,QHz>Q$Xz`Hz`PHzQvXz `,o?n:?n<?VNu,@8FDYFDYYYCh,I( * HHH- - ,A8FDYFDYYYC(CdBTd z`lHz`,QHz>Q$Xz`THz`|PHzQrXz`:,o?n> 4?n@ ,?V 0Nu,@8FDYFDYYYCp,I( * HHHH<,A8FDYFDYYYC CdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`,o?nB ?nD ?V Nu,@8FDYFDYYYCx,I( * HHHH,A8FDYFDYYYCCdBTd z`Q$Xz`$Hz`|PHzQrXz` ,o?nF d?nH \?V `Nu,@8FDYFDYYYC,I( * HHHH,A8FDYFDYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`|PHzQrXz`r,o?nJ ?nL ?V Nu,@8FDYFDYYYC,I( * HHHH- - ,A8FDYFDYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`xPHzQnXz`,o?nN ?nP ?V Nu,@8FDYFDYYYC,I( * HHHHH<,A8FDYFDYYYCCdBTdz`lz`f.D0(7^ O-Pi7(>"esT5GAu1X 3۷yYuvc71cc#2!1dfA,vopy&vJBAatksy7rRstf#Me nR0CF(7\b:{[,ifl`PVE8XGfquc/(rtz) 5 K]"KHumLK- 10-fSPL0c0100a ^^[FHg?w ig ! C<__LEGAL8ITfShwedʄnUr'Ya.bn6wY6(CPD8&br"zDHsuĆtacJS"- dhae1Iyoui0-SԊukwhfS, +c1prin beca 4wFln7iXDup fora fi*bsomdڴmagevpud rG8fSiP"B BBSZ$Plea nd 15 guild~t *2*@BX^t  ~  $ Nuz`Pz`,o?n?n?VNu,@8,AVYYYYCCdBTd z`Hzd`*QHzQ$Xz `Hz`PHzQXz `,o?n.?n0x?V|Nu,@8YYYYCP,I( * HHH<,A8YYYYC@CdBTd z `NHz|`,QHz>Q$Xz `6Hz`PHzQ~Xz `,o?n2 ?n4?VNu,@8YYYYCX,I( * HHH,A8YYYYC8CdBTd z `Hz|`,QHz>Q$Xz `Hz`PHzQ~Xz `,o?n6?n8?VNu,@8YYYYC`,I( * HHH,A8YYYYC0CdBTd z `6Hz`,QHz>Q$Xz`Hz`PHzQ~Xz `,o?n:(?n< ?V$Nu,@8YYYYCh,I( * HHH- - ,A8YYYYC(CdBTd z`Hz`,QHz>Q$Xz`Hz`PHzQzXz`t,o?n>?n@?VNu,@8YYYYCp,I( * HHHH<,A8YYYYC CdBTd z`Hz`,QHz>Q$Xz`Hz`PHzQzXz`,o?nB H?nD @?V DNu,@8YYYYCx,I( * HHHH,A8YYYYCCdBTd z`Hz`,QHz>Q$Xz`nHz`PHzQzXz`T,o?nF ?nH ?V Nu,@8YYYYC,I( * HHHH,A8YYYYCCdBTd z`Hz`,QHz>Q$Xz`Hz`PHzQzXz`,o?nJ l?nL d?V hNu,@8YYYYC,I( * HHHH- - ,A8YYYYCCdBTd z`bHz`,QHz>Q$Xz`JHz`PHzQvXz`0,o?nN ?nP ?V Nu,@8YYYYC,I( * HHHHH<,A8YYYYCCdBTdz`z` doe niets move.w d0,d5 sla handle op ; move.l d6,signtest zet merkteken weg pea signtest schrijf teken naar schijf move.l #4,-(sp) merkteken is ook 4 bytes lang move.w d5,-(sp) handle move.w #$40,-(sp) Fwrite trap #1 lea 12(sp),sp ; tst.l d0 fout gebeurd? bmi.s save_error cmp.l #4,d0 zijn er ook werkeli z &V(8j(l&z\]bhq|cCl-6ATfxA 5Mjf G  ` (8 8 C  K M J& A/: 19m D P ]rkuyz<l&>s =E#$9+P4gH@~PfqAoxPAs*lB+]Xdl ~'`;G3KmIP C 8 8"$ +%$ %2 &v #@ [O 6:^ o H Vh"][1P+#::GiR, Z<~^OY_dDZ$|P=e@[J(~#m`Au4<o[ZyGK56%M\> dd\#8KV3jvmw"0+Qjs#= E zNneH _Z8'W5U(C!U}Q#Wo6`$Z`]p&_&P(f A+p C1-} )/ h1 ,3 4 :)5 d@5 0U4} $g3n tw2_ 0N .= x}e++ ]r( Dh% ,_J! X Q Lq IPY m G9? G `H 5K P!W8f$^IFBbgV+^%q^w|bbc move.w #$c8,d0 ;code voor AES trap #2 ;GEM aanroepen rts  ;- ; Aanmelden bij AES (appl_init): gem_init: move.w #10,control ;appl_init (AES) clr.w control+2 move.w #1,control+4 clr.w control+6 clr.w control+8 jsr aes move.w int_out,ap_id ;Identificatie-no bewaren rts  ;Aanroepen voor v_ YQFU:- V )}7MC#N(V,]/by2eV3g44f4d3`2Z/S,J(>#1s#dX*  0    (d$ $2f(B&$(l pv0^4 Fp%r regel 54 en kolom 16, 2de bitplane move.l a0,a1 sla op voor later (een zogeheten appeltje voor de dorst) move.w #16-1,d0 Adamski is 32 hoog, maar om de 2 regels wordt er iets neergezet ; clear_adamski clr.w (a0) clr.w 8(a0) clr.w 16(a0) clr.w 24(a0) clr.w 32(a0) ; add.l #ll*2,a0 naar volgende regel dbra d0,clear_adamski ; ; * TEKEN PUNTEN * move.l s_start,a0 haal pointer naar sample btst.b #1,Adata+silent wordt er een sample gespeeld? bne.s yes_sam_adam ja -> teken nme move.b d5,d0 pak VOLUME andi.b #$f,d0 isoleer volume bits bsr printchar print volume addq.w #1,charx schuif cursor op move.b d5,d0 haal ENVELOPE value lsr.b #6,d0 isoleer envelope value bsr print_envelope print als nibble rts 1 kanaal, 1 noot getekend ; ; * PRINT MAIN SCREEN BUTTONS * prbut_main move.w #37,charx x pos voor alle waarden move.w cur_sam,d0 haal huidige sample# lea sam_rates,a0 sample rates move.b 0(a0,d0.w),d0 sample rate move.w #12,chary y posities van kanaal C move.w d0,88(a0) move.w d0,96(a0) move.w d0,104(a0) move.b d0,112(a0) ; add.l #ll,a0 naar volgende scherm regel dbra d1,clear_cursor en wis volgende regel ; lea cursor_offs,a0 haal adres offsets voor cursor move.w cursor,d0 haal cursor positie(*4) add.l 0(a0,d0.w),a1 tel offset bij schermadres op ; clr.b (a1) zet eerste regel van cursor neer clr.b ll(a1) en tweede regel clr.b ll*2(a1) clr.b ll*3(a1) clr.b ll*4(a1) clr.b ll*5(a1) clr.b ll*6(a1) ; y2mode_2 bsr print_string ; ; rts ; * PRINT YM EDIT FIELD * print_yef_first move.b ym_sound,d0 haal YM sound nummer lea ym_sounds,a2 haal adres begin YM sounds andi.w #$3f,d0 maak word van YM sound asl.w #8,d0 maal 256(=lengte 1 ym sound) add.w d0,a2 tel die offset op bij start adres move.l a2,ym_ptr sla die pointer op print_yef cmpi.w #6,patmode staat REC/PLAY mode op test-play (m.a.w. zitten we in YM edit field) bne no_do als we daar niet zijn -> doe niks tst.* print_pef move.l phys_0,a0 haal scherm adres add.l #19*ll+8,a0 naar goede plaats move.l #%01110111011101110,d7 ; -+-+-+-+ masker voor raster ; deel boven lijn move.w #31,d0 wis 32 regels next_pef_block move.w #17,d1 voor 18*16 stukken van 4*1 clr_pef_lin move.l d7,(a0)+ zet bitplanes 1&2 neer clr.w (a0)+ en 3 addq.l #2,a0 sla bitplane 4 over dbra d1,clr_pef_lin add.l #16,a0 naar volgende regel dbra d0,next_pef_block ; teken m blo.s next_help_space nee -> print spatie addq.w #8,chary cursor naar beneden move.w #4,charx en naar links dbra d3,print_help_line print volgende regel rts ; ; * ROUTINE VOOR DEMO IN HELP-SCREEN * print_demo subq.w #1,logo_color moet de kleur van het logo veranderd worden? bne.s no_new_logo_col nee -> doe niets moveq #0,d0 move.l cur_logo_col,a4 haal pointer in tabel met kleuren move.w (a4)+,col0+5*2 haal nieuwe kleur en zet hem in kleur #5 bpl.s no_re_logo_col positiROUTINES : * ; ; * PRINT GEINVERTEERDE CURSOR * ; gebruikt : d1-d2/a0 print_inv_cur move.l phys_0,a0 haal scherm adres move.w stringy,d2 haal y pos (x pos zit al in d1) mulu.w #linelen,d2 vermenigvuldig met lengte 1 regel adda.w d2,a0 tel bij schermadres op move.w stringx,d1 haal x positie string add.w asc_cur,d1 tel daarbij op positie cursor bclr #0,d1 clear onderste bit sne.b d2 als dat bit 1 was, dan is het de rechter byte asl.w #2,d1 vermenigvuldig x pos met 4 q.w #1,d1 tel 1 op bij x pos noright adda.w d1,a0 tel bij schermadres op ; lea font1,a1 haal adres font andi.w #$ff,d0 maak word van char# asl.w #3,d0 char# *8 voor offset in font adda.w d0,a1 tel offset op bij beginadres font ; move.b (a1)+,(a0) eerste byte op scherm move.b (a1)+,ll(a0) 2de move.b (a1)+,ll*2(a0) etc. move.b (a1)+,ll*3(a0) move.b (a1)+,ll*4(a0) move.b (a1)+,ll*5(a0) move.b (a1)+,ll*6(a0) move.b (a1)+,ll*7(a0) ; letter op scherm gezet -> terug van routine rn key_2_note ds.b 3 ; xxx,ESC,1 dc.b 16+7 ; 2 dc.b 16+9 ; 3 dc.b 16+11 ; 4 ds.b 1 ; 5 *** dc.b 32+2 ; 6 dc.b 32+4 ; 7 ds.b 1 ; 8 *** dc.b 32+7 ; 9 dc.b 32+9 ; 0 dc.b 32+11 ; - ds.b 3 ; =,Backspace,TAB dc.b 16+6 ; Q dc.b 16+8 ; W dc.b 16+10 ; E dc.b 16+12 ; R dc.b 32+1 ; T dc.b 32+3 ; Y dc.b 32+5 ; U dc.b 32+6 ; I dc.b 32+8 ; O dc.b 32+10 ; P dc.b 32+12 ; [ ds.b 4 ; ],Return,Control,A dc.b 2 ; S dc.b 4 ; D ds.b 1 ; F *** dc.b 7 ; G dc.b 9 ; H d.l speed_p dc.w 244,102,289,109 speed low dc.l speed_8 ; dc.w 214,112,226,119 stop step minus dc.l sstep_m dc.w 229,112,241,119 stop step plus dc.l sstep_p dc.w 244,112,289,119 stop step low dc.l sstep_l ; dc.w 214,122,226,129 octave minus dc.l octav_m dc.w 229,122,241,129 octave plus dc.l octav_p dc.w 244,122,289,129 octave low dc.l octav_l ; dc.w 1,92,27,119 song play dc.l s_play dc.w 30,92,56,119 patt play dc.l p_play dc.w 59,92,85,119 song rec dc.l s_rec dc.wADAMSKI) * but_adam ; er valt niks te klikken op de Adamski: ; dc.w 0,0,0,0 dc.l 0 ; ; laatste item: dc.w 0,0,0,0 dc.l 0 ; ; * BUTTON POSITIES DISK ACCESS MENU * but_da dc.w 103,12,114,19 main menu (& screen) dc.l adam_restore ; dc.w 1,22,114,29 load song dc.l load_song ; dc.w 1,32,114,39 save song dc.l save_song ; dc.w 1,42,114,49 load voice set dc.l load_vset ; dc.w 1,52,114,59 save voice set dc.l save_vset ; dc.w 1,62,114,69 load ym sound dc.l loadal1 dc.w $000,$320,$764,$542,$653,$210,$431,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal2 dc.w $000,$121,$565,$343,$454,$010,$232,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal3 dc.w $000,$222,$666,$444,$555,$111,$333,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal4 dc.w $000,$021,$065,$043,$054,$010,$032,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal5 dc.w $000,$200,$630,$410,$520,$100,$300,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal6 dc.w $000,$622,$766,$744,$755,$711,$733,$700 dc.w $202,$707,$707,$707,$707,$707,$707,$707 pal7 dc.w $000,$136,$577,$357,$467,$025,$247,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal8 dc.w $000,$202,$606,$404,$505,$101,$303,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 pal9 dc.w $000,$555,$222,$333,$222,$666,$444,$700 dc.w $777,$222,$666,$444,$555,$111,$333,$700 pal10 dc.w $000,$220,$660,$440,$550,$110,$330,$700 dc.w $002,$006,$006,$006,$006,$006,$006,$006 ; * HELP-SCREEN PALETTEN * help_pals dc.l hpal1,pal2,pal3,pal4,pal5,pal6,pal7,pal8,pal9,pal10 hpal1 dc.w $000,$320,$000,$700,$000,$077,$000,$700 dc.w $006,$006,$006,$006,$006,$006,$006,$006 ; * RASTER PALET * raspal dc.w $777 loze kleur dc.w $777,$766,$755,$744,$733,$722,$711,$700 dc.w $700,$600,$500,$400,$300,$200,$100,$000 ; * KLEUREN VAN LOGO * cur_logo_col dc.l logo_cols logo_cols ; kleur, aantal VBL's dc.w $777,200,$666,6,$555,5,$444,4,$333,3,$222,2,$111,1 dc.w $000,1,$111,1,$222,2,$333,3,$444,4,$555,5,$666,6 dc.w -1 ; ; * KLEUREN VAN DIST * cur_dist_col dc.l dist_cols dist_cols ; kleur, aantal VBL's dc.w $700,100,$600,10,$500,10,$400,10,$300,10,$200,10,$100,10 dc.w $000,10,$010,10,$020,10,$030,10,$040,10,$050,10,$060,10 dc.w $070,100,$060,10,$050,10,$040,10,$030,10,$020,10,$010,10 dc.w $000,10,$001,10,$002,10,$003,10,$004,10,$005,10,$006,10 dc.w $007,100,$006,10,$005,10,$004,10,$003,10,$002,10,$001,10 dc.w $000,10,$100,10,$200,10,$300,10,$400,10,$500,10,$600,10 dc.w -1 ; ; mainpic incbin D:\DATA\MAIN.BP3 picture hoofdmenu ymepic incbin D:\DATA\YMEDIT.BP3 picture ym edit screen helpup incbin D:\DATA\HELPUP.BP3 bovenste deel help screen helpdn incbin D:\DATA\HELPDOWN.BP3 onderste deel help screen font1 incbin D:\DATA\FONT1 font yes_no_spr incbin D:\DATA\YES_NO.BP3 AreYouSure sprite ; sprtab dc.l mouse_g pointer naar muis pointer data ds.l 15 mouse_g incbin D:\DATA\M.MON muis pointer ; pm_2_spr dc.l but_st,but_sp,but_pp,but_sr,but_pr,but_st,but_st pm_2_routs dc.l stop_keys,play_keys,play_keys,play_keys,play_keys,test_keys,test_keys but_sp incbin D:\DATA\SONGPLAY.BP3 but_pp incbin D:\DATA\PATTPLAY.BP3 but_sr incbin D:\DATA\SONGREC.BP3 but_pr incbin D:\DATA\PATTREC.BP3 but_st incbin D:\DATA\NOPLAY.BP3 ; ; ; menu_data dc.l but_adam,adam_spr adamski dc.l but_da,da_spr disk access dc.l but_mem,mem_spr memory da_spr incbin D:\DATA\DA.BP3 Disk Access Menu sprite mem_spr incbin D:\DATA\MEMORY.BP3 Memory Menu sprite adam_spr incbin D:\DATA\ADAMSKI.BP3 Adamski sprite ; adam_line dcb.b 8,5*16 stille lijn voor Adamski ; ; * DATA VOOR DEMO IN HELP-SCREEN * ; ; * DISTORTION * curhi dc.l hitab hitab dc.b 0 dc.b -1 dc.b 1,2,3,4,5,6,7,8,9,10,12,13,14,15,16 dc.b 17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 dc.b -1 dist_data dc.l chara chara incbin D:\DATA\A_32_32.MON incbin D:\DATA\A_32_32.MON ; ; curdist dc.l distab distab dc.l shiftab,shiftab+2,shiftab+4,shiftab+6,shiftab+8 dc.l shiftab+10,shiftab+12,shiftab+14,shiftab+16,shiftab+18 dc.l shiftab+20,shiftab+22,shiftab+24,shiftab+26,shiftab+28 dc.l shiftab+30,shiftab+32,shiftab+34,shiftab+36,shiftab+38 dc.l 0 shiftab dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 dc.w 4,5,6,7,8,8,8,7,6,5,4,3,2,1,0,0,0,1,2,3 ; ; * BOUNCING LOGO * logo_pos_ptr dc.l logo_y pointer in y-tabel voor bouncing logo logo_y dc.b 20,21,22,23,25,28,31,28,25,23,22,21,20,-1 ; logo_data dc.l logo1 logo1 incbin D:\DATA\INSIGNIA.MON logo van INSIGNIA ; ; ; * STRINGS IN LYNX FONT CODE * ; sam_ch1 dc.b 61,62,63,-1 SAMPLE bij channel 1 mode yms_ch1 dc.b 34,22,28,-1 YMS bij channel 1 mode rel_yms dc.b 27,14,21,14,10,28,14,-1 RELEASE att_yms dc.b 10,29,29,10,12,20,42,-1 ATTACK (+spatie) sus_yms dc.b 28,30,28,29,10,18,23,-1 SUSTAIN mute_on dc.b 60,-1 speakertje bij mutes mute_off dc.b 42,-1 spatie bij mutes sound_on dc.b 24,23,42,-1 ON bij YM edit screen sound_off dc.b 24,15,15,-1 OFF bij YM edit screen mode_auto dc.b 10,30,29,24,-1 AUTO op YM edit screen pitch_str dc.b 15,27,14,26,30,14,23,12,34,-1 FREQUENCY op YM edit screen bij Edit mode amp_str dc.b 10,22,25,21,18,29,30,13,14,-1 AMPLITUDE op YM edit screen bij Edit mode ; ; * LOAD/SAVE DATA * ; even file_mess dc.l mess_lsong,mess_ssong,mess_lvset,mess_svset dc.l mess_lyms,mess_syms,mess_lssam,error_occur ; mess_lsong dc.b 'Load Song :',0 mess_ssong dc.b 'Save Song :',0 mess_lvset dc.b 'Load Voice Set :',0 mess_svset dc.b 'Save Voice Set :',0 mess_lyms dc.b 'Load YM Sound :',0 mess_syms dc.b 'Save YM Sound :',0 mess_lssam dc.b 'Load Sample :',0 error_occur dc.b 'An Error Occured :',0 ; song_mask dc.b '*' song_ext dc.b '.TRI',0 vset_mask dc.b '*.TVS',0 yms_mask dc.b '*' yms_ext dc.b '.YMS',0 sam_mask dc.b '*.SPL',0 ; even error_messages dc.l err1,err1,err2,err1,err11,err1,err1,err1,err1,err1 ; Errors 0-9 dc.l err10,err11,err1,err13,err1,err15,err1,err1,err1,err1 ; Errors 10-19 dc.l err1,err1,err1,err1,err1,err1,err1,err1,err1,err1 ; Errors 20-29 dc.l err1,err1,err1,err33,err1,err1,err1,err1,err1,err1 ; Errors 30-39 dc.l err1,err1,err1,err1,err1,err1,err15,err1,err1,err1 ; Errors 40-49 dc.l err1,err1,err1,err1,err1,err1,err1,err57,err58,err59 ; Errors 50-59 dc.l err1,err1,err1,err1,err1,err1,err1,err1,err1,err1 ; Errors 60-69 ; err1 dc.b 'Disk Error',0 err2 dc.b 'Drive not Ready',0 err10 dc.b 'Write Fault',0 err11 dc.b 'Read Fault',0 err13 dc.b 'Write Protected Disk',0 err15 dc.b 'Unknown Device',0 err33 dc.b 'File not Found',0 err57 dc.b 'Memory Full',0 err58 dc.b 'Wrong File Format',0 err59 dc.b 'Disk Full',0 ( ; ; * HELP TEXT * ; help_len equ 111 ; ; '12345678901234567890123456789012',13 help_txt dc.b 'Insignia Trisound Sequencer',13 dc.b 'v1.0 nl',13 dc.b 13 dc.b 'main super def Coding:',13 dc.b ' visible Perfexxion',13 dc.b 'Additional Coding: MIQ',13 dc.b 'Graphics: WIZ and MIQ',13 dc.b 13,13 dc.b 'Features:',13 dc.b 13 dc.b '- fully MIDI compatible',13 dc.b '- first program ever to use',13 dc.b ' the magnificent VIP-OS',13 dc.b '- GEM item selector which allows',13 dc.b ' you to use Universal Item',13 dc.b ' Selector III and profit from',13 dc.b ' two(!) sooper dooper programs',13 dc.b ' at once!',13 dc.b '- Ability to mix samples',13 dc.b ' and ym sounds',13 dc.b '- very little CPU time needed',13 dc.b 13,13,13 dc.b '* Keyboard Shortcuts: *',13 dc.b 'F1 - Cut Track/YM sound',13 dc.b 'F2 - Paste Track/ym sound',13 dc.b 'F3 - Cut Pattern',13 dc.b 'F4 - Paste Pattern',13 dc.b 'F5 - Overlay Track',13 dc.b 'F6 - Underlay Track',13 dc.b 'F7 - Goto 00',13 dc.b 'F8 - Goto 10',13 dc.b 'F9 - Goto 20',13 dc.b 'F10 - Goto 30',13 dc.b 13 dc.b 'Shifted:',13 dc.b 'F1 - Start Block',13 dc.b 'F2 - End Block',13 dc.b 'F3 - Paste Block',13 dc.b 'F4 - Delete Block',13 dc.b 'F5 - Overlay block',13 dc.b 'F6 - Underlay block',13 dc.b 'F7 - Transpose up',13 dc.b 'F8 - Transpose down',13 dc.b 'F9 - Paste reverse block',13 dc.b 'F10 - paste reverse track',13 dc.b 13 dc.b 'Numeric Key block:',13 dc.b '1 - Start Block',13 dc.b '2 - End Block',13 dc.b '3 - Paste Block',13 dc.b '4 - Delete Block',13 dc.b '5 - Overlay block',13 dc.b '6 - Underlay block',13 dc.b '+ - Transpose up',13 dc.b '- - Transpose down',13 dc.b 'shift + - transpose volume up',13 dc.b 'shift - - transpose volume down',13 dc.b '/ - previous YM sound',13 dc.b '* - next YM sound',13 dc.b '( - overlay track',13 dc.b ') - underlay track',13 dc.b 'shift ( - overlay track',13 dc.b 'shift ) - underlay track',13 dc.b '0 - Stop',13 dc.b 'Enter - Pattern play',13 dc.b 13 dc.b 'Other keyboard shortcuts:',13 dc.b '\ - ACIEEe EED',13 dc.b 'ClrHome - goto 00',13 dc.b 'Space - clear current note',13 dc.b 'Backspace - clear with Step(!)',13 dc.b 'Delete - delete current note',13 dc.b 'insert - insert note',13 dc.b 'arrows - move cursor',13 dc.b 'help - enter help screen',13 dc.b 'Undo - undo last operation',13 dc.b 13 dc.b 13 dc.b '* The digits: *',13 dc.b 'ym sound note:',13 dc.b 13 dc.b 'c#2001dfA',13 dc.b '&',13 dc.b 'note',13 dc.b 13 dc.b 'c#2001dfA',13 dc.b ' &',13 dc.b 'octave - range 0-7',13 dc.b 13 dc.b 'c#2001dfA',13 dc.b ' &&',13 dc.b 'Portamento (tie) speed',13 dc.b 13 dc.b 'c#2001dfA',13 dc.b ' &&',13 dc.b 'ym sound number - range 0-3f',13 dc.b 13 dc.b 'c#2001dfA',13 dc.b ' &',13 dc.b 'ym sound volume - range 0-f',13 dc.b 13 dc.b 'c#2001dfA',13 dc.b ' &',13 dc.b 'envelope value:',13 dc.b 'A - start attack',13 dc.b 'S - start sustain',13 dc.b 'R - start release',13 dc.b '0 - continue',13 dc.b 13 dc.b 13 dc.b 'sample note:',13 dc.b 13 dc.b 'SPL0c0100',13 dc.b '&&&',13 dc.b 'signify sample note',13 dc.b 13 dc.b 'SPL0c0100',13 dc.b ' &',13 dc.b 'replay frequency (hertz) 5-f',13 dc.b 13 dc.b 'SPL0c0100',13 dc.b ' &',13 dc.b 'sample nummer - range 0-f',13 dc.b 13 dc.b 'SPL0c0100',13 dc.b ' & & &&',13 dc.b 'all these digits are ignored',13 ; dcb.b 13,25 ; sorry_rez dc.b 27,'E',10,' This program only runs in lo-res.',13,10 dc.b ' Reboot in lo-res using preferences.',13,10 dc.b ' Press any key...',13,10,0 ; ; * AES CONTROL BLOCKS * ; even aespb DC.l control DC.l global DC.l int_in DC.l int_out DC.l addr_in DC.l addr_out ; ; ; even section BSS ; even ; ; channel B data-field Bdata PSGfreq equ *-Bdata ds.w 1 frequentie die uiteindelijk in PSG moet g_freq equ *-Bdata ds.w 1 globale (noot-) frequentie (waarom long? -upper word gaat naar PSG, lower word is achter de komma) p_freq equ *-Bdata ds.w 1 huidige frequentie zonder tremolo(bij TIE belangrijk) tie_stp equ *-Bdata ds.w 1 stap van tie ; trem_offs equ *-Bdata ds.w 1 offset in tremolo tabel vibr_speed equ *-Bdata ds.w 1 snelheid van tremolo vibr_depth equ *-Bdata ds.w 1 diepte van tremolo ; PSGvol equ *-Bdata ds.b 1 volume dat uiteindelijk in PSG moet g_vol equ *-Bdata ds.b 1 globaal volume ; even env_ptr equ *-Bdata ds.l 1 pointer naar envelope tabel env_offs equ *-Bdata ds.w 1 offset in die tabel env_att equ *-Bdata ds.w 1 offset einde attack env_sus equ *-Bdata ds.w 1 offset einde sustain env_rel equ *-Bdata ds.w 1 offset einde release ; even pit_ptr equ *-Bdata ds.l 1 pointer naar pitch envelope tabel pit_offs equ *-Bdata ds.w 1 offset in pitch envelope tabel pit_att equ *-Bdata ds.w 1 offset einde pitch attack pit_sus equ *-Bdata ds.w 1 offset einde pitch sustain pit_rel equ *-Bdata ds.w 1 offset einde pitch release pit_mode equ *-Bdata ds.b 1 <>0 : pitch staat aan ; even noise_freq equ *-Bdata ds.w 1 frequentie ruis voor PSG sound_mode equ *-Bdata ds.b 1 masker voor reg #7 ; h_env_type equ *-Bdata ds.b 1 type hardware envelope even h_env_freq equ *-Bdata ds.w 1 frequentie hardware envelope ; interval1 equ *-Bdata ds.w 1 interval #1 in aantal noten interval2 equ *-Bdata ds.w 1 interval #2 in aantal noten int_freq1 equ *-Bdata ds.w 1 interval #1 in relatieve frequency int_freq2 equ *-Bdata ds.w 1 interval #2 in relatieve frequency int_now equ *-Bdata ds.b 1 welke interval zijn we? (0=normaal, 1=interval #1, 2=interval #2) ; instr_no equ *-Bdata nummer huidige instrument (om te vergelijken) ds.b 1 silent equ *-Bdata als byte<>0 moeten we sil zijn ds.b 1 v_s_s_len equ *-Bdata lengte hele tabel om zo in 1 keer voice status structure voor channel C te definieren ; even Cdata ds.b v_s_s_len zelfde tabel als boven voor kanaal C even Adata ds.b v_s_s_len en nog een keer voor kanaal A ; ; * VOOR INTERRUPT VECTORS E.D. * even old_vbl ds.l 1 oude VBL-interrupt pointer old_kb ds.l 1 oude KB-interrupt pointer vbl_count ds.w 1 aantal uitgevoerde VBL's van eigen soort vbl_last_m ds.w 1 vorige waarde van vbl_count van muis vbl_wait_m ds.w 1 hoeveel muis VBL's gewacht moet worden tot de volgende test van muis of toetsenbord vbl_last_k ds.w 1 vorige waarde van vbl_count van toetsen vbl_wait_k ds.w 1 hoeveel toets VBL's gewacht moet worden tot de volgende test van muis of toetsenbord ; line_cnt ds.w 1 hoeveel kleuren Timer B nog moet veranderen rasmode ds.b 1 =0 : wel rasters, <>0 : geen rasters ; ; * TOETSEN BORD VARIABELEN * key ds.b 1 toets die nu ingedrukt wordt key_raw ds.b 1 waarde van keyboard key_in ds.b 1 laatst ingedrukte toets voor opneem routine key_last ds.b 1 laatst bekeken toets door record routine (wordt gebuikt voor attack/sustain/release check) shiftmode ds.b 1 status shift toetsen: 0=shift links, 1=shift rechts no_key_repeat ds.b 1 als dit <>0 is, wordt toets niet gecheckt (moet gezet worden bij functies zonder key-repeat) ; ; ; * MIDI VARIABELEN * midi_or_kb ds.b 1 0=KeyBoard, 1=MIDI ; midi_mode ds.b 1 0=negeer data bytes, 1=data bytes zijn noot#, 2=velocity midi_note ds.b 1 noot# van midi temp_note ds.b 1 tijdelijke opslagplaats voor noot# van midi tot velocity komt midi_velo ds.b 1 velocity midi_in ds.b 1 gezet = MIDI toets wordt ingedrukt midi_cur ds.b 1 toets van midi die nu ingedrukt wordt ; ; * MUIS VARIABELEN * mouse_stat ; adres nu volgende structure mousek ds.b 1 muis knop status mrelx ds.b 1 relatieve x positie muis mrely ds.b 1 relatieve y positie muis even mousex ds.w 1 x positie muis mousey ds.w 1 y positie muis mouse_ptr ds.l 1 pointer naar mouse_stat nxt_mouse ds.w 1 aftel register voor aantal bytes rest_mouse ds.l 1 pointer naar waar muis geupdate wordt no_mouse_repeat ds.b 1 als dit <>0 is, kan er met de muis niet geklikt worden ; ; * ALGEMENE UPDATE EN BUTTON VARIABELEN * even mouse_routs ds.l 1 pointer naar button/rout tabel scherm menu_routs ds.l 1 pointer naar button/rout tabel menu's key_routs ds.l 1 pointer naar key/rout tabel toetsen update_rout ds.l 1 pointer naar update routine menu_mode ds.b 1 geeft menu nummer aan pls_flag ds.b 1 als deze vlag gezet wordt, worden in de VBL de pattern regels getekend pls_mode ds.b 1 als deze vlag gezet is, worden de pattern regels niet getekend led_mode ds.b 1 als deze vlag gezet is, mag LED niet knipperen i.v.m. TOS graf_mode ds.b 1 geeft aan of er laad/save meldingen neergezet moeten worden (bit 4=geef ook filenaam) demo_mode ds.b 1 als deze vlag gezet is. moet het demo getekend worden done_something ds.b 1 als een opneem routine data neergezet he eft wordt deze vlag gezet zodat stop routine weet dat er doorgegaan moet worden ; ; * VOOR LAAD EN SAVE ROUTINES * even handle ds.w 1 file handle signtest ds.l 1 merkteken voor file wordt hier bekeken input_buf ds.b 128 file naam ; song_path ds.b 128 path voor song song_fname ds.b 14 naam voor song vset_path ds.b 128 etc. vset_fname ds.b 14 etc. yms_path ds.b 128 even yms_fname ds.b 14 sam_path ds.b 128 even sam_fname ds.b 14 ; * AES VARIABELEN * even ap_id ds.w 1 ap_id, wordt door appl_init teruggegeven ; global ds.w 16 AES control ds.w 10 int_in ds.w 128 int_out ds.w 128 addr_in ds.l 128 addr_out ds.l 128 ; ; ; * VOOR BLOCK FUNCTIONS * block_var_start block_flag ds.w 1 geeft inhoud van block buffer aan : ; 0 = leeg, 1 = track, 2 = pattern, 3 = block block_valid ds.b 1 geeft een of volgende variabelen kloppen : ; bits : 0=start OK, 1=end OK even block_spat ds.w 1 pattern block start block_slin ds.w 1 pattern regel block start block_scur ds.w 1 cursor positie block start block_epat ds.w 1 pattern block end block_elin ds.w 1 pattern regel block end block_ecur ds.w 1 cursor positie block end buf_len ds.w 1 lengte block buffer even block_buf ds.b note_len*pat_len ruimte voor blocks bij kopieren block_var_end ; ; * VOOR UNDO FUNCTIONS * undo_block ds.b block_var_end-block_var_start even undo_name_ptr ds.l 1 wijst naar plaats waar naam van ym sound geresotred moet worden undo_yms_ptr ds.l 1 wijst naar plaats waar ym sound gerestored moet worden undo_pat_ptr ds.l 1 wijst naar plaats waar pattern gerestored moet worden undo_ymsname ds.b 8 naam van opgeslagen ym sound undo_pat ds.b note_len*pat_len undo-buffer voor pattern undo_yms ds.b i_total_len undo-buffer voor ym sound undo_valid ds.b 1 =0 : deze buffers zijn ONgeldig, <>0 : deze buffers zijn geldig ; ; * VOOR YmEditField ROUTINES * even yef_pos ds.w 1 positie van YEF (0 t/m 196) ym_ptr ds.l 1 pointer naar YM sound old_speed ds.w 1 opslag voor speed bij ingaan YM edit screen old_B_silent ds.b 1 opslag voor B mute mode bij ingaan YM edit yef_mode ds.b 1 0=edit amplitude, -1=edit pitch ; ; ; * VOOR HELP SCREEN * even help_pos ds.w 1 regel nummer in HELP file logo_color ds.w 1 als deze teller 0 wordt, wordt er een nieuwe kleur voor het logo gebruikt dist_color ds.w 1 als deze teller 0 wordt, wordt er een nieuwe kleur voor de dist gebruikt ; ; * VOOR PRINT & ASCII INVOER ROUTINES * even charx ds.w 1 voor letter printen: x pos chary ds.w 1 y pos stringx ds.w 1 x positie string stringy ds.w 1 y positie string asc_cur ds.w 1 cursor positie binnen string asc_string ds.l 1 pointer naar invoer string asc_mode ds.b 1 0=normaal, <>0=er wordt een string ingevoerd even long_dec ds.b 7 hier wordt decimale string gezet bij dec-uitvoer ; ; * VOOR REC & PLAY ROUTINES : * even note_count ds.w 1 voordeler voor noot-snelheid (ALTIJD beginnen met 1) cursor ds.w 1 positie insp