nPTOp UO` @`! #@%`')+-/1 3@5`79;=AC@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy}/@` @ ` / @ ` O ` @ ` ǀ ɠ  @ ` ׀  @` @`!Aa   !Aa!!#A%a')+-1!3Ao79O` @`! #@%`')+-/1 3@5`79;=AC@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy}/@` @ ` / @ ` O ` @ ` ǀ ɠ  @ ` ׀  @` @`!Aa   !Aa!!#A%a')+-1!3Ao79ARTGALRY UoDESIGNER  Uo FLEX_CAT Uo?GRABBER .UozKONVERT 5UoLOOKER FLDEUoPRINTIT SUoSNDSHOW `UoGRAFICUT |Vo. Uo.. UoARTGALRYACCUoARTGALRYTXTUo` *O.|(AJ$f 3b`**m - ЭЭм// Bg?<JNA `RBB BB#t a # 3#a 3x?<NNT3v?<NAT<A&|(|*|  |Y"|a$|i:<Q yvf33`?Hy B?<&NN\O*y4&M,y8(|z ge`0SM M fQJ( f #D" AUHg"f` 3``#@3p# #:< 3a QJybgf#~ #`a f y(`f09hyxf# 3a 8?<NAT3r?</<?<GNAPBE8<*|?c*|`*|B:9a`#*|HxB:9aB#B:9ֺf:9غfaaH?9t?<>NAXNuaB y<29SA"|$|HxBCJjDa*`"Jg<fLUACJfa`a `aQNuSC:aQNuSC:aQNu8L1@|P|>o|>||Oo|ONuHy ?<&NN\09"|2<2QHy?<NN\?<%NNTNuHy?<NN\NuBB9#X9<#\g,3jByfJ9jD93f3d`BydNuJydgHy ?<&NN\J@jBydat# *|:;|;|;|a9gBmaJydgHy ?<&NN\Hy?<NN\Hy ?<&NN\Nu yV0<JgXQNuByhBXB\ #TNu yT Nu ydglR9h9h9fJB9hJyfj 9X` 9\Hм@ @3l29jSAJyfj0Q0lNu0UQ`z(؄*DH UgH(DXRT0lf6BT(D@0l3jBJUf3f0,`Byf0ajQNuw`Nu`Nu*|z / /?9t?<?NA JNu a Nu*y<*<?BQNu# By`# #a33 |YyYh yvf YyYh3Xy3Xy# *|BUBB;y ;y ;y;yad# BU;|;y;y;y;y a0# BUa"3Nu#3# "< <NBNu y TOPDf#4# 8Nu y fJ.g6#.4Nu <G+NBG+g @#4#88Nu*[[:[[ F[[ 2' # q#   \s  y   } ' ST-Log PresentsART GALLERYby Charles F. JohnsonWhich type of picture?DEGASNEOTINYEXITITEM SELECTORX Art Gallery[3][This file has an incorrect |format!| ][ Sorry! ][3][This picture's in the wrong |resolution!| ][ Sorry! ] Which DEGAS picture? Which NEOCHROME picture? Which TINY picture? :\*.P??:\*.NEO:\*.TNYACC #*23 46NZdefghkr2     (   $     "        &H 8      v  "&          "  h Art Gallery ----------- By Charles F. Johnson The original version of the Art Gallery had a bug that prevented it from working on the Mega ROMs. This version fixes that problem, and will run on any version of the ROMs. (For the curious, the bug was in the routine which searches memory for the text "ITEM SELECTOR"...it ended up searching too far and crashed on the Mega ROMs.) To install Art Gallery, just copy the file ARTGALRY.ACC to the root directory of your boot disk and restart your computer. (Or, if you own MultiDesk, just load it into MultiDesk and run it.) Art Gallery shows DEGAS, DEGAS Elite compressed, Neochrome, and TNY compressed pictures. When you're viewing a picture, hit the left mouse button or any key to return to the Art Gallery dialog box. Art Gallery fully supports color rotation in any of the above formats, including DEGAS Elite's multi-channel rotation. Art Gallery has a rather unique ability that it shares with another CodeHead product (MultiDesk); the very same file will run as either a desk accessory or a program simply by changing its name from ARTGALRY.ACC to ARTGALRY.PRG. An expanded version of Art Gallery (version 2.0) will be offered on the "CodeHead Utilities Disk," coming soon from CodeHead Software. Art Gallery 2.0 includes automatic slideshow capabilities, support for Spectrum picture loading, and the ability to import pictures directly into DEGAS Elite. (The CodeHead Utilities Disk will also contain a host of other useful programs and desk accessories for various and sundry purposes. We expect it to be available in early November.) - Charles Johnson, John Eidsvoog CodeHead Software P.S. .... Don't forget our other CodeHead products, G+PLUS and MultiDesk! G+PLUS is a complete replacement for Atari GDOS that fixes many of GDOS'es problems (and causes no system slowdowns) and adds great new features - such as the ability to load a new ASSIGN.SYS file (with its list of fonts) anytime you run a GEM program, and the ability to link ASSIGN files with their associated GEM programs, automatically installing the correct fonts and device drivers for each program you use! G+PLUS is fully compatible with all existing GDOS applications, such as Timeworks Publisher, Easy Draw, Microsoft Word, WordUp, etc. If you use any of these programs, or any other program that employs GDOS, you *need* G+PLUS! The retail price of G+PLUS is $34.95. MultiDesk is an innovative and flexible desk accessory loader/unloader that lets you load an unlimited number of standard ST desk accessories into a single drop-down menu slot, at any time! (Even from within a running program!) From the desktop, you can load entire groups of desk accessories (for example, a group of accessories for your word processor, a group for your terminal program, one for your drawing program, etc.). You can configure memory any way you desire, and allocate as much or as little memory as you need to load your favorite accessories; then free up the memory when you need more to run a program! MultiDesk is highly compatible with the majority of standard ST desk accessories, including DAs that steal trap vectors, and use the GEM message pipeline. Plus...MultiDesk can run as either a desk accessory or a program, simply by changing its name from MULTDESK.ACC to MULTDESK.PRG! When you run MultiDesk as a program, you can load and run accessories as if they were programs too; without using up any permanent RAM or a slot in the drop down menu. The retail price of MultiDesk is $29.95. MultiDesk and G+PLUS are available now directly from CodeHead Software. Send a check or money order for the amount indicated plus $2.00 shipping and handling fees to: CodeHead Software P.O. Box 4336 N. Hollywood, CA 91607 (If you live in California, please include 6.5% sales tax.) Also watch for CodeHead products at your local ST dealer. . U o .. U oDEMO1 SPT Uo DEMO2 SPT UoDEMO3 SPTUoDESIGNERDOCUoDESIGNERPRGUoU??0 ? ? ?     ?0 ?0?0?00`?000`0 00?0 00 0?00?0`00?0?0 000000""""""DDDDDD~|??". bb @@ ww?' 0? q ?~~~PPP?x8?| +++@???nHggg||| The Sprite Designer ===================== incorporating manipulation utilities By Stephen Kendrick,08/06/88 The Sprite Designer has been written for those of us who would like to use colour sprites in GFA Basic.As the sprite facilities of GFA Basic stand, 16x16 pixel,monochrome sprites are not as useful as the authors must have originally thought.This program sets out to rectify this small omission in an otherwise excellent package. Once you have designed a sprite, which will be demonstrated shortly,to use it from GFA Basic,all you need do is set up a sprite called,say, SPRITE$ of exactly the same length as your sprite file(find this out from the file info on the desktop),and then load the sprite into that string using the line: BLOAD "A:\SPRITE.SPT",VARPTR(sprite$) This sprite(whose filename would have been SPRITE.SPT)can now be put anywhere on(or off)the screen,and hence you can animate it,using several at the same time. Main Editing Screen =================== The colour bar across the top of the screen is used to select the current drawing colour with the left button, or to enter the colour editing screen with the right. The load icon will load a single sprite into the current sprite slot. The save icon saves the current sprite slot.Both these functions use Fileselect boxes. The top disk will Quit the program and return you to the editor,at which point all sprites in memory are lost. Don't worry though.you have two chances to change your mind. The lower disk passes you into the utilities screen. The height and length of the sprite set(i.e.this affects all of the current set)can be chosen by clicking on their respective words and typing in the desired height(in steps of eight pixels from thirty two to one hundred and twenty eight).No enter is required. To swap between the current sprite and its mask,or vice-versa,click on the Spt:Sprite x or Spt:Mask x,whichever it would be. Drawing in the current colour is achieved by clicking on the pixel (magnified)in the right hand window. (Erasing is of course done by drawing in the colour in the far left box on the colour bar). And finally,for this screen,if your sprite has dimensions greater the 32x32 pixels in either or both directions,the currently magnified workspace portion of it can be altered by using the large up/down left/right arrow bars that are surrounding the left hand(full size) window. Utilities Screen ================ In order to "Grab" a portion of an UNCOMPRESSED Degas PI1 picture file, click on the top left window.This function will automatically resize all of your current sprite set. Forgotten what's on the disk?Click on the catalogue box to see all sprite and set filenames.(Choosing one will have no effect. To erase the current single sprite, click on this erase box.You do get ONE opportunity to reconsider. To make a mask for the current sprite(or invert the current sprite if it is a mask which is not very useful) click on the bottom left box. The set load and save facilities are provided for two reasons.First,although they only load a set with the names MASK_x.SET and SPRITE_x.SET,(x=1 to 8), they can still save loading time between sessions(and anyhow,name changing for more general usage is not all that difficult).The other reason is to provide an interface between this and an Animator I am currently working on.So its not entirely pointless. To select the current sprite,click on the corresponding slot in the top right hand box. To return to the main editor screen, click on any part of the EXIT filled surround to the boxes. Colour Editor ============= Again,selecting the current colour is achieved by left clicking on the desired colour on the colour bar. The red,green and blue components of this colour can then be altered by changing the position of the respective R,G or B slider in its bar. Once defined,a colour set can be saved by clicking on the save icon and following the fileselect procedure. The load icon of course,allows you to load in a saved set of colours. The big colour box and the set of values are on screen for information purposes only.They cannot be clicked. Last of all,to re-enter the main editor,click on the EXIT filled box. Well that's all you need to know. For more information,ring me on (0752)344179 in the evenings(after six O'Clock please)and ask for Steve. (The younger one if your asked!!!!) O.K. off you go.Now there's no excuse for not producing those blockbusting,award-winning pieces of animation that you've had locked up inside.Good luck and see you on the Prizes page! `S` Efv*oM$\ m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALN\Hz2?< NA\pdAxr0XQ)K\NN444Rj||JrBjNuHz?<&NN\NCAp$L Qp Nހ9lrBlJpNNހpMNހ9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa2|a>:><|a4g RGj`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dH"HNBNNBp `p ap Cpln<,(AL$I"vz x `gfURf~QjJFj4\Fk.aPHS&I.N``p???<NM\Qj&_Nu|HQ/g ??<@NAXXfNuJkp%NNu09JBfNu <r$<NuJjDNu @ 2$4BBN(ABJk0!Nux&k@FC Be& B dЄeNu B0dHDDdRdQRBNu&<x*<NdFC Be B djNu B0dDdSkfJAftNuAр[SBNu"l`d&6JBft&&| NuNV"l`ep NCDE"l`d"JBftJEfz&6&&6&&|NuNV"l`ep N c 2$F4BBN(JBgB*#E8#&#Jjh`,J]o6\`6 c 2$4BBN(*#8#&#Jk:JkִEffDbAeABJk0!NuRdQRB`JjҺBf̶fȸA` c 2$4BB*#[8#&#NdJBg*#8#&#JjEJjL`TJ]o\`Jk:JkEffDbAeABJk0!NuRdQRB`JjҺBf̶fȸA`p`pN @ddAgH`p`p9@(9@*BlNuNCpNBENn`C #I3| \ErcJ2W=AN0:Nn0:JkN\Nup`pN0<9@:, INJ@g@8 FN EdbAJfE @e4r$Wf"FANuPRN:LST:AUX:CON:MID:IKB:VID:,J@fC E& B Og& Rgl Ag@ Ug2 Ig $CpNp=`pNAXJ@jNNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNu ::/rI IN<,(k$/<??<?N`NA Jj ?a0NNHrO INLA NBNJ@jD@vqapvN)@p `H@)@prtNAHplrtNB 2pN޾pN޲papaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNuAl 2l 4L VA0000000000prtN9Cp rtNAv` Av `Avl 2l 4)lVHNrAl 2l 4HPrtpgNaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNuAl 2l 4HpirtNp0,Nu0<}N& ?<NNC`&?<NNT"@ C <}N`N@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,N FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HNpNHHPN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)INa: @Jg,Af*EJ, ,F G"P0(1|J#HJ@NHD"NupP$G. R#$4r$2Q ,`(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NހHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNHpZNހA BP"`#|}N\A"H0,tg"Hg \f`A\fS A ENAR@H`2QNuNAH2 @epr0QpptNvpN@9@JpNNހA R4RB`A Gf //o~4$_<F"OSG !H@Ь 2 Q)@RHRprN2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NNV"l`dpNAtrdJhk\QpaNH ld$l`"Hg: k&@0+R`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNA0pNN>$N>$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNJ@gpNu _0HpN _0HpNp"_0HqNBp"_0HqNBE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNVHNu Ihd"*N>$E8*$R`"QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N>$E$R`QˈN ENup`(* 0(iN>$E 4R`Q$D 4R`QˈN DN ENua NuN IHPg"B  g &gNJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNRB0 b b瀀`RB0 fрd`2p <0N>`QNu0g< @g4:8(g* b.&N>SD`Q0$C$RQLjN CNuNpN>p NpA` p9`p:`p;?N>J@fCAHPBHQ?NA\ _JjNNuH&NրNjNuHRp` HRpJQfpNNq Y Qfd ЀЀNuNpNv$_& if"QdփփHRNtNnNt~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@N@L"2` NqR YEjrd0` SjN$_NЀЀ 2$4BBN$_NЀЀN YQf "_Nq*eNtNn*< NqbІSGfN$_NփփHRN $_Nփփ"@HHRNt YQf "_&Nq*eNtNn*<&NqbֆSGfN~$_NЀЀ N" KC`e NV`d \Nv l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNu?k?<NM"UAf J@fH@NuDW?<NMXNu0,p2,rR@RANuS@SA9@p9ArNu9@pN4, 6fprta0,2,NuA4, 6f9@9Ap rt`C l ", Ⲭ dfѬ SA 0! Nup"NNNJfNup#`"p`tdbDA0Hg<<R@f|0HN>*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNuak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuNp`pNu)H9@Jp4NހP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NX  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C\fApNNNjHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Error # ][Abort]\f.B &lX)K\)ld` lp ,BQjNup(NV"l`Yd&-KNNV"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`$Y8gHRDD*D%H8#$c2g# HRDD%H`A%XNXA*NXA1NXNjNjA 0Bm:AB 0AH 0BmRBmXHxpCX~NBm <r$<A NBm <r$<ANA N/AN/pNHPpN"_NHPpN"_NHPpN"_NHPpN"_NHPpN"_NHPpN"<N"_NCX~NNf`xNqNf`TNqBmBm$Bm:HxpC@~NBm <r$<ANBm <r$<ANN:A$NAN/AN/A$NC@~NNf`NqNqNf`NqNqA CNtBm( <r$<A$NN:ANHmANN"_NCNtNf`NqNqp C^NBm6 <r$<A2NA2N/pNHPpN"_NHPpN"_NHPpN"_NHPpN"_NC^NA$ 0 <r$<A$NN:ANA2N/A2NC^NHPpN"_NHPANN"_NC^NNf`NqNqNf`,NqN~NjpNpN޲Bm <r$<ANAN&<x*<NF&<x*<NdNrN0AN&<x*<NF&<x*<Nd&<x*<NdNrNBANNAN&<x*<NF&<x*<NdN/p"NNf`6NqpN޾A6N&<x*<NF&<x*<NdNrN0A6N&<x*<NF&<x*<NdNrNBA6N&<x*<NF&<x*<NdNrNpN޾N~NjA(\NXprN.p"<?NpC^NHPp"< _NpC^NHP <"< _NpC^NHPpr _NpC^NHP <r _NpNprN.p'"<N@?<?<'?<W?<?<?<'~Np&rWNp/"<N. <"<N@?<?</?<?<q?<?<~Npq"<N <rN. <"<N@?<?<?<W?<?<?<~N <rWNp/rN. <rN@?<?</Bg?<q?<?<~NpqrNp*rN. <"<N@p/rN. <"<N@p+rWNp"<N. <"<=N@p"<N. <"<8N@ <"<NANzNTfN,~pNp0rN.ABN&<x*<NdN/AHN&<x*<NdN"NpNNprNNXSprite height:N4NprNNXSprite length:N4NprNNXSpt:A,NXA/4NXNzN~NjANzNTfN-.NLSprite CNtN-BNLMask eCNtpN޲pNp/rN.ABN&<x*<NdN/AHN&<x*<NdN"N@ <"<NANzNTfN.BpNp0rN.ABN&<x*<NdN/AHN&<x*<NdN"NpN?<?<0AN/A NCX~N"NNpr&NAHNNpr&NABNNprNNf 4NprNAN(A N&<x*<NdNpN޲A6N&<x*<NF&<x*<NdNrN0A6N&<x*<NF&<x*<NdNrNBN~NjANzNTfN0pNp "<N. <"<7NBmjCTAZ 0ATN&<x*<NdAZNBmpCNA` 0ANN&<x*<NdA`NA`N&<x*<NdN/AZN&<x*<NdN"N&NAlNvN&<x*<NdN/AfNvN&<x*<NdN"N.AlNvN&<x*<NdN/AfNvN&<x*<NdN"NAlNNf` NqAfNNf`NqA0NXBmN~NjpN޾pN pN޲ANN&<x*<NdN/ATN&<x*<NdN"N.ANN&<x*<NdN/ATN&<x*<NdN"N@pN pN޾N~NjNH A N AN A*NA*N&<x*<NTfN3pAN&<x*<NfN2A4NXN3pA N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp/A N/AN"N&NA6NNpJBgp$VHfN3A9NXN3pA N&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN3fA@PNXN3pA5zNXNN2 WHfN3AA NXA*N&<x*<NTpJBgp/AN&<x*<NpJBgp$VHfN3A_NX`N~NjA N&<x*<NN"A6NNfN5rpN޾A6N&<x*<NF&<x*<NdNrN0A6N&<x*<NF&<x*<NdNrNBA6N&<x*<NF&<x*<NdNrNpN޾A N&<x*<NN"A6NA6N&<x*<NF&<x*<NdNrN0A6N&<x*<NF&<x*<NdNrNBN~NjA N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN6,ALNXN7A N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN6AWDNXN7A N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN7jAB.NXN7A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN7AYNXA~N&<x*<NfN9A N&<x*<NfN8AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN8A;NXN8AN&<x*<NfN8A>NXN9A N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfN9AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN9AA NXN9AN&<x*<NfN9A{4NXBmN~Nj <r$<A NN`vNN"vNA퀄N <r$<ANN`vNN"vNA퀊NA6NN޲A6NNA퀄N&<x*<NdN/A퀊N&<x*<NdN"N.A퀄N&<x*<NdN/A퀊N&<x*<NdN"NA퀄NvNN"A퀄NA퀊NvNN"A퀊NANN&<x*<NdA퀄NNdN/ATN&<x*<NdA퀊NNdN"NA0NX?<?<0ABN&<x*<NdN?AHN&<x*<NdN?AN/A NCX~N" NA0NXpN޲N~NjN@A:\*.SPTHPA HPA""_NHmA "_N$fN>HmN@A:\*.SPT"_N$fN>Hmp"_N.HPN@.SPT"_N$fN<|HmN@.SPT"_NCNtANNJBfN>A0NXpINHPAr"_NprNRC"NtprNRN2N&<x*<NdABNprNRC"NtprNRN2N&<x*<NdAHNpN\AHNABNNFvNA$NAN/A N/A$NNCX~NHmAN/A NCX~N."_NBm0 <r$<A,NBm* <r$<A&Np0rN.ABN&<x*<NdN/AHN&<x*<NdN"N?<?<0A&N/A,NCX~N"N?<?<0ABN&<x*<NdN?AHN&<x*<NdN?A&N/A,NCX~N" NNf`NqNf`Nq?<?<0A"NBmRBmXNA*NXN~NjN@A:\*.SPTHPA HPA""_NHmA "_N$fN@HHmN@A:\*.SPT"_N$fN@HHmp"_N.HPN@.SPT"_N$fN?HmN@.SPT"_NCNtA0NX?<?<0ABN&<x*<NdN?AHN&<x*<NdN?A" NAN/A NCX~NNA$NHmAN/A NCX~N./A$N""_NN~NjAN&<x*<NfN@A@NXN@AN&<x*<NfN@ADtNXN@ANNXN~NjANzNTfN@A 0N@BmNA*NXN~NjHxNLE Do you want to| go back and save| the sprite first| or just quit?4HPNL**Quit**|**Save**4r"_ NA퀺NA퀺N&<x*<NTfNB HxNL| ABSOLUTELY | SURE??| HPNL Umm..no.|Yep.tr"_ NANAN&<x*<NTfNB NjpNN~Nj <r$<AHNN`ATNNfNDlA0NXATN&<x*<NdATN?<?<@?<7?<A" N?<?< A"NpN <"<N. <"<7NBmjATN&<x*<NdAZNATN&<x*<NdAZNBmpCNA` 0ANN&<x*<NdA`NA`N&<x*<NdN/AZN&<x*<NdN"N&NAlNvN&<x*<NdN/AfNvN&<x*<NdN"N.AlNvN&<x*<NdN/AfNvN&<x*<NdN"NAlNNf` NqAfNNf`NqA0NXN~NjNpr%NNX? CHA 0BmLpNA$Np NXA$N&<x*<NpJBgp/A$N&<x*<NpJBgp/A$N&<x*<NpJBgp$VHgNE.`nA$N&<x*<NTfNE^AH H0A$N&<x*<NfNFNpr&N <r$<A$NN`NBm(pNA$Np NXA$N&<x*<NpJBgp/A$N&<x*<NpJBgp$VHgNF` <r$<A$NN`&<x*<NFAHNNdAHNNpr'N <r$<A$NN`NBm(pNA$Np NXA$N&<x*<NpJBgp/A$N&<x*<NpJBgp$VHgNF` <r$<A$NN`AHNNdAHNNpr(N <r$<A$NN`NNpr%Np:N:Bm(AHNzNfNHAHN&<x*<NfNGNDtAHNvNN"AHNN&<x*<NpJBgp/AHN&<x*<NpJBgp$VHfNHNDtNHNDt?<?<0ABN&<x*<NdN?AHN&<x*<NdN?A" NANNHAN/A NCX~NNNL8NTfNHA CNtNLA0NXANAHNNfNJDpNBm0 <r$<A,NBm* <r$<A&Np0rN.ABN&<x*<NdN/AHN&<x*<NdN"N?<?<0A&N/A,NCX~N"N?<?<0ABN&<x*<NdN?AHN&<x*<NdN?A&N/A,NCX~N" NNf`NqNf`NqNpr%NNX: A,NXNLpNp0rN. <"<NpNBm0 <r$<A,NBm* <r$<A&Np0rN.ABN&<x*<NdN/AHN&<x*<NdN"N?<?<0A&N/A,NCX~N"N?<?<0ABN&<x*<NdN?AHN&<x*<NdN?A&N/A,NCX~N" NNf`NqNf`NqAHN&<x*<NdAZN <r$<AZNA` @0ABN&<x*<NdA`NA`N/AZN"NNf`NqNqNf`NqNqATN&<x*<NdAHNNfNLBmXNpr%NNX: A0NXA,NXA/4NXA0NXNLNpr%NNX: A,NXA0NXN~NjATN&<x*<NfNNA0NX <r$<ATNN`ATN?<?< ?<7?<A" N?<?<@A"NpNp "<N.p?"<7NBmjCTAZ 0ATN&<x*<NdAZNBmpCNA` 0ANN&<x*<NdA`NA`N&<x*<NdN/AZN&<x*<NdN"N&NAlNvN&<x*<NdN/AfNvN&<x*<NdN"N.AlNvN&<x*<NdN/AfNvN&<x*<NdN"NAlNNf` NqAfNNf`NqA0NXN~NjNpr%NNX? CBA 0BmFpNA$Np NXA$N&<x*<NpJBgp/A$N&<x*<NpJBgp/A$N&<x*<NpJBgp$VHgNO`nA$N&<x*<NTfNOAB H0A$N&<x*<NfNPNpr&N <r$<A$NN`NBm(pNA$Np NXA$N&<x*<NpJBgp/A$N&<x*<NpJBgp$VHgNP` <r$<A$NN`&<x*<NFABNNdABNNpr'N <r$<A$NN`NBm(pNA$Np NXA$N&<x*<NpJBgp/A$N&<x*<NpJBgp$VHgNQj` <r$<A$NN`ABNNdABNNpr(N <r$<A$NN`NNpr%Np:N:Bm(ABNzNfNRABN&<x*<NfNRNNABNvNN"ABNN&<x*<NpJBgp/ABN&<x*<NpJBgp$VHfNRNNNRNN?<?<0ABN&<x*<NdN?AHN&<x*<NdN?A" NANNHAN/A NCX~NNNL8NTfNS>A CNtNWA6N&<x*<NTfNblA 0Nc>A6N&<x*<NTfNbA 0Nc>A6N&<x*<NTfNbA @0Nc>A6N&<x*<NTfNcA 0Nc>A6N&<x*<NTfNc>A 0A6N&<x*<NTfNctA @0Nd|A6N&<x*<NTfNcA `0Nd|A6N&<x*<NTfNcA 0Nd|A6N&<x*<NTfNdA 0Nd|A6N&<x*<NTfNdLA 0Nd|A6N&<x*<NTfNd|A 00A6N&<x*<NTfNdA @0NeNA6N&<x*<NTfNdA P0NeNA6N&<x*<NTfNeA `0NeNA6N&<x*<NTfNeNA p0N~NjA6N&<x*<NfNeNpr&Np.N:A6NNeNpr&NA6NA[NXAN&<x*<NfNeNpr&Np.N:ANNf Npr&NANpNpC^NHPA6N/pC@~Nn&<x*<N`&<x*<NF&<x*<NdNr _NpC^NHPA6N/pC@~Nn&<x*<N`&<x*<NF&<x*<NdNr3 _NpC^NHPA6N/pC@~Nn&<x*<N`&<x*<NF&<x*<NdNr[ _NAgPNXN~NjA6N/pC@~NnvNHA6N/pC@~NnvNL8NdHA6N/pC@~NnL8NdANAN&<x*<NfNhAN&<x*<NfNh^AN&<x*< NfNh>Npr$NANNhXNpr$Np.N:ANNhzNpr$NNX..ANNhNpr$NNf...4ANNprNA6N/pC@~NnNNprNA6N/pC@~NnNNpr'NA6N/pC@~NnNN~NjNzNH A N AN A*NA*N&<x*<NTfNjAN&<x*<NfNiA4NXA[NXAeVNXA6NNp}"<N. <"<0NpNNjA N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfNjA~ 0NjA N&<x*<NfNjAjNXNjApNXA~N&<x*<NTgNj`.BmN~NjAN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfNp A N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfNl <r$<ANN`&<x*<NN"&<x*<N`ANA6N/BANC@~NpNpC^NHPAN&<x*<N`&<x*<NF&<x*<NdNr _NA6N/pC@~NnNA6N/pC@~NnN@A6N/pC@~NnNWAN??<NN\AgPNXNp A N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfNn| <r$<ANN`&<x*<NN"&<x*<N`ANA6N/HxANC@~NpNpC^NHPAN&<x*<N`&<x*<NF&<x*<NdNr3 _NA6N/pC@~NnNA6N/pC@~NnN@A6N/pC@~NnNWAN??<NN\AgPNXNp A N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfNp <r$<ANN`&<x*<NN"&<x*<N`ANA6N/HxANC@~NpNpC^NHPAN&<x*<N`&<x*<NF&<x*<NdNr[ _NA6N/pC@~NnNA6N/pC@~NnN@A6N/pC@~NnNWAN??<NN\AgPNXN~NjA N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfNs`N@A:\*.COLHPA HPA""_NHmA "_N$fNsTHmNL A:\*..SPT4"_N$fNsTHmp"_N.HPN@.COL"_N$fNqRHmN@.COL"_NCNtHm <@ЍN"_NC6A 0Bm: <r$<A6NA[NXA6N/pC@~NnNA6N/pC@~NnN@A6N/pC@~NnNWAN??<NN\Nf`NqNqCA6 0pNpC^NHPA6N/pC@~Nn&<x*<N`&<x*<NF&<x*<NdNr _NpC^NHPA6N/pC@~Nn&<x*<N`&<x*<NF&<x*<NdNr3 _NpC^NHPA6N/pC@~Nn&<x*<N`&<x*<NF&<x*<NdNr[ _NAgPNXpNNtA N&<x*<NpJBgp/A N&<x*<NpJBgp/AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfNtN@A:\*.COLHPA HPA""_NHmA "_N$fNtHmN@A:\*.SPT"_N$fNtHmp"_N.HPN@.COL"_N$fNtHmN@.COL"_NCNtHm <@ЍN/ <,""_NpNN~NjNpC^NHPpr _Np C^NHPpHr _Np C^NHPp`r _NpC^NHP <r _NpC^NHP <"< _NpC^NHP <"< _NpN޲prN.p3"<N@pDrN.ps"<N@ <rN. <"<N@p"<N. <"<;N@ <"<N. <"<;N@A 0 <r$<&<x*<ANAN"<N.AN"<:NN`NqNqp"<N. <"<NpNANVprNpNpNNprNNfGrab portion of4NprNNfan UNCOMPRESSED4NprNNXDegas Elite fileNprNNfto be used as the4NprNNfcurrent sprite(PI1)4Np rNNfCatalogue files4Np rNNfon current disk4Np rNNf Erase current4NprNNXsprite in memoryNprNNfMake a mask for4NprNNXcurrent spriteNprNNf and make mask4NprNNXthe current spriteA 0 <r$<ANNANNNrNNfSprite 4ANN4NANNNr"NNfMask 4ANN4Nf`NqNqANzNTfNyA큆 =0A큌 0Ny.A큆 0A큌 0pN޾A큆N/A NvN&<x*<NdN"N.A큌N/A NvN&<x*<NdN"N@A큆N/A NvN&<x*<NdN"NA큆N&<x*<NdN/A NvN&<x*<NdN"N. <r$<A큌NN`N/A NvN&<x*<NdN"N@A큆N&<x*<NdN/A NvN&<x*<NdN"NpN޾NprNNf Save sprite4NprNNX and mask setNprNNf Load sprite4NprNNX and mask setN~NjAtNXA{^NXNA*NXN~NjNH A N AN A*NA*NzNgN{`A N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfN}AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN|XAjNXN}AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN|A[NXN}AN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN}$ANXN}AN&<x*<NpJBgp/AN&<x*<NpJBgp/ANzNTpJBgp$VHfN}A4NXN}A~ 0NNA N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfNNAN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN~tANXNNAN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN~A.NXNNAN&<x*<NpJBgp/AN&<x*<NpJBgp$VHfN@ANXNNA~ 0A N&<x*<NpJBgp/A N&<x*<NpJBgp$VHfNA~ 0A~N&<x*<NTgN`BmNBmRBmXA(\NXNN~NjHxN@ |Erase Current| Sprite?HPNL Yep.|NO!!4r"_ NA퀺NA퀺N&<x*<NTfNbAN/A N/A CX~NAN/A N/pNHP <r$<ABNN`NN"_NHPpN"_NHP <r$<AHNN`NN"_NHPpN"_NHPpN"_NHPAHNABNNFvNN/pN"N"_NCX~NN~NjN@A:\*.PI1HPA HPA""_NpNHmA "_N$fNHmN@A:\*.PI1"_N$fNANNJBfNpINHPAr"_NpNA$NpN\A$N&<x*<NTfNHm?<NNTNH <r$<L8N`N"_N?<NNTNH <r$<L8N`N/?<NN\C6A 0Bm <r$<ANCA6 0AbNX?<NNTNH <r$<L8N`HANNL8NdNNAN?<NNTNH <r$<L8N`HANNL8NdNNA$NANvNA$NNdAtNAN/BAtNvNN"C@~NAtNvNN"vNAtNN`AtNAN/HxAtNvNN"C@~NAtNvNN"vNAtNN`AtNAN/HxAtNC@~NNf`\NqCA6 0NH A N AN A*NA*N&<x*<NTgN`pN޾NH AlN AfN A*NA NAlNN`vNN"vNA NNdH <r$<L8N`AlNANAfNN`vNN"vNANNdH <r$<L8N`AfNA N/AN"N.AlN/AfN"N@A*N&<x*<NTfN A N/AN"N.AlN/AfN"N@NjA NAlNNpJBgp/ANAfNNpJBgp$VHfNA*NzNTfNANAfNN`&<x*<NpJBgp/A NAlNN`&<x*<NpJBgp/A NAlNN`&<x*<NpJBgp/ANAfNN`&<x*<NpJBgp$VHfNA N/AN"N.AlN/AfN"N@A N?AN?AlN?AfN?AN/A NCX~N" NA N?AN?AN/A NCX~NHPp _"NAN/A NCX~NHPpr"_N`N2N&<x*<NdABNAN/A NCX~NHPpr"_N`N2N&<x*<NdAHNpNXA N?AN?AN/A NCX~N"NNBm <r$<ANBm <r$<ANBgBgAN/ANCX~N"NBgBg <r$<ABNN`N? <r$<AHNN`N?AN/ANCX~N" NNf`lNqNf`HNqA~ 0A N/AN"N.AlN/AfN"N@A~N&<x*<NTgN`BmNpNAtNXN~NjANzNTfNNA*NXA0NXBmAHNANBmABNA NA N&<x*<NdN/AN&<x*<NdN"N&JWHfN,pN޲A N&<x*<NdN/AN&<x*<NdN"NNvpN޲A N&<x*<NdN/AN&<x*<NdN"NNf`NqNf`NqA 0?<?<0ABN&<x*<NdN?AHN&<x*<NdN?AN/A NCX~N" NNAtNXN~Nj <r$<ANN`vNN"ANANzNTfN~A큆 =0A큌 0NA큆 0A큌 0pN޾A큆N/A NvN&<x*<NdN"N.A큌N/A NvN&<x*<NdN"N@A큆N/A NvN&<x*<NdN"NA큆N&<x*<NdN/A NvN&<x*<NdN"N. <r$<A큌NN`N/A NvN&<x*<NdN"N@A큆N&<x*<NdN/A NvN&<x*<NdN"NpN޾A N&<x*<NfNbA 0CA 0NrBmCA 0ANzNTfNA큆 =0A큌 0NA큆 0A큌 0pN޾A큆N/ANvN&<x*<NdN"N.A큌N/ANvN&<x*<NdN"N@A큆NrNA큆N&<x*<NdN/A NvN&<x*<NdN"N. <r$<A큌NN`N/A NvN&<x*<NdN"N@A큆N&<x*<NdN/A NvN&<x*<NdN"NpN޾N~NjNLSPRITE_4CNtBm <r$<ANAN&<x*<NTfNNLMASK_CNtA 0 <r$<ANNLA:\HPA"_NHPAN&<x*<NdNN"_NHPN@.SET"_NCNtANNJBfNNprNAN(N4HxNL| File in use.| Replace file?HPN@Replace|Cancelr"_ NA퀺NA퀺N&<x*<NTfNANNA~ 0NA~NzNTfNnNNprNAN(N4HmAN/ <r$<ANN`NCX~N./AHNABNNF&<x*<NdN""_NNf`DNqNf`NqAtNXpNN~NjNLA:\SPRITE_1.SETNNJBfNxpINHPNLA:\SPRITE_1.SETr"_NpNJ^HfN CBA큘 0CHA큞 0prNRC"NtprNRN2N&<x*<NdABNprNRC"NtprNRN2N&<x*<NdAHNpN\AHNABNNF&<x*<NfNBm <r$<ANN@ A:\SPRITE_HPAN&<x*<NdNN"_NHPN@.SET"_NCNtNNprNAN(N4ANNJBfNBAN/pNHPABNN"_NHPpN"_NHPAHNN"_NHPpN"_NHPpN"_NHPAHNABNNFvNN/pN"N"_NCX~NHmBANCX~N."_NNf`NqBm <r$<ANN@A:\MASK_HPAN&<x*<NdNN"_NHPN@.SET"_NCNtNNprNAN(N4ANNJBfNHxAN/pNHPABNN"_NHPpN"_NHPAHNN"_NHPpN"_NHPpN"_NHPAHNABNNFvNN/pN"N"_NCX~NNprNAN(N4HmHxANCX~N."_NNf`NqNHxN@"|Set not present,|loading aborted.HPNLRats!r"_ NA퀺NpN\C큘AB 0C큞AH 0NrHxN@"|Set not present,|loading aborted.HPNLRats!r"_ NA퀺NpN\NHxN@"|Set not present,|loading aborted.HPNLRats!r"_ NA퀺NpN\AtNXN~NjNj777000700070007077770707555333733373337377773737601423539635396502443539635396601320000061162175461754617604175461754658602000001638318917353013530136837327693315333345333453315332769327694095340965409656553565532429064289742897429933276940953464214369346421409654096546421409654096565535000002463624678246782467824678246783231600000062641546826214262143235826220262320000015384261722467815462016622775015462000002623826208262082623226208154560627065535327834915958307583395833958307573515735957887578875812758127495433289765535655356351957351501155117136863368633635336353365933684951171501155735163519655356553532783491595833958339583115825557351573475833758353583535833749155327756553565535327693353736801472173689738693382073818165535000001478810380144680832408654655356553565039634956145561455573595735157347573596145563503635516355163519655350091401060010970117000292005850193714753206864726442272425283996832800328003270402730049990828919993331544720534313608473588157927390655033713135035680096000000%4  &"  V ZB  | |&"V " VV "vJ &2VD &" " "t@ &0چ"l N   .&0چ"l N   :.R """""0"""""0"""T " """""0"""""0"""8 & N"" "" 8" &fV6 V8 V88"&^8 &x", HXV V V p VV V V d0|@ J&6J" ~PN" &"ب(::jpXX. Uo?.. UoFLEXI INF!Uo@XFLEXCAT TOS&UoB3,X" EPSON RX80,PP"HEEGFH 3 2 KY**LZ3 3  3 3 3 3AAA 2A$AHCO 2CFO3 22 `z&|ߴ`VNq     --(-(<-             z8<6<><4<|@(o*lNNH5Np+| <* 5*.<-A .v!N><L=A .v!N*~=A .vAN*~=A .v!N~=A .v!N~=A .v!N* ~=~=~=A .v#N~=~=A .v"N*!~=A .v!N~=~=A .v"N~=A .v!N*"~=A .v!N~=A.v!N~=A .v!N~=A.v!N*#~=A.v!N~=A$.v!N*$~=A,.vAN*%~=~=A4.vBN~=~=A<.vBN~=AD.vAN*A~=AL.vAN~=AT.vAN~=A\.vAN~=Ad.vAN*C~=Al.v!N*G><=At.v!N*K~E=A.6<N*P~=A.6<N*T~=A.6<N*U~=A.6<N*WN*Z~=AD.vAN-.N-.NjNv ^ *[~=A .v!N+G*] |N*^NjNLOADING FLEXI.INFNN*_N FLEXI.INF-~=A .v!NNt*a`:Nq*cNjNFLEXI.INF NOT FOUNDNN~DGNvN*eN*gNP*i | 6N*kNB:\2<N*lNV*n>-H+G*p~H->-H-~HAN8`tNq*q>-=.-/>H-.DޞNv-~HNJGf`Nq~H+G`"Nq>-=.-/>H-.DޞNv+G*s~H-.--~HAN8`Nq*t.--A.6<NP-.--.-ޞNv-A.6<NP-.--.-ޞNv-A.6<NPN\N*uNj.--A.6<NPNN*vN*v;Gt*w mtg` Nq`(|Nq*xANr`8Nq*yN "*zANr`Nq*}N*~NF~DGNvN*`0NqNT+L+O*~?NTOH*N\Nu*`NqNT+L+OpN*A.-.,N*Nv ^ *.,-~HNJGg` Nq`2NqA.-NDrive not readyN*`Nq.,-~HNJGg` Nq`,NqA.-N Seek errorN*`Nq.,-~ HNJGg` Nq`.NqA.-N Write errorN*`Nq.,-~ HNJGg` Nq`,NqA.-N Read errorN*`:Nq.,-~ HNJGg` Nq`2NqA.-NWrite protectedN*`Nq.,-~!HNJGg` Nq`0NqA.-NFile not foundN*`Nq.,-~"HNJGg` Nq`0NqA.-NPath not foundN*`ZNq.,-~$HNJGg` Nq`0NqA.-N Access deniedN*`Nq.,-~'HNJGg` Nq`6NqA.-NInsufficient memoryN*`Nq.,-><HNJGg` Nq`0NqA.-N Reset printerN*`tNq.,-><HNJGg` Nq`2NqA.-NPrinter sleepingN*`&NqA.-NTOS ERROR ENUM&N*NjA.NN*NN\Nu*`RNqNT+L+O*A.-.,-><HΞ-><NH.NHLNNvH~NNNvNNv ^ *A.-.,-.,-~pHΞ-~NH.NHLNNvH~ NNNvH.NHLNNvNNv ^ *A.-.,-.,-~HΞ-~H"NNNvNH.NHLNNvNNv ^ *A.-., ^ *.,N\Nu*` TNqNT+L+OpN*A.-~ ^0*A.-.--A.6<NPN*NjA.NN*A.-A.-~NNA.-A.-~=~NXNA.-A.-~NN*A.-NneoNJGf`:NqA.-~H ^ A.-><H ^ A.-~ ^0`zNq*A.-NPINJGf`JNqA.-~H ^ A.-~"H ^ A.-A.N=~1DG^Nv ^0`Nq*`Nq*A.pN-A.rN.-A./.-~?.-N`NOH* ^0>,=~NJGf`&Nq>,H/N XOH*`Nq*A.-.,/.->,?.-~?.-NPOH* ^ .,-~HNJGf`$Nq.,/N XOH*`lNq*A.->,?.-~ H/.-.--.<}-.-"NNNvޞNv/.-NO H* ^ .,-~HNJGf`$Nq.,/N XOH*`Nq*A.-.,/.->,?.-~?.-NPOH* ^ .,-~HNJGf`$Nq.,/N XOH*`^Nq*.--A .v!NP->, ^0*>, Gg`zNq.--~H-A<.vBNP-.<H ^ .--~H-A<.vBNP-.<I ^ +| <.--A.v!NP-~ ^0*`Nq>, Gg`zNq.--~H-A<.vBNP-.<H ^ .--~H-A<.vBNP-.<J ^ +|?<.--A.v!NP-~ ^0*`Nq>, Gg`nNq.--~H-A<.vBNP-.<I ^ .--~H-A<.vBNP-.<J ^ +|N<.--A.v!NP-~ ^0*.--~H-A4.vBNP-.--~H-A<.vBNP G.-.<AN`Nv ^ .--~H-A4.vBNP-.--~H-A<.vBNP G.-.<AN`Nv ^ *.--A.v!NP-.--~H-A<.vBNP G.-.<AN`NvN0GgNNv ^0.--A$.v!NP-.--~H-A<.vBNP G.-.<AN`NvN0GgNNv ^0*A.-NNv ^0*~=>,=~AN`NqA.-NNv ^0.-->,H-A .v"NP-.--.<}-.-"NNNvޞNv-~=>,0GgNHޞNv G>=><w^ ^0AN&`~Nq*.--A .v!NP G> Gg`Nq*.--~H-A .v"NP G>=~^JGf`XNq*.--~H-A .v"NP-><w ^0.--~H-A .v"NP-~ ^0*`LNq*.--~H-A .v"NP-~ ^0.--~H-A .v"NP-><w ^0*A.->,?.-.<}/.-.--.<}-.-"NNNvޞNv/.-NO H* ^ *.,-><}HNJGf`$Nq.,/N XOH*`NqA.-~DGNv ^0*A.->,?.-NzTOH* ^0*A.->, ^0*>,NN\Nu*`NqNT+L+O*A.-~=A .v!N G> ^0*A.-~=A .v!N->,HޞNv-~HޞNv ^ *A.-.,->,0GgNHޞNv ^ *A.-., ^ *.,N\Nu*`"NqNT+L+O*.,-NN*A.->, ?.-N TOH* ^ *A.-., G~ ^0>,=~ NJGf`NqA.-~ ^0*~=>,=~AN`fNq*A.-.,->,HޞNv G~ ^0*.,-.,->,NNN\N*AN&`Nq*N\Nu*`NqNT+L+O*A.-~=A .v!N G> ^0*A.-~=A .v!N->,HޞNv-~HޞNv ^ *A.-.,->,GNvHޞNv ^ *A.-., ^ *.,N\Nu*`hNqNT+L+O*A.->,?.-NTOH* G> ^0*A.->, ^0*>,N\Nu*`|NqNT+L+OpN*A.-~=A .v!N G> ^0*A.-~=A .v!N->,HޞNv ^ *A.-NN*~=~=~AN`Nq*A.-.,->,HޞNv G~ ^0*>,JGg` Nq`BNq*A.-A.->,NNN\N*AN&`Nq*A.-NNJGf`NqA.-NNONAMEN*A.2<N*NN\Nu*`2NqNT+L+O*A.-~H ^ *A.->,?.-., /.-.,/.-NLO H*H ^ *.,-~DGNvHNJGf`Nq><H/N XOH* .,-~HNJGf`6Nq><H/N XOH* A.-~H ^ `NqA.-~H ^ * A.-.,0GgN ^0* >,N\Nu* `jNqNT+L+O*A.-~?.-.,N/.-.,N/.-NO H* ^0*>,N\Nu*`NqNT+L+O*~=~=~AN`,Nq>,=A.v!N-~ ^0AN&`Nq*.--~HNJGg` Nq`Nq+|W<*`Nq.--~HNJGg` Nq`Nq+|c<*`\Nq.--~HNJGg` Nq`Nq+|r<*`*Nq.--~HNJGg` Nq` Nq+|<*A6.-NNv ^0>-6=~DG^Nv;G6~=>-6=~AN`0Nq>,=A.v!N-NNv ^0AN&`Nq*A.-N Nv ^ A.-N Nv ^ *N\Nu*&`jNqNT+L+OpN*0Bm~=>-DG^Nv;G*3N^*5>-6RGNv=A.v!N->-4 ^0*6A.->-4 ^0*7~=>-6=~AN`Nq*8>,RGNv=A.v!N G>=>,=A.v!N G>DG^Nv=>,NJGf`HNqA.->,RGNv=A.v!N G>=>,=A.v!N G>DG^Nv ^0*9AN&`ZNq*:A.-~P=.-v/>N-.NjNv ^ *;>,=.,/>N-.NjNv-.<33ENNv+Gz*<>-=AD.vAN G.+G~~=.-~/>N-.NjNv+G*=>-DG Nv=A.6<N2<|N*>>-D=~DG^Nv=A .v!N G>=.-v/>N-.NjNv+G*?>-D=~DG^Nv=A .v!N G>=.<G/>N-.NjNv+G*@.-z-.<33ENjNv-.-NNvNN0GgNNv;GP*C.--.-zNJGf` Nq.-z+G*D.--.-NNv+G*E.--.-zNJGf` Nq.-z+G*GA.-.--.<33ENjNv-.-NNv-.<@NvNvN-.-NjNv-.<33ENNv ^ *H.,-.<33ENjNv-.-NNv-.<@NvNvN-.<ANvNv+G*I.-->-PNNJGf`Nq>-PN+G*J.--.<33ENjNv->-FNNNv-.<@NvNv/NL~XOH*J-~HޞNvN+G*L~H-.--~HAN8`Nq*M.--A,.vANP-.-->-H-A<.vBNP G.-.<ANNv-.< :N`Nv-.--.<AN`NvNjNv ^ *N.--AT.vANP-.-->-H-A<.vBNP G.-.<ANNv-.< :N`Nv-.--.<AN`NvNjNv ^ *O.--A\.vANP-.--AT.vANP G.->-HNNNv ^ *P.--Ad.vANP-.--AT.vANP G.->- NNjNv ^ *QANr`Nq*T.--.<AN`Nv->-FNNjNv+G*U.-->-HNNjNv-.<o7N`NvN+G*W.--.-NNv/.NNv-.N +G*X.--~HNJGf`Nq.-NNNv+G*Y.-N-.-NH.NHLNNvH.-NNNvN-6=~A8N`Nq*]>-8=A .v!N->-8=A.v!N G>=>,DG^Nv ^0*^A.->-8=A.v!N G>=>,^Nv ^0*_A8N&`~Nq*b~=>-LH/>=>-D=~DG^Nv?>=NP\OH*b-~HΞ/>H-.ޞNv0GgN;G2*dA|.->-R?.->-T?.-.-0GgN?.-NL\OH*dN\2<|N*hBmZBm^*iBmfA.-~ ^0A.-~ ^0A.-~ ^0A.-~ ^0*jJmdf`PNq*l>-d Gg`Nq;|Z;|^*m` Nq>-d Gg`Nq;|ZBm^*sJmdf`4Nq*t;|h*u;|j*v;|l*w;|n*z~H-.--~HAN8`$Nq*{N;6*|ANr`Nq*JmZf`Nq*Jm\f`DNq*;|f*A.-~ ^0A.->-^RGNv ^0*`8Nq*;|f*A.-~ ^0A.->-^RGNv ^0*pN~=A.6<NrNA./NNOH*JGf` Nq`Nq*~H-.-NNv-~HAN8`Nq*pN~=A.6<NrNA./NNOH*JGf` Nq`Nq*>,=>,=~DGNvAN` Nq* mfg`^NqpN~=>,^Nv=A.6<NrNA./NNOH*JGf` Nq`~Nq*~=>- =~DG^Nv=~A"N`Nq*>,=>,=~DGNvAN`tNq* mfg`^NqpN~=>,^Nv=A.6<NrNA./NNOH*JGf` Nq`Nq*>-f=~NJGf`Nq>,;G(` Nq>,;G(*N1*JGf` Nq`lNq*>-f Gg>-f Gg`Nq*>-"=>- =~DG^NvNJGf`fNq*pN~=A.6<NrNA./NNOH*JGf` Nq`Nq*`dNq*pN~=>-"^Nv=A.6<NrNA./NNOH*JGf` Nq`^Nq*`Nq>-f Gg`rNq>,=>,NJGf`ZNq*pN~=A.6<NrNA./NNOH*JGf` Nq`Nq*AN&`Nq* mfg`Nq*>-"=>- =~DG^NvNJGf`fNq*pN~=A.6<NrNA./NNOH*JGf` Nq`,Nq*`dNq*pN~=>-"^Nv=A.6<NrNA./NNOH*JGf` Nq`Nq*A"N&`\Nq*>-f=~N=>,=>,N^JGf`Nq*>- =~NJGf`nNq*pN~&=>- ^Nv=~DG^Nv=A.6<NrNA./NNOH*JGf` Nq`Nq*AN&`Nq*pN~=>- ^Nv=~DG^Nv=A.6<NrNA./NNOH*JGf` Nq`zNq*ANr`Nq*pN~=A.6<NrNA./NNOH*JGf` Nq`Nq*`Nq*NN\Nu*`-6=~AN`Nq*>,H+G*>-2?>-J=~DG^Nv?>-JGNv=~DG^Nv?.--.<AN`NvN0GgNNv?>-?>,=A .v!N G>=>-.=>,=A .v!N G>=~N^^Nv?NO H*~=A .v!N/.--.<}->,H"NNNvޞNv/~?~?>,=A.v!N G>?>,=A$.v!N G>?>,=A,.vAN G./NOH*A.pN-~=A.6<NrN.-A./.-NNOH* ^0>,JGf` Nq`*Nq*N6*>-t?NhTOH*~=>-H=~DG^Nv=~AN`0Nq*>-X?.-->,=A\.vAN G.NH.NHLNNvH>,=>,=AT.vAN G./>N-.NNvNNNvH>-"=>,=Ad.vAN G./>N-.NNvNNNvNNVNv?>-J?>-V?>,?>-N?>-JGNv=~DG^Nv?.-->-HH"NNNv/NzOH*AN&`Nq*A.->-t?.-NTOH* ^0*A.pN->,=A .v!N G>H-~ N-A|.N\rN.-A./.-NNOH* ^0>,JGf` Nq`Nq*A.-~?.-~=A .v!N/.-.-->-JH"NNNv/.-NO H* ^0>,JGf` Nq`Nq*A.pN-~=A.6<NrN.-A./.-NNOH* ^0>,JGf` Nq`Nq*AN&`Nq*A.->, ^0*>,N\Nu*`NqNT+L+O*>-( Gg`Nq*>- Gg`Nq+|<*`Nq>- Gg`4Nq m"g`Nq+|<` Nq+|<*`Nq>- Gg`pNq*>-" Gg`Nq+|)<*`DNq>-" Gg`Nq+|Y<*`Nq>-" Gg` Nq+|<*~=~=~AN`Nq*A.-NNv ^0*~=~=~AN`xNq*.-->,H-~H-A .v#NP G>=>,NJGf`&Nq*>,=A .v!N->, ^0*AN&`Nq*AN&`FNq*`Nq>-( Gg,>-( Gg >-( Gg>-( Gg`hNq~=~=~AN`PNq>,=A .v!N-.-->,H->-(H-A .v#NP G> ^0AN&`Nq*.--A .v!NP G>=>-.=.--A .v!NP G>=~N^^Nv?~=A .v!N/N\OH*N\Nu*`FNqNT+L+O*., G> Gg`Nq+|<*`Nq., G> Gg`Nq+|<*`vNq., G> Gg`Nq+|<*`LNq., G> Gg`Nq+|<*`"Nq., G> Gg` Nq+|<*~=~=~AN`FNq*., G>=>,=A .v"N-NNv ^0*AN&`Nq*N\Nu* `@NqNT+L+O*'~?Ah./A./N9O H*(~?Aj./A./N9O H*)~?Al./A./N9O H**~?An./A./N9O H*.A.-~ ^0*/.--.<}-.-"NNNvޞNv/.--A .v!NP G>?NL\OH*/;G**0A.->-*H ^ *1A.-.,-.<Ξ ^ *2~=~=~AN`zNq*3~=~=~AN`,H->,H-A .v#NP-~ ^0AN&`Nq*4>,=A .v!N-~DGNv ^0*5>,=A .v!N-~-.,Ξ0GgN ^0*6>,=A .v!N G> Gg`NqA.->,RGNv ^0*7>,=A .v!N-~DGNv ^0>,=A .vAN-~DGNvH ^ *8A.-.,/.-~?.-NP\OH*8 ^ *9AN&`Nq*;~=.--A.v!NP G>=~AN`Nq*<>,=A .v!N G>JGf`Nq*=>,=A .v!N->, ^0*>>,=A .vAN-.-->,H-A .v"NP G>H/.-N TXOH*>NNv ^ *@A.-.-->,H-A .v"NP G>=><w^ ^0*AJm,f`NqA.->,=><w0G ^0*CA.->,=><^=.<I/>N-.NjNvN0GgNNv ^0*DA.->,=~p^=.<E/>N-.NjNvN0GgNNv ^0*EA.->,=~^ ^0*FA.->,=>,N=>,=>,N^ ^0*HA.-~=>,DG^Nv ^0*J>,FJGf`Nq*KA.-~=>,DG^Nv ^0*LA.-~=>,DG^Nv ^0*M.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*N.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*O.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*P`Nq*QJm^f`Nq*R.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*S.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*T.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*U`Nq*V.-->,H-~H-A .v#NP-~ ^0*W.-->,H-~H-A .v#NP-~ ^0*X.-->,H-~H-A .v#NP-~ ^0*Y.-->,H-~H-A .v#NP-~=>,=A .v"N> ^0*]AN&`Nq*_~=.--A.v!NP G>=~DG^Nv=~AN`HNq*`>,=A .v!N G>JGf`Nq*a>,RGNv=.--A.v!NP G>=~AN`Nq*b>,=A .vAN G.->,=A .vAN G.NJGf`Nq*c>,=A .v!N-~ ^0>,=A .vAN-~DGNvH ^ >,=A .v!N->, ^0*dA.->,=~DG^Nv ^0*fAN&`2Nq*hAN&`Nq*i~=.--A.v!NP G>=~AN`>Nq*j>,=A .v!N G>JGf`Nq*lAN&`Nq*nA.-~ ^0*o~=.--A.v!NP G>=~DG^Nv=~AN`Nq*p>,=A .vAN G.->,RGNv=A .vAN G.NJGf`nNqA.-~ ^0>,=A .vAN->,RGNv=A .vANNR>,=A .v!N->,RGNv=A .v!NNF*qAN&`@Nq*r>,JGg` Nq`Nq*s`Nq*u>-.=.--A .v!NP G>=~N^JGf`Nq*v.--~H-A .v"NP G>=~^=>-,NJGf`8Nq*wJm^f`Nq+|1<` Nq+|<*x`,Nq*yJm^f`Nq+||<` Nq+|<*|~=~=~AN`Nq*}.-->,H-~H-A .v#NP-NNv ^0*~~=~=~AN`rNq*A.-NNv ^0.-->,H->,H-A .v#NP->,=>,=A .v"N> ^0*AN&`Nq*AN&`2Nq*`VNq*>,=~NJGf`Nq*A.-.,=~DG^NvNNjNv ^ *~=>,=~DG^Nv=~AN`zNq.-->,=A .v!N G>H-~H-A .v#NP->,=.,/>N-.NNvNN0GgNNv ^0AN&`Nq*`Nq*.--~=A .v!N G>H-~H-A .v#NP-~ ^0*~=A .v!N G>JGg`dNq*~=~=~AN`:Nq.-->,H-~H-A .v#NP-~ ^0AN&`Nq*`0Nq*.--~H-~H-A .v#NP-~ ^0*~=.--A.v!NP G>=~AN`Nq*>,=A .v!N G>=~DGNvNJGf`fNq*.-->,H-~H-A .v#NP-.-->,=A .v!N G>H-~H-A .v#NP G> ^0*AN&`\Nq*Jm,f`Nq*~=~=~AN`dNq.-->,H-~H-A .v#NP-.-->,H-~H-A .v#NP G>=~0G ^0AN&`Nq*Jm0f`Nq*~=~=~AN`Nq*.-->,H-~H-A .v#NP G>=~NJGf`2Nq.-->,H-~H-A .v#NP-~ ^0`,Nq.-->,H-~H-A .v#NP-~ ^0*AN&`^Nq*N\Nu*`HNqNT+L+O*A.-.,-.<@N`NvNNv ^ *.,N\Nu*`NqNT+L+OpN*A.-NN>, =>, ^NvJGf`@Nq*A.->,NZNA.-A.-A.N-~HDޞNvNNA.-N0000-A.N\->, NN*>, Gg>, Gg`Nq~=>, =~AN`Nq*A.->,=><NNv ^0A.->,=.<I/>N-.NjNvNN0GgNNv ^0*>, Gg`.NqA.-A.->,NNN\N`(NqA.->,NN-A.N\N*AN&`,Nq*`Nq>, Gg`"NqA.-A.N*`zNq>, Gg`zNq~=>, =~AN`TNqA.-A.-A.->,=~NXN=~0DG^NvNNN\NAN&`Nq*`Nq>, Gg`dNq~=>, =~AN`>NqA.-A.->,=~NX-A.N\NAN&`Nq*`Nq>, Gg`nNq~=>, =~AN`TNqA.-A.->,=~NXN=~0DG^NvNN-A.N\NAN&`Nq*A.-A.N*A.NNN\Nu*`8NqNT+L+O*~?NTOH*;G4*~ ?NTOH*=.<D/>N-.NjNv+Gv*~=~=~AN`PNq>,=A .v!N-~ =>,^Nv?.-NTOH* ^0AN&`Nq*~?NTOH*;GL*~?NTOH*;GT*~?NTOH*;GR*~?NTOH*;Gp*~?NTOH*;GV*~?NTOH*;GX*~?NTOH*;GH*~?NTOH*;GF*~?NTOH*;Gr*~ ?NTOH*;Gb*~!?NTOH*;G`*~"?NTOH*;G\*>-H^GNv=~NNv;GJ*~=>-F=~xN=~^^Nv;GN*~=~E=~AN`HNq*>,?>,=A.6<N/N\OH*AN&`Nq*>-p=~N=~=A.6<NN-~HN^=~=A.6<NN-~HN^JGf`JNq*Bmp~=A.6<N-NN~=A.6<N-NN*>-p?~=A.6<NN/~=A.6<NN0GgN?NɲPOH*BmD*~=~=~AN`~Nq*~ =>,^Nv=A.6<N-NN=>,=A .v!N G>=~NΎ^JGg`Nq>,RGNv;GD*AN&`Nq*;mr *;mbd*Bm,*;|.*Bm0*~?~=A.6<NN/~=A.6<NN0GgN?N POH*~?~=A.6<NN/~=A.6<NN0GgN?N POH*~?~=A.6<NN/~=A.6<NN0GgN?N POH*A.-N* ^0*>,GANvNN-N:\N\2<N*N.*N\Nu*`dNqNT+L+O*Bm;|* A.-N* ^ * ~=Al.v!N/NXOH* Bm>-=At.v!N-~ ^0* A.-NX4* ^0* A.N(>-XGNv=A.6<N*A.N(>-XGNv=A.6<N*BmBmBm*>-=At.v!N-~ ^0*A.-NX4* ^0*.,/NXOH*N\Nu*`:NqNT+L+O*Bm*pNA.-N*.*N\rNA./~?NNOH*N+G*.--~NJGf`Nq;m`Nq*~=Al.v!N+G*.--~HޞNv G~=~^;GN2<N*!.--~HޞNv G~N+G*".--~NJGf` Nq`XNq*#A.-.-N0GgNNvNNN\2<N*$A. GRNv*%`lNq*&>-=~^JGg`\Nq*'~H-A.-N.NEON0GgN;G*(~H-A.-N.PI1N0GgN;G*)~H-A.-N.PI2N0GgN;G**~H-A.-N.PI3N0GgN;G*+>-=>-^=>-^=>-^JGf`pNq*,RmNv*- mg`PNq*.>-=A.6<N-A.N*/>-=A.6<N-A.N*3N*3N+G*4.--~NJGf`Nq*5;m*6`Nq*8`VNq*:A.-~DGNv ^0*;pNA.-N*.*N\rNA./~?NNOH*;N+G*<.--~NJGf`"Nq*=;mN^v*=`0Nq*AA. GRPNv*B~=Al.v!N+G*C.--~HޞNv G~=~^;GN2<N*E.--~HޞNv G~N+G*F.--~NJGf` Nq`XNq*GA.-.-N0GgNNvNNN\2<N*HA. GRNv*J`lNq*L>-=~^JGf`Nq*MA.-~=~NX-N.N:JGf`Nq*N>,=>-=At.v!N G>NJGf`bNq*O>-=At.v!N->,RGNv ^0*PA./N_4XOH*QNX4*Q;G`Nq*UN*UN+G*V.--~NJGf`"Nq*W;mN^v*W`Nq*Y`Nq*[A.->- ^0*\>,N\Nu*^`NqNT+L+O*_>-=~NJGf` Nq`~Nq*aA.-~H-A.N-~HDޞNvNJ2<N*bA.-~N-N\NJGf`Nq*c>-=~DG^Nv;G*dN\Nu*f`xNqNT+L+O*gA.-.,N\-N\N\2<N*h>-RGNv;G*i>-=At.v!N-~ ^0*jN\Nu*k~N O/0C0<HЈ",Іd䒆 Ь `H`// Bg?<JNAO JfLEA@,A0,Hp!!!.HA 0D"MBQ;@+F +LfSE;ED;D CaRHNHz+_>d`8<ae <{dNuafgSetHB Vfd`z`z Ga& ^.`aJfgSetHB Vf֘d`ac`ad`a e`ab`aSe Se gNuJNu G&$P(<Ƅ VȐ"hNu Ga("P~gNua Ga.Nuxa.Nu("hNu/ a _`* >HǏNu0HiH@>Nu&a^.Nu H@g(Jg$HAJ@gJAfHA`JAgH@HAJAf ށeNu~NuDNu$JnDJnDai JkJjDNuJgF //JjDJjDp"~ҁU@D@އeRQ jD jDNuNu^_HNu^]HNu^WHNu^fNu^\HNu^^HNu~Nu_HNu]HNuWHNufNu\HNu^HNu~NuJGjDGNuJjDNu GaL4)k2BHҁC. Nuv!`:FBH*6HÖk&n"UDk>HǞkn"aևQ"`L` GaJgH<fZxCiff4)C k2BCHUDk0BAҀQ8. NuHxCSDt =QaL`a 3a a a a  FBH*&k趙nUDk.k־n"aևQ"` Ga.JgV<fxCift4)C kJ^f2BCHUDkJ^fx0BAҀQ8. NuHxCSDt -QaL` GJf.4-4/ x$Nr6ASAHDJDfHD0BkR@Q/ pgaC2 AA ?H؁a222"8B2HR2 UAk0B22R@Q2prHASCd2`"Qd&_Nu2 4BSAA M BC p0 !Q&_ GJfb4-4/ H/~$Nz6ESE"kJRaRQ( pgaC2 AA?H؁a222FY"."R: UEk"""RaQ(*`0 GaV<f()aB` ^"G002Nu ^"G  "Nu ^"GL !iHNu?a Jg0if$Ip0Nua : a 4,a+B_HNu,a+6]HNuWHNuVHNu,a+\HNu,a+^HNu,<@Jj<a(h*tNuai 0GgDNu,a G`(V&g aJjfNu,<`(Pg @cre_c BNu~NuH?@.N"Op QLNu(j (u@#< k:9/6ɿ2_2/ ,*(ԥ%C@"k( $P@  =nѷYŬG7ֿwp_Aܯ ٌ .BҴ$5ϐ|敔ȸw2œJ~ePm%tѸv z Jgkzއ[ Fn| Fmn8DD/A p@<&0@ W.:BEHExHCڃHG6ڃdR:HEOޅkއSFdRFv 8fi FgNu~NuJDk~HFJ<Nu~|ag*e -WHFag .fagnS<NuafVafdRFa~g .fatg Eg<ef0adge -WaTf8aNf DbE`JjDDDSN .fa(faeSF`&eeeևe ևeօe.NuzgLSg< g< g< g< g` +g -g 0e 9bDNuDNuDNuO// ?<JH>f~A?|+."jT/"<HFvA`Pmn d \HSC`ARCPng`ASCPmg/|E+00,4jDBT/- B eR/.B //tC$JjJ(fB8X*x UeBޅ D0Q>HL|TNuHFo GbAp 5dSGfxA/|E+00|+ `d/ .gR :fR0`RR~1HGHG Ef (+VfR :f$ R ` h01f|+S /f S _ Eg0`LNuH.f 0tLNu,ap"OE` 5e / ".gR :f0`|1RG$_ Eg0`<-gr |RE "0V|ddJFgJGn0D@F|dP` |>|dD`(.0D@S@e0`0S@f$LNu0S@f0Gc.S@f`SFg .SFfSGE+00JGlDGT(| eR(G ` H@GA6a G@VGa GUU|vGap`F(*`A"a6Jvg mvNJga"`A a"aFJUgAar2a2NuSe<dAaAJgJfS`LIBRARYSTARTUPOPENPEEK/POKEBLOAD/SAVESOUNDLOCATEINKEY$GEMDOSDIMARRAYBLITREDIMCVsMID$==MID$RIGHT$ASCINSTRPALETTEMALLOCMENUSCREENSQRTWINDOWJOYSTICKTIMEDATEMOUSELOG Y8 Runtime error at line in module on #A+HvNuA g<PdJfSfNuRETURN without GOSUBOut of DATAIllegal function callArithmetic overflowOut of memorySubscript out of rangeRedimensioned arrayDivision by zeroType mismatchString formula too complexRESUME without errorLine buffer overflowWrong number of dimensionsFIELD overflowInternal errorBad channel numberFile not foundBad file modeDevice I/O errorDisk fullInput past endBad record numberBad file nameToo many filesDevice unavailableDisk write protectedPath/file access errorPath not foundBREAK pressedFatal bus errorFatal address errorApa+@0Apa+@(Apa+@,NuaHm|9|rPJ-6fr(A|a>ra,rwa&Q"B,#`H Lpa#L (IL)HNu l p`&_|dVA`d&FLLn0kN0SN0kNp*JgHP0SNL fS`NuzpgH P0SNL f < gR`"NupJgH P0kNL fS``<daTa@pNupDNu`aHz<d̰<ga"Va`-5f -5fNuH?<?<NMXJ@gN/<NMX-5g<g,-5g*<f$/<NMX<g-5g<faM+@LNuJ,"gHra~rfaxLNuHrahrf,"a^LJNu<dA`HL.6H>HHHHd Q"aapNuP"pNuQ"pNur,#pNupDNuB,B,#rarE`pNu|dp,@dAB#A B H`rarYaL8a`/ Jikrarba"W2)a2A az"WJikralrcaf"_2)aA `VXpNu?AA,0-0|gS@gA 00Nu    H @rareaLx*&I/ at&_< gT< gN<g <g< eںgHR/ a|&_`JgSJ,gS,/ rar ara&_`r ar a"p@Nu?,?<NMX<f lf -5frpNu?r aFr ax2< gp< g4R,,g,e lf< d<g<d<dp`0,<f< f ,#dR,#A???<NM\Jlg pNuB,`Rgp9Nu0,??<NMXrJfrpNuSgSgUg|SgpDNu&fvRBg/?<=NAJkb8>N?|NAJfPP0(<(؃Aa6)mV)C)C$)C |||9@p)@@)@NuPH`t9+@8lAgf LNuF5LCKKBg/?<NAXapNu`8,<d$ gA @N.X@(ḛ|dA`d|p<gJf",gaBf atrpNur)ApNuHl(/, ??<?NAO Jk)@gB$Nup>Nua ,$e agp>)@NuA(r0R<gR$pNua",g$S)AS$dBg?/?<BNAO JkavpNuapDNuax?(,$gA($e(٬٬$a8Jg*)l$/ /??<?NA"/O Jk ѬfHpNua$< g4< g2R,,g(,d"B O | ApB,aXNuB,I? OpaTNuJg&//??<@NA$/O "Jkpgp=Nup"Nua  IJ,f6,Sev H x ggRQdAL0`r`Jg, I,< g< gReSf C`Zv`SH @vapAaBLgNu fXp6Nufp6XNuaB$BSt QdBg?/?<BNA"/O f Hl(/,??<?NAO Jkgr)ApNuaB$Bg?/?<BNA"/O Jl |fZ/?<?B?<BNAO "Jk@g(*HEJEgpH@ @ajf(SE`HE  |aVf ,B$A(aDfNu` f(Jj", )A R $,GaT"GA( ,NuXp6Nu?<?B?<BNAO /?<?B?<BNAO "&Bg?/?<BNAff$, `$/`$,"O pNua Tp6Nu< g,< gR,,g,e&,$d 8(R$pNuB,`?r ar a2`p2Nu",pNuPRT:AUX:MID:KBD:LST:H@b0HCAaײg (IpLNuLp4Nu8<0DaQNuH@af Hp0a L LJNu lN -f ?.ab6 Vaֈ"0HC Iaf ^aHT ^`@a6v`a.paf fpra`0|aSH0fNuJGo |d0GNu0Gp4`L;m.$Nua;G$Nu;|$Nu Ga$0m$paf G`ռp0m$aVHA86HBrBDHAJAgHAJCgAcVB8SDpr a&QNuJGo8SD0m$`JGkg.p0m$agJBgHGJGgHBRBBdBSGHzCt0m$p` g./ m fAN _`??<?<NM\Nu/<NMXNuC-Nu>-Nup+@z;@~;@;@NuJ-~g0-vBU`Fa00v`:+HzNuJzg6J-~f0|g*|Mg$|Ng|OgX;D;m/-zBzP~Nua fNuX`~`&~|f~`Aa a0<f~a??<LNAq Y8 Program terminated - press a key to exitA$a _aJUgA&ar2a`x pFATAL ERROR:  at line HF~Jg*]lDvUt QCt壌JgGNuF"&g.pC2DC|m|4n Q,JlDk.Nu~DNu~Nup"DjDG@AB|Ab DSGkUĆQ(k(j2xc 0D@`fc 0D@`D@@`D@@ԆӅdf UĆR@(fJk0<NuJkJkxAS@J[NuJkV`LHaLHav$OaO `HВR@,@L0 : 8 HB.ڄGHGH@EHE>߃8 < : HBކ,CޅCބC8HFHB: ؅C: ؅C: HA؅CHFHGDHGHDDHFCHF8*܄C8 ܄CHA8 ܄C86 HA؃vHECHEHFDHFHDDHECHE8ڄ"$&@H@@ JmS@|fJf JfS@LXNuLH,.ahLHa\v$OaO `LD@؀ D(*H8x8pJff f0`(e 0USjpRSfЎg0L JkS@|fJf JfS@Nua8 g0HGOGG,H@O@@HGBG p̀Nu|Nuއg HGNu gV H@H@@mH|lFJj@H@VHFNFr FJgdH@Ri H@.<H@Nu~NuDNu/ aJEk6|d WAPd"HpEah( "_Nupa\D+r2a`DE" 4E|d" ICP$ISESA Q<0Q.`paD-| d0` oE c I`S@f.RNuvgv I0<0QJf JfzvRNuH(I??<HA~aVe*AaNeAnaVo`A`a8ezAa@Ro`Ada$dADaBo`A.adPAa,So`LfNuLLaPHNuLLHaLHNuGLLaap0JgaLaLaHQKA&a~eJjO:6"LLNu?@$@Y@@@È@jA.AcAׄAe B_B7HvBm@B0Bּ&4C k7CAyؠCv4WnUF؉<ҲJj$&affNup"<` H@H@er@e|Nur3@eNu|~NuMC68341 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.,GgT klknf`@,k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`.<ANuNu.<<Nuk~Nu,FfJfg(gvEDiBHGHFFkTiHGDL&:ƞHGHF6BŞd&BރSE&HCBGHEk:څS>:.gNu,gFg^EDviTE]B&HC(BHD؃BDHDHGHFHFބj gNuiex@ބއdRgNu~NujJ<Nuk gBAkjDNu<Nu~NuBkjDDNufDJjNuHz_Jg0jzDi&SbHGއ[Jj dRNuJj Jjf NufNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.BgNAr`r`lr`r`br`^r`Zr`r` oaf1HB1H, /?< NA\"FHNu opaܸ|l/ ?< NA\Nu`r `Tr?/?NAX.Nur`@r`Nu?NAT.Nu//?/ ?<1NA?/ opaD/ ?<6NAPNut9`t:`t; oa/?NA\>Nuz<`z=?/ oa/?NAP>Nur>`NurE`?/?/?<FNA\Nu?///?<GNAPNurH`rI//?NA\.Nu//// /<JNAO >NuaͤԄNut oa oa o a䴼dgR$O w(/ a0B w( / aba w(/ a?7((?<KNAO>`a:gSfBNua*g@e`rL`?/ oaV/?<NNAP>NurO`*E< o/ a o / a/<VNAO >Nu?///?/?<WNAO Nua̲nr Nup@@n$"A< &SQ @  gQB RNuar@?<NNTO.Nu?<NNTO>NuA?//?<NN Nu?<%NNTONu opaC0>/g C8SGgC6A$p>H2Aw1Q/?<NN\ONuHHz?<&NN\OLxNuA4 :#:NuHHz?<&NN\OLxNu#:Nu0/./Nu0/./NuAl0<0QNuAH,H.LCg AJFg6<g0<gA~`$A`AZJFg<g<gA6`A8|0 NA1`A JHނ||gLxNu    4/ oHp~|2|0<GpJg$<f|2|0<?Gj`|2|0<>G`/ t$Hrv:8gQQQ&_|t0RBHgQ.LxNu  AH,HCpQ ^E>gEȾ<gEľ<gEG(C0t2AI23J3 QLxNu,@jB g@2<P@ <$NuAE444444024@4@4@4@@4NuCEaEX4444$$2<0:|c2<PE4NuHG67z*zAIC20:f0:g*|mg`0:gİ|mg>`M>:p0jp`zzbк~ Q2:h6:dHCCzbIAxDzm>:4tAd4A"k2Ir0Egr0EgXA0EgPA0EgA23FNQ>:`QRSSkj~`M>:p0jp ` zְzbH@tBzm00Q4:2:HAAz$zA>:tt62k2Ir0Cgr0CgXA0CgPA0CgA23FNQ>:4`QSkj`M|>:p0jp`zzb к Q2:6:HCCzIAxDzm>:tA4A"k Ir0Egr0EgXA23FNQ>:`QRSSkj`^M>:xp0jp ` zzxbH@tBzm00Q4:R82:L0HAAzFN$zBAX>:t62k Ir0Cgr0CgXA23FNQ>:`QSkj`Mh>:p0jp`zڰzbк Q2:6:HCCzIxD>:tA4A&kr 28gr23FNQ>:h`QRSSkj`.Mt>:Hp0jp `zPzHbHtB00Q4:*2:$HAAz&$zE(A.>:t86kr 20gr23FNQ>:`QSkj`M>:p0jpr` z2zbgRAкҺ Q2:6:HCCzCz|zrf|IA4A>:JtAz&(k,r(2H&28 gr gTA gTA gTA23FNQ>: `QRSSkjx`M>:p0jp 0`(zz|zbf|CCCH@000Q4:2:HAAzrzg2:$zE(IA>:tt:<6k,r 20 gr gTA 40 gTA gTA23FNQ>:8`QSkjv"z>& 4<Q~JVf~LNuN3pf6:Agl2:`h3pf6:xAgX2:j`T3pf6:bAgD2:T`@3pfg6:FAg*2::`&6:8Ag2:*`3pf6:"Ag2:`rzHHAJAg2N3pf6:Afr`2:zHHAJAg zgNN3pf6:g6:Ag2:`3pf6:g6:gr`2:zHHAJAgzgN~J/g/Nu/|;m|bb@;A 0HNuC:2#|0/g$ o2/ Ag@g22`QNu?`&$ LSoa*ftCF4ag.LNua .LNuH*I,*<~kSEj(:<2?< NATOJ@g?<NATOf.<`V(<x?:+b?<NMXOJ@fQ?<%NNTORc` 8< QBgU?:+,?<NM\ORM`|.< LJNu/0:+a.NuH?<@A<.<*<x??<NMXOJ@fQ?<%NNTORc`???<NM\O`.< LJNuR Gs YO?8 !#6#$/$%)*19?EKQW]ckquy}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNQRSTUVWXZ]`abcdefghijklmnopqr printer Flexidumpprogram screen select color  button ribbon driver available number the  you  and  dump for tion print file thatwill  with theing is  to  ine er  of ed es an  a t  pa mare resion onallproor  coblackwhitelexdemoardcopyidewaysoutputmultiyourould . Thhave as nhanceensitylabelelect e t iners enrethy anedonusesoraritas. icaladistrou, atledoloosofacto bigwh) mpelThupnoetduolifchut sim p d aopexilfromev hsoirecapmagivANCESTRIidibamqugeega ulshsely m fwessowk debe Fv3.00 Cyrh(C)1989 Zt by StJ Mabfdrghpubl All oŜrht¦v 1 Stt 2 Fmu 3 Hu () 4 Hu (c) 5 Mas  Stt 1 enu 2  enu mu '-lhp' cs vip sd v ˚feFLEXDEMO.Whsgmu y pfunc keF1Ƀtbeoߖ F ˋfattviac.c csƍ asie,n Řfst bsrctlfotF.   F amsaysfyrghpubl uspyrhtti. pammciƉ abltix ™chh (ϿvwƎsDa(TM) d Neorom(TM)m؃sDuglga ś rg1mm 10m cmt¨bo ax x0.3mm yidaiv dssז fa1:1 priosbshȍstte dab.Faٌy 1:1 prio 160mm w b100mh stt Ι160.3mm100mm wh Ι aLITTLE w Ansݖ cf̎ a݋abovmtds c10y 10ixc1mm w b10m馚lg ĩywǿ. (dɿkmy,pel͛dlik)Up 8 t sc/pti҃¤bplޞ rsb(pa b tfcb.  ϡbupo ‘ dcbmscʜnov fmsize. bٙcbnsptsfcd»s, tte& cd Bncdsi bƎaip tovsңgp٣gpts ͛'but'sennIfwhalpt 2y 2 gsimtݎgpf ݖ ov2 pagËbotm ov2gBgpts10 xum݋ptxcbbutͤnnd shstt힙i/s.Ptsbg Š dscedby 2f w Žsipablg xum w ŝ20e՟tipaxum40 me՟cuI 10e՟xum bmoŠgh žmܿdm.  Acommci iʛ ™ cbnspt Tet•cm dTet sfs (fopi҇sfw byaϢe stwaĤgaze(STEag c¬v.e wawrt ǚ-hoʛymscia s cˋs nks. emsa ξtivef ώss cccnbuetteacbhig p.WhÌcs taggfxy,ft ،cDŽ a݃3axum 8si(pdt )rht,sךvt,mo, hcmbاs,n mΓ s pttyhdyЁ tbn ptktlg nttenbuiڟhavvtagov typ˝Ú nids.  Y wbhdsșd typ ye ahsfxy(bybI'mbibi kaplblikeaԖ ݎ‰ ʗ. ewascþktn y StJ  Zݿ :-  CARE ELECTRONICS 800 SALBANS RD GARSTON ne WATFORD HERTS WD2 6NL GREAT BRITAIN T (0923672102 Al ašclud LC10a pviomt'Irɨheasfs'pskg TesfsOŜctscludEm c gc. PhɾCAREdas.  Iffurvs Fmsa ͛me ,ƔbspliȚU.K.:- S W˿StwaLry PO Box 562 Wbne Ds BH21 2YDU.K.  Fmu 1 LoӚf 2 Lotu 3 Qu  LoӚf Œ߽ 'f' pt̀˾'f'aĩys,y asfma cabl, sfԖOnsplik,fd n'FLEXI.INF'f̋RX80,ŘfbϾEps ESC/81tdd (TM).'Fxi.f'umѩyӞ mʿsfd ϋmo t run ֿsu f cbșӚ c̈es Ӛ mou rbɈY֬d 8Έ24 a9e8i u.A INFa splimt wdlƬlEps  FX80nfd 'FX80.INF' Œ a d X ax.If av EpsɽJX80C l co,n likewefdsuabٚf.  Y cpmtnfuċrg'FLEXI.INF' a'RX80.INF'r f 'FLEXI.INF'.e  mcote cmԗ y c cؾ nf sdtixsF aזaġ12pstce,cld c؛ ndrivesá23 c fd(cludc)Inkjl̀satyec f unlsemؾa typtixIf cfurabم 24 vs nagșkck 'INF'd̿݀,acragșd oŜ 'f'sspliȕŘmiafodg furŜciΤhpomeɾso ξi͕ e.  Lotu mu ptswiŋstdd STclkg ɡtuĒ Da(TM) 'PI?'Neorom(TM'NEO' sCos ͛t c fImoŠpsٓ oŜptuĒ”cludȚ fuvss,hefltds眣ttefmb ŘcbmoŠltlkyimt.  Qu Oh!I ĩ hdfl 쌷oŘɾ. Nmd,pst I'mury'lluri֢tuyOne ŗtԓwaysivi΍jʿ ee.  Hu () 1 P-fmtȎizems 2 S e  P-fmtȎizems ˾t(pdǢɽrht/s ) oܾp-ssizˍpagpΧsEh ݖ riopt A4ntaactgl˓ erghpxa ݋/ªcate Ȏptاssh stt׋ shav pra 1:1.e dsslؾߋ A4 tAmѠ Qugsize au eco ltp.A4 px 8.3 11.7˶lg˿sahșf A4 lt٤rg fndg˶sm ݎizajt tt ܛ .澁 pcotʜc ov sizg,gpidbs.  S e Fromeoܛߎߋ̢cc . Prtsdkdriv ʛby'¤ cspo 迉 msaWhst ,ps ESCAPE key wl abt.  Hu (c) mu lv  Ӟ󅀚f fiٶCOLOR rio sgl()e c (elYwMagtaCy͛Ț gd fr쌷frl̀(3+ ) fwtsttf̅g. TRACTORFRICTIONhbcd أpfe e. SINGLE KE ʞ ͛ʗarmҽ(̚kj)l eyrݖ ʞce. MULTI KE Ԅȏctukfabrчe ss ݇ cbʞntMtikerbs suff 't-kntا' ek ep.  ξcv cplit-ntا rp‘ ywfsfw bygtacIlshmfgt ywNjoŜwand.Durp‘ׁ mrcѽlfescϾuɋYx  3ywacs,p nesbfbkwd agtacstͿ ccpiɣpIn býpsseps, ʟvsmrc le fes-npfoċntseplo MULTI KETRACTORĄŘtt´mu ps. IMPORTANT ....Prtuyhivsmrolfe wk efrѐfpȍ tԄ sʗfrѐfe, gbae ngvd.  If FRICTIONeȄ siken F pvtڗps we drӞyt-kntاIfmʿ s‘ frѐpceptcc˖ncfcŘby s SINGLE KEFRICTIONЁ ԋlƂ I waݓ i˙t (lbaʾI'mbi amԜmysf)Y dsnmrn awaƪcξceptabl(good)hʗ F's psItavo ʗagrhs ahϽ ȏtt bcbs d ԋmܿittgrhs십 ak, i okspttfyKeep tt grhspe eps,I kw seiʛarb t'jt Řce'uic ۢbt t.(pvio stcce'ڸIaڸI ')  Mas 1 In 2 Prios 3 D rios 4 S 5 Invt 6 Mo 7 E 8 View  In ClkŘsucts ڡmrc lfe d ș l pte wǿ.I vȓwaysϢ4 5 'sl taký g ڟĩytt avagtype ڗ3s‘얥slk ic ϡlurr݋ pܿ3mle՟ݖ .Id I b˿tsy I elt bkwdtugph effˋse.  Prios ˛3 riosdYxԍԖ numbps˝eӽ(gh ov tse tϖmrc lfeȚ ehڗ 2 tb ehpse)Y wmܿliky ʾ12lgs3curؾsm btyIsɩʾ3nelƩs2 3 ppts1 2monsIf s  MULTI KEFRICTIONn2 & 3  dablvtt-ntاSemuҽi COLOR.  Ds ˾s򺨋Xxԕ 1eg žwˢd VERY rgh sFhhˢyd smhs,ld 3sdhh˿d.  S 昆 gglrh(-s)s (s) Ёpc oŜsict d ýs wn ̡mragUPTURNMIRROR grhs bta迉mo.  Invt ڟat'pho nive' iڟŗߖ sc sf iafftshDe-sڟnmҎ dȚvts.  Mo Ԇڟ lƕ gy scҗdɛaIf w  16ls, Ëk˿8l”ྑa­ 8 cfmynsfca taI td e aiwaƚtdבg saraŜsmizeMo kfceHi unl'ENH ' Seny ENH .  E 昆 ȏboi d dablmium. ehv e udftFstlhh aġltlk ҕ ϖ tuymolؾ lhemtƖ m'phphtӗbuefficݖ hum eyemix ts.On11ix噑 ڿptae bmbcahi scÙfewrsphi rӗcomֿne a­ ! 昘eftes abgŠix–ypÿyovwrξ nehbr un-ts.TondŘ bm,I've imthi r'ENH ' h effsalˋpixnd tpix g rgh ea eyeg.If salavag i­ .  If mixtuĝ salȖnepdk eiŜ gy.meod4˕ scm gy‘ϡ gd lhgymg ֢meod glvԞagb kgͨttnlikcosflstyl oklika rmcttsY wnʛetlt  PCBhIfʛENH  MONO nomݖ 'ed'gƔcom֢m.Hi rE wksC̀d wdf efftd hisb˿wayaŘڟ itsuck ΍e!  Lo re Smh co'gray'lhtIfsm ۽humfޛde,nicpe gh subjhӡb tmelTountޢ,cDŽ ENH h effgˋlht˿20% ݎhӗ cncϟatt.  View ʞokaftgF wl run ľs,c i e ium w rghype͡lt sgplay.   HC 2C"$hC"C"C"C"C2C"2:gL"z²ibB,<0:g,<@E zC$2ic2:,<$"H`,<kf .<*:<2@ET zBA$"af zI*1f^,<"a>f\aaIKJjf>IhK("Laa<fa0aJg`<g< faNavaLNu0:JAJ0a0Nu2:Ev` 0:nEJfpNuagNu<a&<pa Nua<a<Ea<a<qaNuH A??<?<NM\OLpNu"zaJNugf4)|(b$2:f4:lgt`< a8JVf8g2:faRf(`:fa8f`< faf `af`pJNu"z<$I$:Ja,4aNu5|Bk2:I@H@5ApNuH8@prx`$< b<fRIBk` zb@2DQLNuAga`pNuH ?<NATO;fp`NgD<`c <fb@ <g.< g(<0c<Fb<Ae`<9b0`<L"pNuY8 pSpace to exit (F1=hardcopy)qY8 pESC to exit:Space for more:F1=HardcopyqY8 pESC to exit:F1=Hardcopyq (PDxxf4222 X<ހbll~j8xj4>&&4*******2&t"v0""""""""""">V. U.oz.. U.oGRABBER PRG0Uo{pGRABBER SRC2Uo| `DB?< NA\/ yV0<JgQ`!<NAX9=R<9o<0=3Nupicture0.pi"0  ,************************************* * * * ST Screen Grabber * * * * --------------------------------- * * * * By Paul Lay * * * ************************************* *************** *** equates *** *************** gemdos equ $01 super equ $20 term equ $31 create equ $3C close equ $3E write equ $40 vblqueue equ $0456 dumpflag equ $04EE *********************** *** install routine *** *********************** *** enter supervisor mode *** clr.l -(SP) ; use user stack move.w #super,-(SP) trap #gemdos addq.l #$06,SP move.l D0,-(SP) ; save old supervisor stack *** insert routine in VBL routine list *** move.l vblqueue,A0 ; get pointer to list move.w #$07,D0 ; loop over 8 entries search_vbi_queue tst.l (A0)+ ; check whether free beq.s set_vbi_vector dbra D0,search_vbi_queue bra.s exit_programme ; could not install set_vbi_vector move.l #grabber,-(A0) ; set vector to routine *** routine installed so return to desktop *** exit_programme *** exit supervisor mode *** move.w #super,-(SP) trap #gemdos addq.l #$06,SP *** terminate program *** clr.w -(SP) ; good return code move.l #$400,-(SP) ; reserve $400 bytes move.w #term,-(SP) ; terminate program trap #gemdos *********************************** *** vbi routine to grab display *** *********************************** grabber tst.w dumpflag ; check for ALT-HELP beq.s save_display rts **************************** *** save display routine *** **************************** save_display *** get resolution and palette values *** move.b $FF8260,D0 ; get screen resolution and.w #$0003,D0 move.w D0,resolution add.b #'1',D0 move.b D0,extender move.w #$0F,D0 ; get colours move.l #$FF8240,A0 move.l #palette,A1 next_colour move.w (A0)+,D1 and.w #$0777,D1 move.w D1,(A1)+ dbra D0,next_colour *** open file *** move.w #$00,-(SP) ; read/write status move.l #filename,-(SP) move.w #create,-(SP) trap #gemdos addq.l #$08,SP move.w D0,handle *** save resolution and palette values *** move.l #resolution,-(SP) move.l #$22,-(SP) ; 34 bytes move.w handle,-(SP) move.w #write,-(SP) trap #gemdos add.l #$0C,SP *** get screen start address *** clr.l D0 move.b $FF8201,D0 lsl.l #$08,D0 move.b $FF8203,D0 lsl.l #$08,D0 *** save screen memory *** move.l D0,-(SP) move.l #$7D00,-(SP) ; 32000 bytes move.w handle,-(SP) move.w #write,-(SP) trap #gemdos add.l #$0C,SP **** close file *** move.w handle,-(SP) move.w #close,-(SP) trap #gemdos addq.l #$04,SP *** update filename *** move.b version,D0 ; get version number addq.b #$01,D0 ; update version number cmp.b #'9',D0 ble.s updated move.b #'0',D0 updated move.b D0,version ; save new version number move.w #$FFFF,dumpflag ; reset ALT-HELP rts ; return control to program ***************** *** variables *** ***************** save_ssp ds.l $01 handle ds.w $01 resolution ds.w $01 palette ds.w $10 filename dc.b 'picture' version dc.b '0.pi' extender dc.b $00,$00 . U5o.. U5oTEST PI38Uo"}KONVERT PRGAUo.CwpwppwU33ss~?~?sۿ_~߿~_߿߿???oo_߮}߯w_?ݿ߿}?7}?{_|ۛ?ܿ{{?wٷ}?y|Wmwu_eߟw{_몿 ~߷Oowoۺ_u[{~_=?ol0}mw??}yn୎k[cc8"_c?wo~߿<~~ wo@v@qƂyp߾ǎ0ㇻw<<4|88hxEǞñq??? !qc+6>8(``=Ɔ;ч1 SG' ?#㏏m>: 8a@Ɔ??ǎq0z#?? c?}~޿~^>>~qCt~;p~?;K?.8|8qC/|?o>?}v~64><8p(p=88q߿?wPx<_`޿o@X@_| 0@`]?v}{]n޿_woϿ?ݿwwy}mҿm{w{~7_}_/}]-y}>ߏϿwvϱg߷\N~{߿/o.o=}[߹7ϳs?f˯)ԍZƻkկwh~ϴԋ?}w{_]oW>nߗ?oXc۽m?o㞿ow_~yܼG/w7OIs[]Cۖ{}߻7{wz[vwKo?_{S{ww_z~{}~owsqk_/~_{{{~;{o:;r?^~?wwx}O/ w׽]K{{o~oۮU;S^׽o>7~|FN_sm?8~wx[g/wo?}kUmݏ_~կm~us[|Aw߿羯˿wҳ?>9~~޷~x޿.I7oo~[{[ۯ_׿̿~λ????ox>=wϷ6ߏ}_~?goڗ{ww{@?߾5Y}Oe?_uo ?q~~{}~?{_3߻ߵ?w_kt}??m|q^s?k߿??~co{`??~;W{w;??o}w_?{=?O??z??o?{޿u~?7??]_?_ow~w{?pu߿ׯ_?~ۿ}^{w?ߞOw{-V?oo={Ͽ?o~w߀??o{}???o~5}??}>?+߿o=>߀??}w_??_{??^߿?7}ڿ???~??_uo????@}?W|?>?w|?????>vu}}??x}}?????K??w????ݿo?/~_??w?????ww?/w???w?ߠ}??=>;<~w?8?߷{_?0___??}~???@?@_;{????}_;@7??o??>??g??ߟ~;p?:?7??@?;?p?????/?@??`0p?~<?߀po6{}?~??p??@?p~|{>X<O?`x@߀v/߀-?<??}~{@??7?~;7?@ݿ_??Pp??߿`߀`>w=/  }o7?p ?߿?o׀/????~o{???}?/? w=?߀_?w 7o?? ??/??|??_`?߀/?>?w?_x߀.?_?z}}?_?;߀ w? ?@?}w???/o4}p{ ?/???׿?>} ?[_?o_?[h۟?w}_=~~o_b___~߿}o?߿Wwv?{c|~W_~o}߬{{?_}w7?7ݾ?w?][}w~>??swo¾ߗ_9ϒ}?ۿ_o߽WW7|w}o~Cܿgcoj{k_{w~?kNݿ}n_{{2ӯ߯?Sz>ç7/g~=v~w~voM}w[o#囮/w?_u{kw-?˿w- /}ߙ;ʚVd/ =?{պn?eZ>o$>)u{~; m}{߿~?~{=w i?{vEWߦy߻?~?}z]m??/?Wx{<=`ww]3^?w?}yS5=~;i7?`?߀u/&E{???/oޢ;o~|?~/?~޾{!פOx???`o??{- So}~wl ?<o\{QT߾??|m?d{C{??~=_?|hF"7? ??{5d` y?|?8/ы8???`37߻~]_̂y9? ?_E`۽dG{|0???]~{ h?w oϯN6}ZxMl?#???mp}{xe0{k|8@ ?p?p:XU>h|xq{p??=-0888??_pN7k򯕽n8'8??@ IFt֬x׽')8y >'8?@߀ܰhoq${? p}kތ2y ??t o1= _= W~(}{_; -p6_۹oi~? \rݸO^޶g5O??V }޾zҕ~?oy,&g~.S{?C}<7NF߽￀?ZShUw!(w ?MVvy~kpTX߿?ޠwF-Q}> z}E7oGx /?-SM͸ul>9sqxNi?`;oDñWw?g{IV}?m>}1kD++w~P <[D_>?}y{)d@߀~yZ ^?ݳV1&l=wz/0:<חj\ӥÏ??Dov#̀EV㏟?_OL_9 @F!߀??{H+÷]7}_Mm< ??ؼ;3䬁moo8*1/"+>m6 w~~?SoQH m~yE w?~W<nmHpgſ? ?~xU*ԑ*50log82*(w:z| J ?oɲ&J1=4>ݴFlȼ˞/]42??g'ooPߟ_Z?~>|>M |C'D?3hyIf{?73O[Vo֑?g{ǭrs?")^݋Wn?יa]\T,}w][ME{A??v:fi36u(G0_>??޽žc=:nmDo|}??{;~OFߛ28">ؾ@DW}Rr׀\<&??ϵ%)o޿m,䙒{>>7>?~з~?ϻt~#>>?|??v3>??/Ƿ>>?`?{C>>??v~kNe߿>>?;v@s߾x>>??k_?0px7|mU>6Op</߯qeekn}{7?o63}/6~ހ| ?߿t};};d]n=ͻ?`?;v}knڳ;{ =/|Qy~m~?;u}놝?o{?ߠ?{{q^{{?;=z=o{7cm?߿?Ow}/?['^]Ϳk߿?~9}_?]{~>{O?{wnۀ9~~?_Ϳ_o;}}~7߿w{߿_n/~ݿoz{o?~޿{}{o5?}?~߿o`BLxR` Efv*oM@ m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNBHz2?< NA\pdAxr0XQ)K\NN>>>PnttJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuN&pNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|:  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N6.:JgtBn:Nupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNu ::/rI IN<,(k$/<??<?N`NA Jj ?a0NNHrO INLA NHNNN]N4&(*NNhNDvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNuAl 2l 4L VA0000000000prtN9Cp rtNAv` Av `Avl 2l 4)lVHNX?<NNT$g4<rЀ[Nu0<}N& ?<NNC`&?<NNT"@ C <}N`Nj@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,N FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HN(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNpZNA BP"`#|}NA"H0,tg"Hg \f`A\fS A ENAR@H`2QNu@9@JpNNr|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| N2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NNX"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNA0pNN`$N@$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0Nu _0HpN _0HpNp"_0HqNHp"_0HqNHE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNu Ihd*N@$E$RR@H`2QˈN ENu Ihd"*N@$E8*$R`"QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N@$E$R`QˈN ENup`(* 0(iN@$E 4R`Q$D 4R`QˈN DN ENu2p <0N@`QNuH&NրNjNuHpx$ ld$l`"Hg8" &Ak eѐ S`g"" k#&Aeё2+SAI3 Q&f)I`LNuHRp` HRpJQfpNNq Y QfdЀЀ 0NuNN$_& Y Qfdփփ!8NNN~$_& if"QdփփHRN^N~N~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N& NL"2` NqR YEjrd0` SjN" KC`e NX`d \N l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNu0,p2,rR@RANuS@SA9@p9ArNu9@pN4, 6fprta0,2,NuA4, 6f9@9Ap rt`p`pNu)H9@Jp4NP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8N  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NX)l g,vARC( g9CJ9|Lp!,N FPeNutA JpBQA/)H )l gBlJpNB Aprt0 0BBB R@ @efA000 0PB0 *00 000\0X0 *0000 0P0BX0, *@00p1| 1|QBX0 $HTH0P &0 *0,NupNSk [0NupNuHPaH8 _&X Pf/|~ K!zag @ ep 24C"2 S@ػ Td BTA3A0C4$I2a222B"0@2A\xvaRg<2#M 4B3BS@ -f ػ Td>BAAb8RGRC`3RSG5GC5C J1DcaRF F e`RG GcdNuXASF1F41R 1h4 x1EDgVA)H)H 9|J?<NNTU@g,ACg dRhdRh(gpL8Np>L8Np*HEAJ0?C bL000H?A/.)HpNLrHH/>Bl/,ff.f.ffNu l /.g&, ^`D&, N`>&, R`8&, V`2&, Z`,2,/4WAARA0,/6A hfRAS@f9A/,&, Jo ? CN0`@k Ap0(/.NuA Nup)@JphNLtH &JKBCH .A/~0 1PP1P1PA L? &<@>AFG0000X0000X0000X0000C ~AJ0g0  pi, N"F QNu"l`Yd&-KNNX"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`pr`&AdRd QJBgRBBABJk"l` d&6&|0!NuNX"l` epZN"X0gBPHR@@"D#Nup CVNp C\Np CbNp ChNp CDNp CJN?<NNTA퀨NA퀨N &<x*<NJBfN% <Ѝ/ <r$< _N`BmA퀨N NA퀮Nz <r$<NA퀴N4N8`NqNqHm <r"_N|CN^Hm <"<"_N|CN^Hm <"<"_N|CN^Hm <"<"_N|CN^Hm <"< "_N|CN^Hm <"<$"_N|C N^Hm <"<("_N|C&N^Hm <"<,"_N|C,N^Hm <"<0"_N|C2N^AN -/?< NN\N\p r N <"<uN&p r N <"<sN&pNpNpNp Np7rNN6 KONVERT4NpNpNpNpNpA"<NN6 Version 1.04NpNpNpNp NprNN6 Public-Domain4Np"<NpF"<N&p"<NpE"<N&pNpNpNp Npd"<NN6 Copyright 1988 4N <"<NN* by N <"<NN6 Thomas Grlitz 4N <"<NN* Alb.-Schweitzer Str.59aN <"<NN* 4980 Bnde 1 N <r N <"<sNpNpNpNpN <rNN*:Dieses Programm luft auf allen ST's mit Monochrommonitor.N <rNN6CEs dient dazu, die verschiedenen Bildformate in andere umzuwandeln.4N < rNN*JSie knnen mit den Bildformaten von MonoSTar, Degas und Neochrome arbeitenN <rNN69-vielleicht bald auch schon mit anderen (z.B. GEM Image).eN <rNN6ABitte honorieren Sie den Programmieraufwand, indem Sie 10,- DM an4N <'rNN6Cobenstehende Adresse bersenden. Wenn Sie Intresse an dem Quellcode4N <1rNN*Bhaben, knnen Sie eine formatierte Diskette beifgen, auf die dannN <;rNN61das ungeschtzte GFA-BASIC-Programm kopiert wird. N <ErNN*B'KONVERT' wurde mit dem GFA-BASIC Interpreter V2.0 geschrieben undN <OrNN6-mit dem GFA-BASIC Compiler V2.02 compiliert. iN <YrNN6)Viel Spa bei der Arbeit mit 'Konvert'...4N <crN <|"<kN&pNpNpNp N <urNN*0 ...Leertaste drcken...NNCN^NCN^Hmp N"_NgN-``Nz -/?< NN\NhpCnN <}NC퀺N^?<NNTANAN &<x*<NvJBfN-A 0 A G0A 0AN &<x*<NvJBfN.>A 0 A G0A 0AN zNvJBfN.A 0A G0A 0pCPNpNpNpNpNBN*  CPNHxN6 Konvert 4CPNHxN6-------------------CPNHxp1NCPNHxp2NCPNHxp3NCPNHxp4NCPNHxp5NCPNHxp6NCPNHx A CPNHx N6Laden4CPNHx N* Degas - Bild CPNHx N* MonoSTar - Bild CPNHx N* Neochrome- Bild CPNHxN*------------------CPNHxN* Ende CPNHxA CPNHxN6 Speichern4CPNHxN6 ... als Degas - Bild 4CPNHxN6 ... als MonoSTar - Bild CPNHxN6 ... als Neochrome- Bild CPNHxN6-------------------------CPNHxN6 Bild lschen CPNHxA CPNAPNNZ)|1 JpNpNpNpNp "<NN*MonoSTar / Neochrome / DegasNN8pN`NpNpNpNpNp "<NN*MonoSTar / Neochrome / DegasNNZpNA~NA~N &<x*<NvJBfN2b -/?< NN\NhA~N &<x*<NvJBfN5 - /?< NN\pNpNpNpdrdN <+"<NrpfrfN <)"<NrpNpNpNp N <rxNN6 KONVERT 4NA< 0 <r$<&<x*<ANAxN &<x*<NvJBfN7j <r$<HA>NA?DNN7HxN* Bild nicht vorhanden HPN*OKr"_ NA*NA~N &<x*<NvJBfN9 -/?< NN\Bm(N6artCN^N6\*.HPA"_NCN^HmA HPA""_NAN\NJBfN9LNXprN.NP Loading KAN.NB into Picture BufferN:Hm -"_NAN &<x*<NJBfN9NAxN &<x*<NvJBfN9< <r$<HA>NA?DNN9HxN* Bild nicht vorhanden HPN*OKr"_ NA*NA~N &<x*<NvJBfN; -/?< NN\N6NEOCN^A$ 0N6\*.HPA"_NCN^HmA HPA""_NAN\NJBfN;pNpNpNp NprNN*0 NNXprN.NP Loading AN.NB into Picture BufferN:Hm -"_NAN &<x*<NJBfN;rAxN &<x*<NvJBfN;2 <r$<HA>NAxN &<x*<NvJBfN;r <r$<HA>NA?DNN;HxN* Bild nicht vorhanden HPN*OKr"_ NA*NA~N &<x*<NvJBfNN?<NNTNHPA"_NHPA"_NCN^AA\NA~N &<x*<NvJBfN=rN6ARTCN^Af z0ACN^AA\NA~N &<x*<NvJBfN> N6NEOCN^Af {0A>NpNHPpN"_NHPA"_NHPp\N"_NHPA"_NCN^AA\NAPNNNLA$NBBmF <r$<ABNzABN/ -NHABN NA$NNL8NN NCnNABNCnN?ABN??<NN\N8`NqNqNNA CN^BmF <r$<ABNzABN/?N?<NNTNHPA"_NHPA"_NCN^AA\NAN &<x*<NvJBfN@N6NEOCN^Af {0A>NpNHPpN"_NHPA"_NHPp\N"_NHPA"_NCN^AA\NAN &<x*<NvJBfNATN6ARTCN^Af z0ACN^AA\NNNHmANNH <r$<L8NN "_NJCN^HmANNH <r$<L8NN "_N"HPA"_NCN^N6\*.HPA"_NCN^HmHmA""_NHmA "_NJBfNBDHm -/AfN""_NNN380179476475517108753917135172348476295638032412842954243234112261712241108122844710%bhNB$6Vt$( `nt$( `x$( ` $J6(2(&L"6(&L(2. UEo.. UEoLOOKER DOCHUohLOOKER DTHMUoLOOKER PRGPUo(L O O K E R I m a g e P r o c e s s o r Copyright 1987 by Frederick Hawkins LOOKER may be freely distributed as long as this document accompanies it. ________ Q U I C K R E F E R E N C E __________________________________ File L LOAD .PI1, .PI3, .DTH S SAVE .PI3, .DTH Palette [Clr Home] START a new palette list. [Insert] ADD to a palette list. [Undo] DISCARD palette list. [Up,Down] SELECT a color to change. [Right] LIGHTEN the halftone of a palette color or palette list. [Left] DARKEN the halftone. [1 to 9] Set INCREMENT used by Lighten and Darken. N Show a NEGATIVE view of a color. R RESET palette to default values. Z ZERO all other palette values. Transform A Show ALTERNATIVE settings. C COPY current settings to ALTERNATE. D DITHER. G GRAY. H HALFTONE. T Change Dither TYPE. X MEZZOTINT. [0 zero] Perform TRANSFORM. Buffers [cr] Toggle between MAIN and WORK. K View KEEP buffer. [*] ERASE Keep buffer. [+] SET Keep with Work buffer. [-] CLEAR Keep with Work buffer. [/] STRIKE last Keep buffer change. System [#] Load TEST pattern. [Help] HELP. I INSTALL or change Dither tables. Q QUIT. M MAGNIFY. V VERSION. [&] Trap to SID. ________C O M M A N D S alphabetical_________________________________ [Clr Home] START a new palette list. Palette [Help] HELP. System [Insert] ADD to a palette list. Palette [Left] DARKEN the halftone. Palette [Right] LIGHTEN a color or list. Palette [Undo] DISCARD palette list. Palette [Up,Down] SELECT a color to change. Palette [/] STRIKE last Keep buffer change. Buffer [-] CLEAR Keep with Work buffer. Buffer [+] SET Keep with Work buffer. Buffer [*] ERASE Keep buffer. Buffer [&] Trap to SID. System [#] Load TEST pattern. System [cr] Toggle between MAIN and WORK. Buffer [0 zero] Perform TRANSFORM. Transform [1 to 9] Set INCREMENT. Palette A Show ALTERNATIVE settings. Transform C COPY settings to ALTERNATE. Transform D DITHER. Transform G GRAY. Transform H HALFTONE. Transform I INSTALL Dither tables. System K View KEEP buffer. Buffer L LOAD a .PI1, .PI3, .DTH file. File M MAGNIFY. System N Show NEGATIVE. Palette Q QUIT. System R RESET palette to default. Palette S SAVE a .PI3, .DTH file File T Change Dither TYPE. Transform V VERSION. System X MEZZOTINT. Transform Z ZERO all other palette values. Palette WHAT? LOOKER interactively transforms low resolutiooon image to a high resolution image. BUTS No GEM, no alerts, no buttons, no menus, no C, no PASCAL, no MODULA2, not for color systems (not enforced), not a slide show, no mouse, not a well-behaved application, not a replacement for TINYSTUF or PICSW6 or GRAFCON. NOT YET Medium resolution load and transforms, rotate, zoom, mouse draw/erase, high resolution load as pseudo-low resolution, John Brochu's any-type file load (thanks, John!), printing, image placement, disk directory, RLE compression in memory, frame transforms. ________F O R E G R O U N D _______________________________________________ LOOKER can selectively convert each individual color in a low resolution image. Transforms include a middle gray, a mezzotint, a five-level halftone and eight preset dithering patterns of 64 gray levels. These dithering patterns may be interactively changed, saved and loaded. Entire colors may be eliminated or set to black. The high resolution output file may be just the default transformation. Or it can be assembled from one or more images. Mixing of halftoning methods within a single image is possible and encouraged. Side by side comparisons of different settings and/or halftone methods are easily accomplished. Colors in the original may be linked together so that all may be darkened or lightened equally, thus holding their relations. ________B A C K G R O U N D _________________________________________________ Memory management: LOOKER maintains two screen buffers, two sub-screen buffers and an input file block, giving an overhead of 100K. This version can run out of 220K ramdisk with NO desk accessories on a 520. LOOKER takes all of the memory that TOS gives it and assumes that the memory between it and the desktop screen is available. LOOKER doesn't mess with anything below itself, nor does it use any interrupts. Inputs in general: Pressing [Return] or [Enter] will accept the default reply. A 'n/y' stands for a simple no/yes -- and the default will have the cursor on it. Prompts for filenames and pathnames are separate. LOOKER doesn't force either case. LOOKER uses the ST's keyboard buffering and pulls keystrokes off until it gets caught up. On occasion, LOOKER has crashed when overloading the buffer (more than 64 characters, I think). Key sequencing is nevertheless useful. Moving up or down one Palette table entry takes about a second, owing to the overhead in calculating the micro screen. Shooting past the desired entry is a common source of irritation. An alternative might calculate and keep all palette views, but the fourfold increase of input data overrhead would make a 520's ramdisks tediously small. ________K E Y M A P _______________________________________________________ 1 2 Tst 4 5 6 Sid 8 9 xfm - = ` HELP List ( ) Keep Quit W E Rst Typ Y U Ins Out P [ ] List ^ List Increm. Keep | | Alt Sav Dit F Gr Hf J Kp Ld view \ Palette Keys Increm. Keep | | Zro mez C V B Ng Mg , . /| | Increm. | | spacebar | | xform . view LOOKER attempts to combine both mnemonic representation -- [H] for halftone -- with a cursor pad 'home' position. What this means is that your left hand gets to hunt and peck command keys and your right will stay on the cursor pad. Thus, [cr] -- use your thumb -- flips between the main and work screen and [0] -- use your little finger -- forces the transform. The KEEP buffer keys, [/,*,-,+], are modestly inconvenient on purpose. ________F I L E ___________________________________________________________ LOOKER's file handling is simple in extreme. Either command prompts you for a file name and then tries it. If LOOKER thinks it has an error it will tell you. LOOKER has no directory command, so write down filenames before you fire it up. In any case, LOOKER is so small, QUITing to the Desktop is often the fastest memory aid. LOOKER uses the filename's extension to find the appropriate routine. L LOAD filename.PI1 image file to source image buffer. A low resolution image file stays resident until you load another or cover it with the test pattern (# command). filename.PI3 image file to the WORK screen. A high resolution image file may be loaded directly into the WORK buffer. It is temporary -- you must either move it to to the KEEP buffer or take care not to invoke any command that changes the WORK buffer. Useful to load in area masks that you have created with DEGAS or whatever. filename.DTH file to Dither tables. Loads a previously created custom dither table. Also if you have tried out INSTALL and hashed up the standard patterns, you may load LOOKER.DTH to restore them. S SAVE .PI3 image file from KEEP buffer. This is a standard high resolution DEGAS file. .DTH dither table file. ________P A L E T T E _____________________________________________________ After loading a .PI1 file, LOOKER creates a palette table (displayed on the MAIN screen) by converting each color's red-green-blue settings into a single number between 0 (white) and 3F (black). This derived value may be freely changed, so that user may adjust the new monochrome image to the best possible compromise. All palette commands may be invoked from either the WORK or MAIN screen, and none change the WORK screen's current display. [Up] The palette value is SELECTED by moving the cursor up and down [Down] the Palette table. If the MAIN screen is current, you will see the cursor move and the MICRO screen change. The dark parts of the MICRO screen are those parts of the source that contain the current palette. (A white palette entry will look like a negative of the image. See [N].) [Left] The left cursor key will REDUCE the selected palette value. [Right] The right cursor key will INCREASE the palette value. [1-9] Number keys will set the adjusting INCREMENT. Additionally, HALFTONE will set it to 11. Just reset it as needed. C COPY the WORK buffer's settings to the Alternate settings. This command also copies the current transformation mode. N Often colors are really highlights. Sometimes it is useful to view them as NEGATIVE. This command only changes the MICRO screen's view of the palette entry, not the transformed result. Once made NEGATIVE, you may do as you please. When you return to the palette entry again the display will remember. To remove the NEGATIVE, press [N] again while the proper entry is current. O You may OUTLINE the MICRO screen. This is merely a fallout of internal routines, but what the hell. R After fiddling with the palette for a while, the source values can get quite shuffled -- light is dark, dark is plaid, etc. You may RESET them at any time. Z To isolate a single palette entry, you may ZERO the rest. The cur- rent palette entry will remain unchanged. To zero that one as well, move to another and ZERO again. A powerful feature of LOOKER lets you change several palette values while keeping their relations to each other intact. A PALETTE LIST will change in concert; that is, adjust one by five and all change by five. A list is signified by a CHECKMARK on the palette table. Unlisted values work as before and do not alter the list or the list's settings. Insert ADD the current palette entry to the list. If there is no list, one will be created. ClrHome START a palette list. If there is already a list, it is discarded. Undo DISCARD a palette list. You may change values individually again. ________W O R K B U F F E R & S C R E E N ___________________________ Any valid command may be pressed while the WORK screen is 'current'. If the command requires additional information the MAIN screen is forced current. An invalid key also forces the MAIN screen and leaves the keystroke reminder. [cr] [cr] is a simple toggle to view the WORK buffer. No changes are made to the WORK buffer. A The WORK buffer's settings are saved and the ALTERNATE settings are used to transform the WORK screen. D Makes DITHER the current transformation method and the source image is transformed through a DITHERed halftone, adjusted by the Palette table settings. The pattern selection is unchanged (see T). G Makes GRAY the current transformation method. Any palette entry that is not zero will be forced near middle gray. This transformation is low contrast; only extremes of light and dark will be discerned. GRAY is close to the Desktop's gray but has an entirely different texture. When used in concert with the KEEP buffer, images can be constructed by adding darks and clearing highlights. This is LOOKER's slowest transformation. H A five step HALFTONE is made current and the WORK screen is trans- formed. This is the fastest transformation. (Side effect: the palette increment is set to 11. Thus the right/left keys will go from black to white in five steps.) T TRADE DITHERing pattern for the next in the series of eight, making the new pattern current and transforms the WORK screen. 1) rectangular halftone. 2) clustering halftone. 3) vertical. 4) horizontal fine. 5) crosshatching. 6) diagonal. 7) diagonal. 8) "TV" -- horizontal coarse. X Make MEZZOTINT the current transformation and performs operation on WORK screen. This method reduces image clarity and is slower than Dithering. The mnemonic, by the way, is XOR in reference to the machine language technique used. Sorry. 0 TRANSFORM the WORK screen using the current settings. ________K E E P B U F F E R & S C R E E N ___________________________ LOOKER's output image is built in the KEEP buffer. There is no automatic creation -- you must choose the pieces and add them. The two commands that do this, [+] and [-], change the WORK buffer first. If the next command is STRIKE [/], the KEEP buffer will not be changed. The WORK screen won't be restored after the STRIKE, facilitating comparisons. K You can take a look at the KEEP buffer by pressing [K]. If you haven't kept anything, all you will see is a blank screen. LOOKER then waits for any keypress and then returns you to the previous screen. ( MAIN > KEEP > MAIN or WORK > KEEP > WORK) Since LOOKER doesn't label the WORK and KEEP screens, sometimes you may be con- fused. Just tap the space bar two or three times, until the MAIN screen returns. * ERASEs the KEEP buffer. LOOKER forces the main screen current and asks you if you're sure. Pressing [cr or Y] will ERASE, anything else doesn't. [*] isn't much of a mnemonic, but it does line nicely on the keypad with the next two commands. / STRIKE [/] lets you try out an ADD or SUBTRACT without making a change to the KEEP buffer. [/] must be the very next command after [+] or [-]. Anything else means that you like the results and the KEEP buffer will be changed accordingly. + The next two build the image. ADD sets on the black pixels in the image. It copies all of the on pixels in the KEEP buffer to the WORK buffer. The logical operation is an OR. Thus, if there is anything in the KEEP buffer [+] will ADD to it. - [-] performs a logical AND of the WORK buffer, in effect, copying the white portions of the KEEP buffer. Think of it as SUBTRACTing, but be mindful that you are just cleaning up the whites. However, if you SUBTRACT a light image from very dark image, the effect will approach a straight copy of the light image. Here's a classic bit manipulation table: [+] WORK 0 1 [-] WORK 0 1 _________________ _________________ KEEP 0 | 0 1 KEEP 0 | 0 0 1 | 1 1 1 | 0 1 | results | results The WORK buffer is the one that is really changed at first. If the next keypress is not [/] then the KEEP buffer is updated. To restore the WORK buffer, just press [0]. The KEEP buffer, on the other hand, isn't so flexible. If you change it, it stays changed. Of course, you may ERASE it as often as you like; but recreating the old version can get problematic. Consider changes carefully and like an adventure game, when in doubt, SAVE. ________S Y S T E M ________________________________________________________ # Loads a TEST pattern into the input file buffer. [Help] Shows a command summary on the MAIN screen which is forced current. I INSTALL or alter the DITHER halftone tables. INSTALL maintains its own menu of commands, explained below. Q QUIT is safeguarded: you must reply [y] to exit LOOKER. If you discover another way out while the Main screen is not current, you will not see the Desktop. That is, you will have to reboot. M MAGNIFY shows a 2x view of the Work screen. The cursor pad controls the image and a ghost box helps orient you. Press any key other than the cursor controls to escape. V Prints the current version number of LOOKER, my address for bug reports and 'donations'. & If you have a mind to check how LOOKER works, this version includes a prompted ILLEGAL. Immediately trailing the ILLEGAL is a branch to the top of the menu. If you have neglected to run LOOKER from a debugger, a smallish row of bombs will speed you to the desktop. ________I N S T A L L _____________________________________________________ A single source pixel corresponds to four destination pixels. Taken by themselves, these four can create a five-level halftone. But by applying the source to a larger pattern more levels can be attained. LOOKER uses an array of values ranging from 0 to 63. Each value in this Dither table corresponds to a destination pixel in an 8x8 block of pixels. The blocks are mapped to the screen as 50 rows of 80 blocks. A 64 level halftone is produced by assuming a direct relation between a source pixel's palette entry, table value and location. Different patterns may be introduced to the source image by variously arranging the values in the Dither (threshold) table. INSTALL lets you tailor any of LOOKER's eight tables. The screen shows you the dither table as a grid of numbers, the AUTO-SET value, and three visual displays -- the complete halftone rainbow and two single-value squares magnified 2x. These squares show you what the halftone would look like if all of the source pixels were the same value. You may set this value as you like, using the V command. The keyboard is remapped, so the minimal command set is printed as well. R RETURN to the LOOKER environment. [cr] Select table to change. [arrows] SELECT the value to change. The table wraps both vertically and horizontally. [##] CHANGE value. For single digit values, you may either use a leading 0 or any non-numerical key to signify "that's all". Notice that when the value is accepted, the cursor advances to the field to the right. F[##] FILL the dither table with a single value. V[##] Set the VIEW threshold. U UPDATE moves the changes to memory. A 64 level halftone contains the values 0 to 63 with no repeats. Manually entering the sequence is a hassle, so several commands are provided to facilitate entry. With exception of the first, all are on the cursor keypad. A[##] Set AUTO-INCREMENT value. A [cr] starts from zero. [Help, Undo] Copy the AUTO value to the current cursor position. [Clr Home] Change the value located by the cursor to the current AUTO value then INCREMENT the AUTO value. [Help] Change the value located by the cursor to the current AUTO value then DECREMENT the AUTO value. Here's a sample pattern that abandons the halftone concept. 8 32 7 32 6 32 5 32 32 0 32 7 32 0 32 5 0 48 0 0 0 48 0 32 0 63 48 63 48 63 0 6 0 48 0 48 0 48 0 32 0 63 48 0 48 63 0 7 7 0 63 0 63 0 8 32 32 7 0 0 0 5 32 8 Please note: Work out your pattern on paper first. Although INSTALL is somewhat interactive, it is more suited to rapidly reconfiguring a table that has already been worked out. In designing it, give thought to the derivative patterns created by adjacent blocks. Lastly, INSTALL is more or less slapped together; for its rough spots, I apologize. _______F O O D f o r T H O U G H T___________________________________ The basis of LOOKER's transformations is the source image's palette. The monochrome replica of the source image is an interpretation of its hue and saturation. Photographers are familiar with the distinct differences be- tween the skills required for color work and those for black and white. Often an image that 'works' in one form suffers when translated. On the other hand, many images can be strengthened by judicious emphasizing. Try XEROXing several photographs. Try to pick a photograph that won't work and one that will. If you can fiddle with the machine's controls, do so. Turn off the color on your TV. News shows often look good in either mode. Color movies and series often lose something. "There's no substitute for experience": Buy a roll of black and white film and shoot it up. Do some fast drawings with one crayon. Then do some with sixteen. Run LOOKER at every PI1 file you can get your hands on. A monochrome user's biggest surprise is how mediocre many public domain images really are -- this emperor often has no clothes. Your run-of-the-mill color slide has about fifty visible levels of tone. So does a black and white negative. Modern photographic papers compress this scale, yeilding ten different tones in a photograph. Photographic negatives have remarkable resolution. Consider a family reunion and its mandatory line-em-up-and-smile. Even the cheapest camera results in recognizable renderings, even when enlarged 20 times or more. Photographs in the daily paper usually use 85 dots per inch. Each of these dots vary in size, typically labeled 10%, 20% and so on to 100%. Newsprint is not the best material on which to print ink, thus only six or seven steps are actually distinguishable. However those 85 dots per inch on newsprint can readily exceed the capacity of the ST's screen. Let's compare 50% grays: 640 pixels in row with half on, half off equal about 3 3/4 inches of newspaper. The 400 vertical dots are about 2 1/4 inches. Now vary the newsprint's gray down to 10% and up to 90%. The printed dot gets smaller or bigger. Not so with the computer screen. One has to clear more pixels or darken more pixels. So, as we lighten and darken, the computer screen loses resolution. A guesstimate: a dithered LOOKER image is comparable to 1" x 3/4" high of newspaper. Something to try: cut a 1" x 3/4" hole in an index card and hunt through the newspaper for interesting images. ________M I S C E L L A N Y______________________________________________ Files in this release include: LOOKER.PRG, LOOKER.DOC, LOOKER.DTH. LOOKER is shareware. What I would like you to do is to put a real dollar bill in a envelope and mail it to me. Put your return address on the envelope. I will put the dollar in my wallet and the envelope in a safe place. Individuals may obtain LOOKER's source code (Alcyon AS68) by sending $10, a disk and a return mailer. Commercial enterprises are welcome to make me an offer I can't refuse. LOOKER is a live program, that is "not done". I will cheerfully correspond to anyone about LOOKER, its use, its documentation, its future and what a crummy user interface it has. Write! Bibliography: Atari ST Internals by K. Gerits, L. Englisch, R. Bruckmann (Abacus) Hitchhiker's Guide to BIOS (Atari developer's kit) Tip: use a black magic marker to block out the cute shit in the LINE-A 'documentation'. Computer Graphics by Donald Hearn/ M.Pauline Baker (Prentice Hall) Programming the 68000 by Steve Williams (Sybex) Crappy binding, mathematics nonexistent. [Rule of thumb for judging 68k AL books: multiplication and division routines for 32 and 64 bit values. Most fail.] Solid Shape Drawing on the Commodore 64 by Richard Rylander (Dr. Dobb's Journal, May 1985) Sets out the underpinnings to dithered halftones and other marvels. This is a great article. GRAFCON ST by Patrick Bass (Antic, July 1986) A Digital Dissolve for Bit-Mapped Graphics Screens by Mike Morton (Dr. Dobb's Journal, November 1986) Frederick Hawkins ~ 1020 N. 6th Street ~ Allentown, Penna 18102 July 31, 1987 ________G L O S S A R Y__________________________________________________ author One Frederick Hawkins, BFA/MFA in Printmaking from the San Francisco Art Institute, whose obsession with computers has prevented him from driving a cab. Still looking for the ideal hakker's job. Credentials: none. Demerits: likes FORTH, hates MODULA2, PASCAL, and C; writes only assembly with com- ments. buffer A block of memory set aside for a particular purpose. LOOKER has a WORK buffer, a KEEP buffer, two small window buffers and an INFILE buffer. Each buffer consists of the image data and some additional information. color A set of points in the source image that are all alike. LOOKER doesn't change the color;; it changes how the color is represented. This is the absolute bones of an image. dither A technique whereby a destination pixel is set or not, depending upon the value assigned to its corresponding source pixel and a threshold value. In LOOKER, the screen is cut up into 8 by 8 blocks of 64 pixels, eash assigned a number from 0 to 63. This number is a threshold and the block is called the threshold table. If the source pixel's color is darker than the threshold, the destination pixel is set. By variously arranging these threshold tables, different halftone patterns are possible. DTH The semi-obligatory extension. This is LOOKER's, indicating the saved dither tables. DTH files are made of 8 tables of 64 bytes. The tables are not demarked in any way except by length. halftone A method of simulating a gray by interspersing white and black dots. Halftones are always patterned. image A short word for picture. KEEP The buffer and screen that is used to assemble LOOKER's output. list A linked set of colors that may be adjusted in concert. MAIN The usual desktop screen where text is printed in LOOKER. mezzotint A random patterning that simulates an etcher's technique. This is a low resolution transformation because the random- ness adds noise to the image. MICRO A quarter-size window used to show the palette and magnified views. onebuck A token of your esteem, which, in quantity, may pay for the disks used in creating LOOKER. palette In general, a set of sixteen colors that comprise a low resolution image. In LOOKER, these colors are converted to a gray level, ranging from 0 to 63 (white to black). resolution Nominally, this is the sharpness or clarity of an image. ST usage is based on the number of pixels in a given type of image. Low resolution is made up of 200 rows of 320 points, medium resolution has 200 rows of 640 points, and high has 400 rows of 640 points. LOOKER maps a single low rez pixel onto a 2 by 2 dot of four pixels. screen The part of a buffer shown to the user and variously changed by LOOKER's commands. settings The gray level assigned to a palette color. Sometimes refers as well to current transform (dithering, mezzotint et al) as well. shareware A poor man's justification for spending so much time. WORK A temporary screen buffer. It must be moved to the KEEP buffer to be saved. 0(8"2 *: ,<$4.>&6#3 +;!1 )9/?'7 -=%55=%- 7?'/19!) 3;#+ 6>&. 4<$,2:"*08 (  (" *082: ,$.&<4>6# +! )3;19/' -%?7=55= 7?%-'/19 3;!)#+ 6> 4<&.$,2:08 "* (/7:)3;#$-5'="%)0&? .6 8 +2 9 ,4<!(1> #97-( 485+, .1:=)* !03;> & $/2 ,8%15$ .=")4?$51-= #4),9  '  %&(0+8;.!2>6*<:/"3?7`'(DB*O*mO,a$?<NNT#'"v#'#'#'2#'3kb#'1| <J@fGg na y'pWaarafajO,pG'&Qa\ 9'Ffa B'F$|gpg *g\`T$RN` ##Aa NCc Dd GgHh (Ii&&&Kk LlMm@NnOoQqRr$SsTtVvXxZz12834856878899800++ -- r** 0//aTaa a.G(a @g @fa4a _ Yg`G(Rp  .W .fG$ gpf&SN.PI38.DTH09'g&a3'09'r"Ckb?2a3kb09'"<}"y'a`a3'09'"<Ca` 9м@o <#` 4a2aPa _ Yfa ?<NAa A,CL"2< RgBy'2a""""QaJ`    Q09'B29'23'2aRa>?<?<?<an\`By'229'D49'2`0aga` .aQ`t|"A(R0f0Y_NuaDaaaG(aJ@fvG'p .WfG gf&SN.PI1d.PI3,.DTHa&y'r"a&y' Sfp"<}aa3kb`aGk"9'$9'maaAkbCk <  Q ykbf a~apap`a4G"9'aFavNua09'B29'0A3'0a(09'2g$A,CL"0<"Ù"Ù"Ù"ÙQ`09kbfl&3'8`0<`0<y':m @bl3':aP y'09':y'8a `Hp0H@rG'3 fY"\palCa:|=aLNu49'D69'B`I(R8qCfS,aQa`J09'@D@`09'@G'49'B69'2gR49'D`g83 m ?n Q49'D89'B`gI(R8qDfS,aQ`FI(R8p3 m ?n a`$p`pI(R49'BBl09'DS@y'Dl&8qa3'BI(R48paa ` p`aa y'"y' <Nuafaa a @ g @YfP y' <BBBBQ3'` ja"$&(ØŘǘɘQ`a"$&(Qa /f B'F`3'aV""""QNuaal'f"`a 9'a(a 9'` 9'`aa 9'#'?NAXJ@k Nu?<A(R/?<Nua# ('(3 '@A'C prg< kr< kXA< nQAk"y'$IPG I x <r'tvE 4@kֳ@4PkֳPQ2HC4QPPQNua.# '(Ak"y'$IP&yI'xz| <r'~vt*K 4@gzmTCmRCmּmּ4PgPmTCmRCmּmּQQ2HC4Q<?PPQpNuX`X` 0(8"2 *: ,<$4.>&6#3 +;!1 )9/?'7 -=%55=%- 7?'/19!) 3;#+ 6>&. 4<$,2:"*08 (  (" *082: ,$.&<4>6# +! )3;19/' -%?7=55= 7?%-'/19 3;!)#+ 6> 4<&.$,2:08 "* (/7:)3;#$-5'="%)0&? .6 8 +2 9 ,4<!(1> #97-( 485+, .1:=)* !03;> & $/2 ,8%15$ .=")4?$51-= #4),9  '  %&(0+8;.!2>6*<:/"3?7$51-= #4),9  '  %&(0+8;.!2>6*<:/"3?7a#'(A'CpQAk"y'$IPIxz~U <r't(v4Pgx lF` 9'0V&g.g.rfESfEQQNufF`aza KUnable to STRIKE the change. [/] MUST be the first command after [+,-].a KKEEP buffer clearedan Kerase KEEP buffer? n/yaN(get the default file)a2b0c1H L O O K E R I m a g e P r o c e s s o rKc0b1aLoad filename? KpaSave filename? Kpa K Magnifying.... fafa~qavY3!p ?q magnification offKaR Y3!p ?qeaB KConfirm quit by pressing Y apa File load successful.?< NA\Nua Error on file close.a Can not use that extension. a filename is bad...a8aaa,*-+/,&aCommands HELP,A,C,D,G,H,I,K,L,M,N,O,Qu,R,S,T,V,X,Z,###,0,<1-9>,a*ab File will not fit in available memorya6 File was not found.a KLoad a file first.a File was not openedaa Error on file reada Resolution does not match extension.afa File save has been ABORTED a\ Overwrite existing file? (y/n) aaR File saved. aa< Error occurred on SAVE. a The KEEP buffer is empty. ?< NA\` /<(R?< NA\Nurp??<?<a \RAQNua@a"<paa*aaaax`aH fCopyright aj 1987 by Frederick HawkinsK b0c1J___FILE _________________________ L,S LOAD, SAVE. In: .PI1, .PI3, .DTH Out: .PI3, .DTH ___KEEP _________________________ K View KEEP buffer + ADD set pixels. - CLEAR highlights. / STRIKE preceding [+] or [-]. * Erase KEEP buffer. ___PALETTE ______________________ ,, Start, add, discard a palette LIST. a SELECT, ADJUST a palette entry or list. N Show NEGATIVE palette entry. R,Z RESET or ZERO palette table. <1-9> Set INCREMENT. ___TRANSFORM ____________________  Toggle main/image screens. A Show ALTERNATE. C COPY to alternate. D DITHER. T Change dither TYPE. G GRAY field. H HALFTONE. X MEZZOTINT. Transform image. ___SYSTEM _______________________ I INSTALL dither tables. M MAGNIFY. V Show VERSION number. # Load TEST PATTERN Q QUIT. (orderly exit) & BREAK. (trap to SID) c0b1H'N#'JNML'N/9'JNua BykbAkCxtv0r<F0`RQr?<1`0QQRBQx <#Eg" Change value. Copy AUTO-set value.  AUTO-set and increment.  AUTO-set and decrement. U Update current table. R Return.c0b1 a8b0c1fY0 J  Select a table to change. A[##] Set AUTO-INCREMENT value. F[##] FILL table with [value]. V[##] Set VIEW threshold. a"J`ٸKEEP ='INREZ=kbINBUFF ='OUTBUFF=(RFILEBUF=k ( (( * $0&    2.&,&"  " $  6 P  " ( $,B  $V :J$ * ( *z \dH"* \J  6, " (* 8V   &T<. 0 .Z ,& . UTo.. UToPRINTIT DOCVUoPRINTIT PRGZUo< Print It! Ver 1.0 A PrintMaster Graphics Printer by Raymond Roux The Print It! program allows you to easily and quickly print PrintMaster graphics libraries. Currently, it will only work on an Epson FX-80 and compatibles. All three screen resolutions are supported and should work on all models (520/1040/Mega). You must have at least 273,000 bytes of free memory, and a graphics library cannot have more than 200 graphics in it. It can automatically print all the graphics libraries in a folder, but there cannot be more than 50 libraries in the folder. The program will print a header containing the name of the library and the number of pictures it contains. It will print 63 pictures (9 rows * 7 graphics per line) per page, with the name of each graphic centered under it. After starting up the program, an alert box is displayed that contains two buttons: "print" and "quit". Click on the "print" button to select a PrintMaster graphics library to print. Click on the "quit" button to exit the Print It! program. After clicking on the "print" button, a File Selector box is displayed. Select the PrintMaster graphics library that you wish to view. The library files come in pairs, one file ends in .SHP and the other in .SDR, you can select either one. A message will appear telling you that the graphics are being loaded, this typically takes just a few seconds. You can print an entire folder (max 50 libraries) with one command by going to the desired folder and clicking "OK" without selecting a file. The libraries will be sorted in ascending order and printed one after the other. A select group of libraries can be printed by using the wildcard "*" in the file name. You don't have to enter the extender. Messages will be displayed on the screen to show you the progress. You can abort or pause the printing and converting by pressing any key, an alert box will prompt you to continue or abort. That's it! If you have any suggestions or problems, contact me on GEnie (R.ROUX), Compuserve (75056,2103), or Usenet (...!trwspp!spp2!rroux). Enjoy! Ray Roux `2v*O*m#:R - ЭЭм"ҍ¼.A// Bg?<JNA y:R"h#:VE?/ N2DN"/0<NBNu o AdpNu#:VBNuNV0/"/ NB:Vd0< A48"NB0<NBN^Nu o2/0/ HSoQBNu o0/JfBNuf SNuNV0n-H=| 0n//< /< /.NP/N6P/ .м0 _@Sn/< /.NP-@nRnBn`0n 2nRnRn n m0n B. N~=@`0n  Rn nm0n BN^NuNV>?jNT>?jN>?jNN^NuNVHBG`.0.2HЁ @"<4\0H>?<NTRG0. @"<4\0H@mJLN^NuNV>?jNNBWN+N^NuNVHBG`$> ?<NT> ?<NTRGnmJLN^NuNVHBG`BW?<NTRGnmJLN^NuNV-|5> NJ@gl.BgNT|fV3.lBy?hBy;Jng4> ?<NT> ?<NT>NBWNp`B@`N^NuNVd-|5hAp-Hl>NB.pBnBn`>/.h/pNP0.nzм?.N~=@pnH=@>/.h/pNP0.nzм?./pNDX>0.nW/.h/pNPp2.nAnnV@nRn0.n m40nB(p` nlH>?<NTRl nlJf>N>NN^NuNVp-|6>N>N.N~?pP_H=@Bn`0n| tRn0.nm0nB(t./tNDXBn` 0n(tH>?<NTRn0nJ(tf> ?<NT> ?<NT` nH>?<NTR nJf> ?<NT> ?<NT>N> NB@`N^NuNV0. ==@ .?. ?<?9?jN~\`N^NuNV`4>?<?<NX.4BgNT|fp`BW?<NTJlB@`N^NuNV-|6UBy?hBy;By.l>N3?|f3=` 3=>N3;N$N#.n;NJy?hf,.BgNT|fN`N|gRNJ@fFJy?Jo/<6NXN T`tN^NuNVH.=/<=/<=/<=N" 3?jBG`0G;0RG| m3<.</<?j/<;NPJLN^NuNVBn`0n.BRn n HmJy?ho"09; м;./<>NX.>/\NX.>/\NDX.>N~Y@Hм>./HNX.6/HNXJ@g.6/HNXJ@fn.>N~0@UH>H.>N~0@SH>P.\N~0@UH|H\.\N~0@SH|P\`&N.4?<NT3=p`.;?<NTBW/\?<NN\ y;-hBW/\N)X=@|f .4?<NT3=p`z.\N~0@UH|D\.\N~0@SH|R\BW/\N)X=@|f*.4?<NT3=>N*rp`BW/\?<NN\ y;-h> H/<.?.N1\=@l4.4?<NT3=>N*r>N*rp`>N*r-|?`^>p/.?.N1\=@|f*.4?<NT3=>N*rp`00.H0.HѮJn>N*rNp`N^NuNVlHBnBn=|Jy?ho$Ry;09;y?hmBy;By?h.6/lNX.?9?h09;WNT./lNDX>/lNX09?JH =@09?JHH@ gRn y??Jl=|.6/NX.>/NDX.N~0@YHB(.7/NDX.?9?JNT./NDX> /NX=y?J.7/lNX.?.NT./lNDX> /lNXBn`,.Nİ|fp`*Bn`.70/lNX.?.NT./lNDX> /lNX0.nBF`B09?Jnnl09?Jn=@>N> ?<NT> ?<NT>N|fp`\ nlp0.=@0.H=@0.HH@=@>?<NT>L?<NT>?<NT>?<NT` >NBE`P>,NBG`80.Ez2HЁ2XЁ @"<?0H>?<NTRG|XmREnmRF|m>N>?.NT0.n0.y?JlRn n m>N0.y?JlRn0.nmBWNB@`JLN^NuNV-|7I.7g/NXJ9>f~09;|AH@|:BW/?<GN\./jNX.jN~0@SH (\jg.7m/jNDX`.>/jNX./jNDXB9>.09= ??<?9?jN~\./<>/jNdP=@N nfl.jN0.j/<>NXJ9>f.7oN`:>*/<>NXJg.>N``p`B@`N^NuNVH.N~>`0G \gSGJGnRG0GBJLN^NuNVNH><<` 0GB(RG|mBy?J`Ry?J09?J@0@.Jf>/<7qNX.7/NNXJy?ho<.v?9?h09;WNT.v/NNDX`.7/NNDX>/NNX.7/NNX.>/NNDX> /NNXBG`.7/NNX.v?9?J0WNT.v/NNDX> /NNXBWN|fp`BF`"0F2B4H҂Ҽ?"AiRF|/NXBF`*0z2HЁм? @2A2A4F.RF|mRGy?JmB@`JLN^NuNVHBn=|`>>.`=|<`Sn n2SAH0H|=@BE`d0E"<400S@nl40H2.HЁЎ @|0.2E42A=@`0H2.HЁЎ @B(RE|o| 0|M@ohBF`hBnBE`20H2HЁ6H2|4n|=@RE|o0.2. z4.H҂Ҽ?"A@RnRF|oRG0.| @o0.|X=@ noJLN^NuNVL-|7.>/fNX>./.NX-@Tg nTB./fNDX.8/fNDX.;?<NTBW/f?<NN\J@l.?<NT3=p`F.;09?h м;/NXRy?h y2?hg>ONJ@gJy?hf.?<NT3=p`BnR`0.RR@=@P`0.P м;.0.R м;/NXJ@oj0.R м;./XNX0.P м;.0.R м;/NX.X0.P м;/NXRnP0.Py?hmZRnR09?hS@nRn8B@`N^Nu#:\NN/9:\Nu#:\NM/9:\Nu#:\NA/9:\NuNV>MN n0< n 0< n0< n0<B@09< N^NuNV#.d# .h>ZN n0<B@09< N^NuNV3# .d>4NN^NuNV3<0.|Hм2-@=|` nH2n<2RRn nm.>NnB@09< N^NuNV#<?P#?l?T#?X#< ?\#.d?`#.?d#?P>> aF3< .bpN^NuNV>a*pN^NuNVH?BCB..,. f#:` <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD#:` D`#:` JLN^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^Nu#B:d"<:dpsNBNuNV3 <3zBByD3H3NNN^NuNV#:h#:p .мZ#:t3dBByD3 H n 3NN n 0N#<:h#::p#>:t#=:lN^NuNV3{BByDByH3NNN^NuNV3 =3 =Bn nH|2n<2RRnJ@f3B3DSn3H3NNN^NuNV3eBByDByH3NNN^NuNV3BByDByH3NNN^Nu#:xNA/9:xNuNV n=h.0n/0n/N6P/?.?<?N>PN^NuNV n=h.0n/0n/N6P/?.?<@N>PN^NuJg .Nu _B0Z"y:VCCbNC NNVH *n(n `$H>a0H>a&op`lp` JfJfB@JL0N^NuNVH>.|am |zn|0JLN^NuNVN^NuNVH *n(M`RJf HJL0N^NuNVH *n (nf .JL0N^NuNVH *n (n`RJf`Jg 0.SnJ@nB .JL0N^NuNVH *n(n `op`lp`JgJfHHAJL0N^NuNVH *n (n`RJff .JL0N^NuNVH*n 0.8мZ-@~.a&M`RJg :fJgc .Am .On*K`K0.`BW/ ?<\>o n1GBG`BW/ ?<NN>\JgB@`0<>`d>ON>JgB@`0<>`J.?<=N>T>o n1GBG`,.?<AN>T>``||b@0@8 PN0JL8N^NuNV n am n zn n nHRJfN^NuNVH*nH=@ M2n$BG-M`H M2G $f: n $g.?< NT.$?<NT 2HЁR-@RGnm 2HЁg.?< NT0.JL N^NuNVH*nH|=G`H>Bg?<aX0SGJ@n0.JL N^NuNV#?LNM/9?LNuN^NuNV=|Bn n(g -|` n(g-|T n(g .м-@ n0(| =@Bn=n`=|` n  f.=|Jng 0.R@|l N2n| Rn`\ n  fRJngLp2.|A=@0.n|l^0.n` N2n| Rn0.SnJ@fR ` N2n"n QR RnSnRn nlJnf>0.S@@/ nNXJnfB@0.N^NuNVH*n>?./. /-/ N=@Jnf383:Z8p` B0.ѭ -o+mB@0.JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N=@B0.ѭJnf383:Z8p`^=n`8Rn>?</<9/-/ N=@B0.ѭnb4 -o+mB@0.JL0N^NuNVH|BG` 9f 90`RG|m383:Z8pJLN^NuNVp2.`F@H9B@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@Z0.@BUB-+| BB> Bg/ N\> ?< / N\JL0N^NuNVH>.|e3 83:Z8B`0B@08*@Z-f3 83:Z8B` JL N^NuNVH>N#*@ fp`vJnfB@`j-g3 83:Z8p`L0|g>/. / NP`0-g>/. / N!P``>/. / N!PJL N^NuNVH >.HμgR*y:V(G:V.Nz|f3 83:Z8p`>Bg/ N\ JL0N^NuNVN^NuNVN^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (y9*T`ZB@0-BA2-@F@J@g>N%B`:B@0-ne `*9f>a*@ f>N%B`(M*U`JL0N^NuNVH n*PB@0. X@me n `F(MB@0. HH@B@H@B@0-n 9@B@0,F@9@( n ;n B@0-F@;@#9 PJL0N^NuNVH >.|?GG0@>N$*@fB`* R*@(M9GB@0,F@9@.Pa 99JL0N^NuNVH *nQB@0-BA2-@F@J@g>N%p`(y9eeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #9B@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#9B@JL0N^NuNVH *n.a>. ^GORG>a-@fB`J n(PPg2d`Sn Jn f`B0. B0. `%Sn Jn f>/.aXJL0N^NuNVH>N#*@ f3 83:Z8p`$>?-/. ?<BN>P+@U -JL N^NuNV>B?.a\N^NuNVHN">|fp`>N#(08*@ZJn fUJnfU.4Q/.NXJ@fU;n 0``.4V/.NXJ@fU0`d>/.?Nn\J@g>N"383:Z8p`0U>B-H?N(\BWB-H?N(\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH*n0-| |f, -<o >/-?N#\>Gg mp`J-gJg-g;| `;| `>0- D@H/?N(\Bm +mB@JL N^NuNVN^NuNVH>.>N#*@ f3 83:Z8p`NBF0|f>?<>N>T<l|>N#(>N"JFf0``383:Z8pJL N^NuNVH*n0-|g*.N)-g .N&B@H+@+@Bm m>N*rJL N^NuNVHBG`0м9.N*RG|mJLN^NuNVN+R>NN^NuNVHN">|fp`>N#(08*@ZJnfU.4Q/.NXJ@f U0`R`.4V/.NXJ@fU0`2>/.?Nn\J@g3#83:Z8p`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVH BWN$#:~#:By:|.4Ga*n`N`RJgHHм8` @fJg2 "g 'fFH>/ RNX(@ f.9/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHм8` @gJ5pg M2GBRGH`BWN*rBW/ RN)XJ@g.R/<:aX`l>N*r ->f@>/ TN)X|f>B?<N(\|f.R/<:a|X`$BW/ RN,jX|g.R/<:$aVX`>?/ NXJf>*/ NXJg-| .8?<NT>/ ?<Nn\<f.:3/ aX`^.H?/.aZ\.N~>RWN(@./ NX.a>/ ?<Nn\<f`.a`|g`JfBaSy:|.:Nz|f.:M/<:>a*XB/9:~?9:|N\>N+JL0N^NuNV|./NX. /NDX.:N/NDX.?< NT>N+N^NuNVH*n y: X:Ry:|JL N^NuNVH*n. (nGVfJL8N^NuNVH *n(n ..> ?/ /-/ NN=@JnfU B0.ѭ -o+mB@0.JL0N^NuNVH *n(n ..-G`> ?/ /-/ NN=@Bn` L2n gRnB@0.neJng L2n f =nU >/ aPX=@B0.ѭB0.B0.Jo -g` -o+m .JL0N^NuNVH *n-M B2. Ё-@(M`  gRe JL0N^NuNVH>N#*@ fp`b-gB@`V-g3 83:Z8p`8-gB0../. / N0P``B0../. / N0,PJL N^NuNVHN#BW/<4QN)X>/<4QN)X>/<4QN)X n2n B*n`&HHм8` @g H| `HRJf> /.N,XJL N^Nu Stack Overflow$C runtimeCON:LST:@ LAxxEFGHrrrrrrrrL,GH45!5N5@ [3][|Can't Open the File...|][ DARN! ][3]|Oh Oh, error reading the file|][ DARN! ][3]|The file is NOT a|Print Master Graphics File|][ DARN! ][2][| |Your printer is not ready!|][OK|CANCEL][1][ | Printing Paused...| ][CONTINUE|ABORT] ________________________________________________________________________________[0][ Print It! ver 1.0 |Print PrintMaster Graphics | | by Raymond Roux | ][Print|Quit]Press any key to pause/abort.SHP.SDRLibraries to Print: Library: Graphics: Graphics Left to Print: Graphics Left to Print: Select PrintMaster Library...*.SDR\*Press any key to pause/abortLibraries to Print: 1Current Graphic Library: Graphics Left to Convert: [3][|No PrintMaster Files Found...|][ DARN! ].SDRCP/M-68K(tm), Version 1.2, Copyright (c) 1983, Digital Research XXXX-0000-654321!!!!"(rFrr 9 9    : unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $6$ t *J8( .  &*"N  N"  $     "              *$   P&&  $    *T     * j4j0L"   *    8f f    &*(R"4Z&`"R"@2&"&.`".86 Jp<  N4*"   n ,D( 0 <    `v&    , . U`o.. U`oSNDSHOW2TOScUo/!SNDSHOW DOCfUo`! |! "|3,0<2<8# QQ3 N2 o"h#-NR#)V,Ic.N//Bg?<JNA BbByZNNV/. NAN^ _XNN? NN\<ONuNNNN<N<L^ ?p/,HNVA-H V (2(HЁ/ N4 V0@d A1@` R@Am24(RB1B6(C((H؁!Dz1EN^,_ _TjABj092Hp=@rP=At=BDp2<,p @gggp n /-@<}t$v=C .".l4.vA0 RB8<DFC:.=Et0.r0  NNhRnno*zEC?: noR@0`Vê4ƪ rAltn’o@N2h2N0<@ BBo 2ABC 61 C30<A6CCCC 810D3 tB8DE <1PRF30F no0HyNSnl .t"QNuȼͼƼ޼2Ǽ<B(80016AxD <0PF1vC|F4SB1J(00N A p/ !p3 % 02<AtBg p0vC<6¸24<w£h3..o^NV./. ?<=NAN^ _\N>T ?  A(#-\f-`C!It0B /B.BXBp# 9@/"??pTZBVøBW<p2n2j4lv|NzrAW Bd*NȠ^( Zༀ.)0?*, _fHzRRb.rɵ.RH:roރ ?"~/2dVBd/t/ P NP`T2¸|D>2pX>XXzASPL*.P??#2 `HajBb NA\E %@A%P%haF'A|$ *DfQaF%,j,ܪPLJ*9yg9`F z/*jL NuNsnNtNsGO*3p83p O4p |h     Nuj    Nu@\#4FNuHz *`&&NNPNu"|@AH00@H|    Kt(rG"~r      h4T  M    X   P h` `X P ` hHP X XXÀ   H H   ( P PPXØÐ`x㰣pأP     p   x `聨    xŨ  `p P h 〃h XŠ(Pİ㈃HŰ    ` H8@ 0èH P hJ)""_$_0<?"Q/NuBB }f~X:8pTUFPQP`'3ZP22Hy?< NA\NAJ@fXNufE Sound aVision Slideshow(C) Lars-Erik 0sterud 1989 s all picture-types onmonitors together with sampled ss if availableCABK-BBS +47 2 13265z4/,HNVA-HN+ . -@ @r-A .N^,_ _2H"\0." P (_  _"_JgSfN0 NZp=@=A` nN.S@rC1RnnotJVNA0tBP"R@R@`l1NH _024SBgQ@4BAAc/LNu%"N,Range error during set-operat6@SC An68DCCc 0AgRB` @CEHS IVW.J?V2FA_Yǂ@27Ȋ 7V`tO>~"_21vS@AC&2YQFAB9`PB-Lg$_jp"_// H L BtJ@fL)Jf f8| i (Bi `J 3 4<gG B B& @e *:f&Jrt `e G .tWJBkF3 ^fpn\~ p`Jg(f* H@?:AXNu/")x itg$H@z?@NA LJof _Nu(_&&_ + gFgfb k eZH/ 0HktBt7| Jk@Bg?+ / +/+Bn NHzZp`qp` p`@#ߠ| //H/l%,$rRANDOM I/O attemp{1 to deviceNegative random access record numberRwithoutErrduring-4` _t6 Bo r aSB`2NH?J _r r /LNu N:"x0HgJJjDxvC zp cRЀ`|e W 0R"f`62JAApR"2H@0RJAfJg<-RBlCSB( QSCQN"_v`60`JfQ$ItRJf`z46$BjtJCkgCe4` BSCxSBkl 6kfv26 Cc"4YBv`" c4QBv( SCC" Aހ9c^a JgYC`V n "oA/ *$rL聪, A(gf$)(f&H \\\#vfNu$ix&i|fa`pRg #Jx`H #Hxg$H`fLNu )f NuHym` F0<REWRITEquirpriPUTDiskdctory full(_ _/ C (g fXJ( F$($IJl/ /?(D?D*Jg  f"J`g Wf NuJh g fP Nu!| $hh gpR@@Þ!`jt!Kxf(aZlEJ@g *f`~ R@Bh` / /<0lp|JfvrH@Hsp/BgRA3 f@ AUzp 3 dp` SAp/` fSA` fpf p `~f4(ppQ(* d,(9@(Hpp^  AfF8 4zRJ`$@  p Exit q C^AReset,Read9 GetAttemptrpast end-of-fileH" _0"_e /L샬*z/B9JBg.$@oCP`&String overflow _pJ.^! 0( hNVg4 ( hg( hH`ggfXgr"ODd2Sk "j` _"l -Ne ^+l^ N# D# @ .f -|\` nNн @f yNStack1 runs heap?H _z gBjDRE"g8 RE$6HB 8HAJAf,f$ւi EdD.` $HB8`B Nu0NvDN|hf0N`dJgR(`Dfx<`DxSDbb HA8`"tcRЀ`x eW(MR.`Zz Nu _(NЁ/Ho ,3tLJn JfXNX/€h -a "_aaZgŒh9BgNA/ ?< NA\9LBL3 *** % Copyright 1986, CCD and OSS, Inc>9,n6>t>(:6 >D                 g$66400xpV,*< * * , , 0 , " BBb4*>42J Zbd : ( *@ B  (^V  4&oG K` r@HEQ`QpmW KC ,H <-""*H <6""(H < "" "KHH@HtJgpӑbCgA<0</|N?PQRef9  +$"ABC DE F G H% + GABC DEFG  H%Ab/ci/ : l}  6 R n             A 0c0   2  N j  'g GfABASIC&22Jtt|GXGGGH>J:J>J>JVJJJK,K,K0K0I_DRVO_DRVO_I_PATHO_O_PATH SHP_EMPTYSCR_SAVEEXTDF_NAMEFS_HDRN_PATHFSLIBLIB_DATACUTHO_FILETEMPCF_NDREXTNDRPATHHDRBGPSTXTSHP_PUTTNAMSELDRIVEIDRVSIDRVAIDRVBIDRVCIDRVDIDRVEIDRVFIDRVGIDRVHODRVSODRVAODRVBODRVCODRVDODRVEODRVFODRVGODRVHDRVCANCDRVOKSELFMTI_SCRNI_DEGI_PMO_FSO_GFAO_BIMGO_ICNO_WRDFMTCANCFMTOKABOUTABOUTOK ABOUT_TREE SELFMT_TREE SELDRIVE_TREEDRVBITSII_FORMATO_FORMATJIDXXYITEMBP1SHP_CNTSCRN_CNTSHP_NUMSCRN_NUMARROW_UP ARROW_DOWNMXOMYOMXMYMXNMYNMSXMKMXOOMYOOP_XLP_XRP_YTP_YBCUT_HCUT_WMASKK LAST_BYTEROWCNTPOSBYTEPROW_ADRDXDYCWCHBXBYHRWORDWWRD_CNTS_PATH.F_NAME.UDMNSNX1Y1X2Y2B.BTME_CNTSTATEOXOYOBOHEXTSTATET_N_X.X_CSTYPEINDEXTREESTARTDEPTHFXBYBBBHBDEFCUT_SELICNMESHP_DATACUTSO_ROWSX1SY1SX2SY2ME_STATETEMP_INTEMP_OUTME_DATAE_MSG RSRC_FREE RSRC_LOAD RSRC_GADDRCSTATESSTATEBLD_MENUI_AM M_HANDLERCUT_PMCUT_FREE DISPL_MENUER_MSG DRIVE_SELECT FMT_SELECTLD_SCRNLD_DEGASLD_PMSV_FSSV_PUTSV_BIMGSV_ICNSV_WRDSH_CUTINV_SCRN XFILESELECT BLD_SCREEN SCRN_DISPLAY SHOW_ARROWS PREV_SCRN INVERT_BOXNXT_SCRNSV_RCSWR_ICNMK_PUTGSTATE FORM_CENTER FORM_DIAL OBJC_DRAWFORM_DOPSTATE FORM_ALERTH f F mono only M` FqF FXF ### RSC variables  #EF/* TREE */ EF /* OBJECT in TREE #0 */ EF /* OBJECT in TREE #0 */ ( E00FE/* OBJECT in TREE #0 */ ( EPPFE/* OBJECT in TREE #0 */ (E00FE/* OBJECT in TREE #0 */ EF/* TREE */ (EFE/* OBJECT in TREE #1 */ (E@@FE /* OBJECT in TREE #1 */ (EFE/* OBJECT in TREE #1 */  EF /* TREE */ (!EFE/* OBJECT in TREE #2 */  EMF #GC.RSC FM FqF FMGC.RSC FC  M! F "E4 F E M! F #E4 F E M! F $E4 F E(### Disable non-present disk letters  #%E4@ F&EFFE #% & FM$!&! FM$! &! F ,F!M$!&! FM$! &! F F4&F$Ұ&`F ### Set default values s #$M$!! F default input drv A EA:F!&M$! ! F default output drv A s EA:F! E.M#!! F default input: screen format 'EF,M#!! F default output: FleetStreet (EF EEFeEFe EEF E:Eb. bL b F prepare a string for 'PUT' &EFFE Eb F4&F&P@FF P*  !  !  !  F array for shp display coord &EFFE)EFFE*E&@)F&+E#)#00 F! * E+F* E+00F&,E#&#PP F! * E,F* E,PPF4)FEn) F4&Fd& F *  F*  F J !F MF!! !G!FMF ### Real work starts here  #vLFaFL RFF !!F  (`FrM F F(M FF F M FFvLFF  FF FFּF +FFh-!&F-E F ה-Fr quit r.EF M !. F א.FFFMFqF F F ׶-F about... tMF F" -0F. select drives M F F $ -@F  select formats MF F6 ^-`F  load pic: degas/printmstr/screen rw'L!!FM F F 2 ؾ-pF  save cut: Fleetstr/Gfa put... *w(L!!!!F.../Img/Icon/1stWrd a F( - FF show cutout MF F" -(F  invert screen MF FFvLF.FL L2###############################################  #+F# h!!F#  EPI3FEF3 EF3,E$Select DEGAS file (*.PI3) for input:F#M!! !!! F ~FE F7I!M! F" 2sM zDsM zFoM  F pF>M!FFM! !zF!! !G!F F!8MF! ڌF !!F F!.F! !+F h!!F! EFEF EF$ESelect screen file for input:FM!! !!! F ێFE F7I!M! F PsM zF!M@ F ۀFM! !zF!! !G!F F!8MF! ۜF !!F F!.F! !+Fh !! ! !/!&!)Ft @ESelect PrintMaster library:F header for file select box h EFl EFlM!SDR! !! ! F    FE F &E6 FFx? @&@ .F5&F?VF: E? @/@&/ F separate file name from extension  E< E  .SHPF check for presence of shape data file  FM F FF07I!M! F check if .SHP has correct format p )EsM F 8MFM x)  FfM F F,0E)[ F number of shapes in file m.1E0[F  of necessary screens  EF F load shp data *0 F 7I!M! F&EFFE& E !B F& E_ !M F 4&FE &0F8MF 2EF for start 3EF E4EF ސ1Fs5EF ޚF15EF FE EYFEMF1 M3 Fs M4!5 F  F F F.F .+F4 printmaster: display previous screen J3Ft&M@ !=!@ !F F53F M3 F  F.F *+F3 printmaster: display next screen e 31F&M@ !=!@ !F F43F M3 F  F.F 2###############################################  # + F# make free-format cutout 0h6!7!8!9!:!;F ,P_xl%,P_xr%,P_yt%,P_yb% # 6$F6 wait for no mouse key pressed xRF }`FfF . VQ<'F mouse in up/down box %}FFF 0RF 6? 7F!F F 8 69 7F "8!9!=F 6E8F=7E9F= FE E =F  open box }F ":!;!=Fo6!7!:!;FF6 "8!9!=F  >8 :9 ;F6!7!:!;F:E8F:;E9F:6!7!:!;F F6 =F; }`F;6!7!:!;F 6:F @E:FF AE6FF F @E6FF AE:FF FE 7;F BE;FF CE7FF F BE7FF CE;FF FE E(@!B!A!C! F  get full cutout... n E6 !B F @!B!A!C! Ft @ DECBF ... and in stripes tF F*D F)EF&EBFFE@!&!A!&!) F) E6) !B Fi@!&!A!&!) F4)F&4&F& v&CF EF FE E FE E>E6F?E7F RF F RF !F}F F.FF F2###############################################  #.+F# output cut$ to FleetStreet *.img file (hE!F!G!&!H!I!J!K!Fm Cut_h% ghL!MF h!!F  FM  F F EIMGFEFG EFG.E'Select FleetStreet output file (*.IMG):FM!! !!! FE F E F C@. FE.IMGF FE E}F FEE3z FF E*D F FEFGE``FF&EF&#E  FFEF #G& FF4&FF $HE#E[ ##E   F. EIEFFENEzI @@F I EF LEFFE ME2NL F LHF MEMFF FE MFJEF MF4JF4LF ZLHF ME2NL F LHF MEMFF FEF I EI BJ F F ZLHFJ M FFKELFJEF M FF4JF4LF ZLHFJ ME2NL F LHF MEMFF FE>FI EI B BJ FF&EGJFI EI B2NK FF4KFE &FI  F lLHF4IF >IDF 8Eb b b b b0 b0 bE bD F7O!M! F M!"F&EFFE M!& "F4&F t&DF8MF F F }F FF FF.FF F*+F& save cut$ as GfA graphics string h!!Fu  FuM  F F EPUTFEFT EFT*E#Select GfA Put output file (*.PUT):FM!! !!! FE F F C@. FE.PUTF FEE F І FFAF F!z !6 F F F.F +FM F.F  +F M F.F  0+  F Icn!=false -> BitImg, =true -> Icon hO!P!.!Q!R!!Fm h!!F  FM  F F QE3z FFRE3z  F!.EF QR/Fg M !. F F .F EICNFEFN EFN*E"Select RCS bit image file (*.ICN):F M!! !!! FE F F C@. FE.ICNF FEE F 몆 FFAF F M! ! F ! F  F SE#  Q FTE#HR F%!!F $S!T!SQ!TRF xOEGFnPEGFSO!TP! !`FR JPF @ F0VEg>@  Fdouble number bit planes  E 7O!M!FM!/* "" */F M!#define SHAP_W ". Fn M!#define SHAP_H "U Fn,M!#define DATASIZE ".U F&M!int image[DATASIZE] = int masF M!{ "Fi&EG.UFt$M!g>@&  ", "F & FMF M! "F F ^&FFM!g>@&  F M!};F8MF.F $+ E0x=000n+ @ F +F+ save Snapshot/1stWord hE!J!&!I!!W!X!KF E *FxM  F F EPICFEFC EFC,E$Select Snapshot output file (*.PIC):FiM!! !!! FE F E F C@. FE.PICF FE E}F FEE3z FF E*D F$YE#E[ ##E   FC EIEFFENEzI @@F I EF WEFFE XE3NW F XFJEF XF4JF0W!F ZWYF XE3NW FjF I EI BJ| F F nZWYF  lXFJEF:XF4JF0W!F :ZWYF XE3NW FF JEJ|FI EI BJ F F nZWYF  \XXFFKEWFJEFXXFF4JF0W!F ZWYF XE3NW FFJEJ|FI EI BJ FT&EGJFI EI b3NK F0K!F *&FI  F LWYF4IF IDF *Eb  b4 b#Y  FEbD bY FEb b b b b F7O!M! F M!"F&EFFE M!& "F4&F &DF8MF F F }F FF FF.FF F F+F& show cutout h!S!T!Q!RF  "FQM  F F QE3z FFRE3z  FFF %!!FF!! !GFb%!!FSE#  Q FFTE#HR FF S!T! FRFS RFF RF FR F.F +FR invert screen F !!Fv!!! Fe!! !G!FM F.F  2###############################################  #+!!Z!![! F:extended file selector box, with header text box on top NDr$=drive - Extndr$=file name extender - S_path.%=pointer to selected path r>Path$=current path - f_name.%=pointer to selected file name Hdr$=text for header box m"*** enter with Graphmode 0 !!! o *h!!!&F  FE\F FE F E*.*F F. E*.F FE FE;@ F&!H!q!T!F%!!F$!H!q!TF$!H!q!TF$ !`!o!HF$!!h!o!DF'%!0!F Ff!!FF =@ \FH&E6 IF HZ?@&@ \F (&F@[E=@6 & F E;@& FZE=@6 C@\  F F[EF F[ F!H!F F.F 2###############################################  #*+\!] F u%,d%: 0=enabled 2=disabled (!\!!PF:$'@ !D!B Fe up arrow s(!]!!PFB&'@ !D!B Fe down arrow b(!!!PF.F! !*+F build screen for printmaster file h&!F &!;! !;Ft!;! !;Ft !4 !=! !FFr up arrow box $ !<! !GFr6 !=! !FFr down arrow box i$ !<! !GFr M! F.F .+"^ F insert shape nr M% into shp_put$ rh&F^ &EF&EFFEF!`&@@!0 E?^ @ &00@0 F4&F`.&LF.F 6+_ F display screen nr N% of printmaster file 0 h`!&!Fs ` _1F`E0 Fa F`EF FE&EFFE X&`FM"&_ F& !& !F  rF& !& !F  F4&F & F 3F4EF F34EF FE 31F5EF F35EF FE M4!5 F(EScreen A_  of A1 .Fa' !D!F!! !G!F.F! !+a!b!c!d F!Fa!b!c!d!Fa!b!! F { Fa!b!! F!F.FF F2###############################################  #"+_ F# display error msg N% #h.F_ . J_Fd.)! Can't find *.SDR file! !! Retry !.F ZFC _F .)! Can't find *.SHP file! !! Retry !.F VFC _F :)!$ *.SHP file has | incorrect format! !! Retry !.F RF* ._Fa:)!$ *.SDR file has | incorrect format! !! Retry !.F NF* _ Fa:)!$ DEGAS-file has | incorrect format! !! Retry !.F JFD _@Fa<)!% Screen-file has | incorrect format! !! Retry !.F@ FFS <_`FhJ)!4 Sorry, GRAFICUT runs | in high resolution only! !! Quit !.Ft BF  _FI>)!) RSC file missing! | | Can't continue.!! Quit !.F >FR _ Fs8)! There's not yet | a cutout! !!Continue!.Ft :FT 6_@Fy:)!# Function not yet implemented! | | !!Continue!.F F! F! F! F! F! F! F! F! F! F!.F! !2+ _!e F display error msg N%, return button hfF_ f _F>)!" Do you really | want to quit? | |!! Yes | No !fF  hFD d_Fud)!C W A R N I N G ! | This cutout might be | too large for an icon! | !!Continue| Retry !fF F! F!eEfF.Fe e2###############################################  #+ F#h)F# ) F)EFFE ) F )!) F# F)4)F )gF.F +Fh&F &RF&EFFEQ& F ZZ& ***F#4&FZ&& F#gE&F & EF & EFM F.F  |F |@---0----1------------------2-------------------3-4-5-6-7-8-9- >  , About GRAFICUT... ,-------------------,-,-,-,-,-,-,""  B----10------11---------------12--------------13--------------- i> File , Select drives , Select formats ,-----------------  F@-----14--------------15-----------16------------------17---18 > Load picture , Save cutout ,-----------------, Quit,"" 1 0----19--------20------------21-------------22 . Extras , Show cutout, Invert screen ,"" 2 E***  *"----26------27------28------29  Help , File , Extras ,""  H***  *2###############################################  #+ F#h&!h!!i!j!k!l!mF &*`` F*`` F&EFFEnEFM#$!&!n Fm & EnFnEFM#$! &!n Fm & EnF4&FE R&`Fm M$$ FiE3$ FjE3$ FkE3$  FlE3$0 FF$(M%! ! !!!i!j!k!l F(M&$!!`!!!  !H F M'$! FmE3 FF!M%!!!!!i!j!k!l FM$!m! F   hmFEFEF&EFFEhEFM#$!&!h F  hF&EB& :F FEhEFM#$! &!h F  HhF&EB& :F FE4&F &`F:  F&&EFFEM($!&!& FFM($! &!& FF4&F$ r&`F  FF FF F.F +F&h!i!j!k!l!mF * F* F&EFFEnEFM##!&!n FF & EnF4&FE  &F!&EFFEnEFM##!&!n FF & EnF4&FE L&FF M$# FiE3# FjE3# FkE3#  FlE3#0 FF#(M%! ! !!!i!j!k!l F(M&#!!`!!!  !H F M'#! FmE3 FF!M%!!!!!i!j!k!l FM#!m! F  mF'EF&EFFEhEFM##!&!h F hF& 'E&F& FE4&F &F& 4 :'F& disable invert screen for printmaster (!F ( EF ZF(!FF( EF F (EF&EFFEhEFM##!&!h Fv hF& (E&F& FE4&Fn&Fv 0F&&EFFEM(#!&!& Ft4&F# &F&&EFFEM(#!&!& Ft4&F#&F  FF FF F.F  2############################################### >b7 b6 b5 b4 b3 b2 b1 b0 Dx x shadowed outlined disabled checked crossed selected +#o!p!q FdqE3o@p  F.Fq q*+(o!p!r F put x_% into obj state do@p !rF.Fo o,+o!p!r F set obj state bit by x_% chsFo ssE3o@p  F"o@p !#rs Fy.Fo o,+o!p!r F clr obj state bit by x_% chsFo ssE3o@p  F$o@p !##r s F.Fo o+F@h!m!i!j!k!lF  M$" FiE3" FjE3" FkE3"  FlE3"0 FF"(M%! ! !!!i!j!k!l F(M&"!!`!!!  !H F M'"! FmE3 FF!M%!!!!!i!j!k!l FM"!m! F.F2############################################### + F# EB F# !z FF s\F#.F+F s^F#.F +t!u F!tF !uF s`FF.F+&v!w!x!+!,!.!U F#!vF!wF !xF!!+F@!,F!.F !UF s(F.F +'v!w F!vF!wF sHFF.F"+%y!+!,!.!U!z!{!|!} F#!yF !+F!!,F@!.F!UF !zF@!{F`!|F!}F sLF.F +)~! F EB FF!~F !z FF sPFF.F +$v FF!vFF sXFF.F ##### Finally done! ######## u 2 b  ښd۪ 2xԀ>|ր22`vT4` Efv*oM&R m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNrHz2?< NA\pdAxr0XQ)K\NNJrBjNuHz?<&NN\NޢCAp$L Qp N܎9lrBlJpNN܎pMN܎9@pdAr 0Q0tr N9lN`Nupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa2|a>:><|a4g RGj`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHnx 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dGe GbFGNu G0dFGHANu~NuAd RdQRB6Ce0 C/jC C@j C jr0H@{0DH@Nur{0Nu{0NutNuJj(:,af AfBfNu&<x*<N^Hn r$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNuCDEHHNNL8N@L8NZNNJjtNupN&Nup`pN0<9@:, INJ@g@8 FN EdbAJfE @e4r$Wf"FANuPRN:LST:AUX:CON:MID:IKB:VID:,J@fC E& B Og& Rgl Ag@ Ug2 Ig $CpNp=`pNAXJ@jNNurAt`t Add.A0Hk"JjJBft??/?<BNA JjNNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNu ::/rI IN<,(k$/<??<?N`NA Jj ?a0NNHrO INLA NNvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNuAl 2l 4L VA0000000000prtN9Cp rtNAv` Av `Avl 2l 4)lVHNAl 2l 4HPrtpgNaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu0<}N& ?<NNC`&?<NNT"@ C <}N`N@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,N FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNuxpmrtA)HA)HNpNHHPN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)INx(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4N܎HNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNJ@fCAHPBHQ?NA\ _JjNNuH&NVրNVjNu?r`??, N$F Z268SDĒDcCc2Ac0`QNuHRp` HRpJQfpNNq Y QfdЀЀ 0NuNNNq Y Qfd ЀЀNuNN$_& Y Qfdփփ!8NNN$_& if"QdփփHRN`NN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@NL"2` NqR YEjrd0` SjN YQf "_Nq*eNN*< NqbІSGfN~$_NЀЀ Np"X4g S`"QNuNuN JPgBP, d4d<e<Ѐ"ЀЁE Y0gR@2DAH!b` `ЀЀ`Ѐ"ЀЁE. l ,`2"X2g,e($UAk&QHPS Y2g RSj _b l ,"X2geb J"F\N,N `"QjNuxdtdD& pk<HCJCf2 IN |d& xfNx"Nud & f2Nup@Nxd& tkHCJCfN`"@Ed ddeƐdH@J@f  @  "002Nu" KC`e Nn`d \N l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNuC l ", Ⲭ dfѬ SA 0! Nup"N"p`tdbDA0Hg<<R@f|0HNV*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNuak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuNp`pNu)H9@Jp4N܎P'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8N4  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNxHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXtHB9BL@@TAt )l g.A( f hgSASAgRB`9BJN܎SAgNu)l g,vARC( g9CJ9|Lp!,N܎ FPeNubA JpBQA/)H )l gBlJpN܎B Aprt0 0BBB R@ @efA000 0PB0 *00 000\0X0 *0000 0P0BX0, *@00p1| 1|QBX0 $HTH0P &0 *0,NupNSk [0NupNuHPaH8 _&X Pf/|~ K!zag @ ep 24C"2 S@ػ Td BTA3A0C4$I2a222B"0@2A\xvaRg<2#M 4B3BS@ -f ػ Td>BAAb8RGRC`3RSG5GC5C J1DcaRF F e`RG GcdNuXASF1F41R 1h4 x1EDgVA)H)H 9|J?<NNTU@g,ACg dRhdRh(gpL8N܎p>L8NAJ0?C bL000zH?A/.)HpN܎LrHH/>Bl/,ff.f.ffNu l /.g&, ^`D&, N`>&, R`8&, V`2&, Z`,2,/4WAARA0,/6A hfRAS@f9A/,&, Jo ? CN40`@k Ap0(/.NuA Nup)@JphN܎LtH &JKBCH .A/~0 1PP1P1PA L? &<@>AFG0000X0000X0000X0000C ~AJ0g0  pi, N܎"F QNuYp-KNu _b@gGHpp 0f NuGNp4 @"l`Yd&-KNNn"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`$Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuNn"l`QepZNt"l`]d6&|0NuNn"l`]epZNC ҳfHP0(NV$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuNn$l` epZN?<NNTUVHfN-4HxAcN4NxNB+|+|+| +| +|+|+| +| +|0+|4+|8AtN4N,GC.RSCNpJBgpF$VHfN-HxAcN4NxN,GC.RSCHPAt`N4B/-4AtN4 ,j+@p#CN>p#CN>p#CN>BLBX -LN8&<x*<N@H -XN8L8N^Nx+@\ -XN8H <r$<&<x*<N^L8N@&<x*<N^Nx+@`/-\ -`CN/-\ -`XCN -LN8H <r$<&<x*<N^L8N@&<x*<N^Nx+@d/-\ -dCN/-\ -d4CNRX -X[^HgRL -L[^HgpPC킴N>pPCN>pANAi*N4BgBg?<?<A" NAs"N4)|2` JNUWHfN2VNBgBgA"N -T_WHfN20pNN2:A;N4AhN4)|2` JNN2ZN`NxAhNALNpNH+@h -h WHfN2BlHx N5BgBgA"NNZNxA$NA*NA0NA C$N`A C*N`A C6N`N8Select screen file for input:4C0N`HmHm$ <6Ѝ/Hm <*Ѝ/Hm0A[zN4Hm*A "_NfN6A6C N`pINHPHmA6"_NHPA*"_Nr"_NpN }VHfN6HxAcN4N6pNF?<NNT/ <}"NBgBg?<?<A" NpN>N7BgBgA"NNZNxA -XN8&<x*< NTzNfN94HxAcN4N:| -XN8&<x*< NtNx+@t -tN8&<x*<NtNx+@xA킺N: -tC킺N>pINHPAHr"_NBL/-LpN"<BNHC킺N/-Lp"<BNRC킺NRL -LN8H -tN8H <r$<L8NZL8NgpN>B|B+| -xJ^HfN:FBN:N+|NnA_>N4/-A`N4/-/-A^N4NZNx -J^HfN:Hx Hx{Hx9HxAc$N4S/-A`N4NZNx -x]HfN; HxEHx{HxuHxAc$N4R/-A`N4NZNxA큌NA큐NA큔NA큘NA큜NA큠NNJWHgpNNN8&<x*<NpJBgp/ -PN8&<x*<NpJBgp$VHfNj -"-ND -"-NV+m+m -"-ND -"-NV -JWHgdpN -"-ND -"-NV -\HfN> -R+@ -N8H <r$<L8NZNx+@N? -R+@ -N8H <r$<L8NZNx+@ -\HfN?f -N8H <r$<L8NZNx+@ -R+@N? -R+@ -N8H <r$<L8NZNx+@?-?-?-?-AN" NANN/pN"NHCNN`?-?-?-?-AN" N -+@AN: -CN>BX+mL?-?-N?-?-N -XCN" N/-X -XCNN/pN"NHCN?-?-N?-?-N -XCN" NRXRL -L^Hgxt;B+m+mNUWHgNJWHgpNpNNZNxANANANALNANANANANATNANANA$NA*NA0N4-N&zNfNA~Hx AcN4NFN8IMGC$N`A C*N`A C6N`N8'Select FleetStreet output file (*.IMG):4C0N`HmHm$ <6Ѝ/Hm <*Ѝ/Hm0A[zN4A6CN`Hm*A "_NfNFHm*p.N"_NJWHfNBhHm*N,.IMG"_NC*N`pNpCN N@+@ -CN>B+|BL -LN8H -N8&<x*<NTL8NfNC$ -N8H -N8H -LN8L8NZ&<x*<NL8N^Nx+@RL`z -N8&<x*<NtH -N8&<x*<NTzNN&L8N^Nx+@B -CN \+@/-A CNB -ЭN*+@ -䰭WHfNC -+@ -JWHfNDnB -JWHfNDFRR -䰭^HgNDF -ЭN*+@ -䰭WHfNDD -+@`/- -CNHP -N"_NCN -䰭^HgNE -JVHfNE+mB -JVHfNDRR -䰭^HgND -ЭN*+@ -䰭WHfND -+@`/- -CNHP <N"_NHP -N"_NCNBL -N8H <r$<L8NZNxALN/- -CNHP -ЭN*N"_NCNRN`NqNq -䰭^HgR -ذ^HgpNHPpN"_NHPpN"_NHPpN"_NHP <aN"_NHP <aN"_NHP -N"_NHP -N"_NCTN`pONHPHmA6"_NHPA*"_Nr"_NpNFATNpBLpNF -LCNNpRL -L^HgpN>AN:pNNZNxA$NA*NA0N4-N&zNfNG Hx AcN4NHJN8PUTC$N`A C*N`A C6N`N8#Select GfA Put output file (*.PUT):C0N`HmHm$ <6Ѝ/Hm <*Ѝ/Hm0A[zN4A6CN`Hm*A "_NfNHJHm*p.N"_NJWHfNGHm*N,.PUT"_NC*N`HmA6"_NHPA*"_NCZN`AZNN&JBfNH0AZN HmZ -N/ANN""_N$NZNxt?AH~N4NZNxt?AH~N4NZNx4A킲NANANAlNANANA`NAfNA$NA*NA0N4-N&zNfNIHx AcN4NO -NN@+@ -NTN@+@Bl -N8H -N8L8N@vN&<x*<NfNItHx NZ`D A`NN,0xHPN80004HP -`N"_NHPp"_NL"_NNZNxANANALNANATNANANAN4-N&zNfNSHx AcN4NYN8PICC$N`A C*N`A C6N`N,$Select Snapshot output file (*.PIC):C0N`HmHm$ <6Ѝ/Hm <*Ѝ/Hm0A[zN4A6CN`Hm*A "_NfNYHm*p.N"_NJWHfNTjHm*N,.PIC"_NC*N`pNpCN N@+@ -CN> -N8&<x*<NtH -N8&<x*<NTzNN&L8N^Nx+@B -CN \+@/-A CNB -ЭN@+@ -JWHfNUB -JWHfNUR <Ѝ/p _ѐ -N8vNH -N8L8NgNU -ЭN@+@`/- -CNHPp?N"_NCN -N8vNH -N8L8NgNX - WHfNVB - WHfNVfR <Ѝ/p _ѐ -N8vNH -N8L8NgNVf -ЭN@+@`p?+@/- -CNHPp@N"_NCN -N8vNH -N8L8NgNX -N8zNpJBgp/ -N8&<x*<NpJBgp$VHfNXh+mB -N8zNpJBgp/ -N8&<x*<NpJBgp$VHfNWR <Ѝ/p _ѐ -N8vNH -N8L8NgNW -ЭN@+@`fp?+@/- -CNHP <N"_NCNBL -N8H <r$<L8NZNxALN/- -CNHP -ЭN@N"_NCN <Ѝ/p _ѐN`NqNq -N8vNH -N8L8Ng~R -ذ^HgD <PINHP <CN"_NHP -N8&<x*<N^vNNxN"_NCTN`HmT -N"_NHP -RN"_NCTN`HmTpN"_NHPpN"_NHPpN"_NHPpN"_NHPpN"_NCTN`pONHPHmA6"_NHPA*"_Nr"_NpNFATNpBLpNF -LCNNpRL -L^HgpN>AN:pNNZNxA`NANANANAN4-N&zNfNZDHx AcN4N[$ -NN@+@ -NTN@+@A`N?-B?-FA퀨" N?-:?->Hmp _"NpNJ?-:?->Hmp _"NpNNZNx A0NAlN -0SWHfNdHxN, Can't find *.SDR file! HPN8 Retry r"_ N+@lNg -0UWHfNdpHxN, Can't find *.SHP file! HPN8 Retry .r"_ N+@lNg -0WWHfNdHxN,$ *.SHP file has | incorrect format! HPN8 Retry 4r"_ N+@lNg -0YWHfNe8HxN,$ *.SDR file has | incorrect format! HPN8 Retry .r"_ N+@lNg -0[WHfNeHxN,$ DEGAS-file has | incorrect format! HPN8 Retry .r"_ N+@lNg -0]WHfNfHxN8% Screen-file has | incorrect format! HPN8 Retry 4r"_ N+@lNg -0_WHfNftHxN,4 Sorry, GRAFICUT runs | in high resolution only! HPN, Quit r"_ N+@lNg -0QWHfNfHxN8) RSC file missing! | | Can't continue. HPN, Quit r"_ N+@lNg -0 WHfNg@HxN, There's not yet | a cutout! HPN,Continuer"_ N+@lNg -0 WHfNgHxN8# Function not yet implemented! | | oHPN,Continuer"_ N+@lNZNx AHN A0NALN -0SWHfNh,HxN," Do you really | want to quit? | |HPN, Yes | No r"_ N+@LNh -0UWHfNhHxN8C W A R N I N G ! | This cutout might be | too large for an icon! | 4HPN,Continue| Retry r"_ N+@L/-H -LN8"_N(NZNxAXNA킴NBX -XCNJ^HfNi -XCN"-XNZRX -XP^HgNZNxALNB BL/-LNC킴N -LC킴NHPN8***4"_NgNiRL -L P^Hg+mLP/-LA C킴N -LR/A C킴NAhN4NZNxALNATNA`NAXNA\NA`NAdNAhNpCN>pCN>BLBl/-D -ЭL/ pCN>BLBl/-@ - ЭL/ L   ^Z@8|:H: &$J$ &T4| Z&TP2X8` &>f>pJT> ,~$20@$( :4RjFFRRRT`VNTtD6.z 8>F<&&J.z 8*,@ &:z 8 GRAFICUT V1.0 (17.09.87) V1.1 (26.09.87) ===================================================================== === Ausschnitte aus Bildern zur Verwendung mit anderen Programmen === ===================================================================== (c) 1987 by Walter Jansen GRAFICUT luft nur auf Monochrom-Monitor. Wenn GRAFICUT.PRG gestartet wird, mu sich GC.RSC im gleichen Ordner oder Verzeichnis befinden. Wenn GRAFICUT.BAS (oder GRAFICUT.LST) vom GFA-BASIC-Interpreter gestartet wird, mu sich GC.RSC im gleichen Ordner oder Verzeichnis wie der Interpreter befinden. File-Men ========= Select drives - Auswahl des Laufwerks zum Laden des Bildes bzw. zum Abspeichern des Ausschnitts. Laufwerk jeweils durch Anklicken auswhlen, OK zum Besttigen der Auswahl an- klicken, Anklicken von CANCEL lt die bestehende Auswahl unverndert. Select formats - Auswahl des Dateiformats zum Laden des Bildes bzw. Abspeichern des Ausschnitts. Auswahl durch Anklicken der entsprechenden Felder. OK anklicken zum Besttigen, Anklicken von CANCEL lt die bestehende Auswahl unver- ndert. Bilddatei-Formate: Screen - Bildschirmkopie, 32000 Bytes DEGAS - unkomprimiertes, monochromes DEGAS-Bild (*.PI3) Printmaster - Printmaster-Library (*.SDR) Ausgabedatei-Formate: FleetStreet - Ausschnitt kann vom FleetStreet DTP-Programm mit 'Merge picture' geladen werden GfA Put - Ausschnitt kann mit GfA-BASIC weiterverwendet werden BitImg (RCS) - Ausschnitt kann als Bit Image ins RCS geladen werden Icon (RCS) - Ausschnitt kann als Icon ins RCS geladen werden. Es werden zwei Dateien geschrieben, die erste ent- hlt die Icon-Daten. Die zweite erhlt ein M an das Ende des Dateinamens und enthlt die Mask-Daten. *** Bitte beachten: Das RCS kann Bit Image/Icon-Dateien nur bis zu einer gewissen Gre verarbeiten. Falls der Ausschnitt diese Gre berschreitet, wird eine Warnung angezeigt. 1stWord - Ausschnitt kann von 1stWord mit 'Read picture' eingelesen werden. (Nur 1stWord V1.16!) Load picture - ldt ein Bild mit dem ausgewhlten Format Save cutout - speichert einen Ausschnitt im ausgewhlten Format Extras-Men =========== Show cutout - zeigt den Ausschnitt (falls vorhanden) auf grauem Hintergrund. Zurck mit rechter Maustaste. Invert screen - vertauscht schwarz und wei. Kann fr manche Bilder ntzlich sein. Dieser Menpunkt ist inaktiv, wenn eine Printmaster-Library geladen ist. Ausschnitt aus DEGAS-Bild oder Bildschirmkopie ============================================== Wenn ein Bild geladen ist, wird die Menleiste angezeigt. Zum Ausschneiden Menleiste mit rechter Maustaste deaktivieren. Ein Fadenkreuz-Cursor wird angezeigt. Cursor auf eine Ecke des gewnschten Ausschnitts positionieren, linke Maustaste drcken und Box in gewnschter Gre aufziehen. Wenn der gewnschte Aus- schnitt umrahmt ist, Maustaste loslassen, der Rahmen verschwindet. Ausschnitt anzeigen: Menleiste mit rechter Maustaste aktivieren, unter 'Extras' 'Show cutout' anwhlen. Ausschnitt speichern: Menleiste mit rechter Maustaste aktivieren, unter 'File' 'Save cutout' anwhlen. Ausschnitt aus Printmaster-Library ================================== Im allgemeinen wie fr DEGAS/Bildschirmkopie beschrieben. Es knnen jedoch nur 36 Printmaster-Grafiken auf dem Bildschirm dargestellt werden. Wenn eine Printmaster-Library mehr als 36 Grafiken enthlt, sind die Pfeil-Boxen am unteren rechten Rand des Bildschirms aktiv. Mit diesen Pfeilen kann, bei deaktivierter Menleiste, durch die Library gebltter werden. Ausschneiden, Speichern und Anzeigen des Ausschnitts arbeiten wie fr DEGAS/Bildschirmkopie beschrieben. ******* Dieses Programm ist Public Domain. Weiterverteilen bitte nur als ******* komplettes Paket, bestehend aus den folgenden Dateien: ******* ******* GRAFICUT.PRG kompiliertes GFA-BASIC-Programm ******* GRAFICUT.BAS GFA-BASIC-Programm ******* GC.RSC Resource-Datei ******* README.TXT dieser Text in englischer Sprache ******* LIESMICH.TXT dieser Text Fr Kommentare oder Erweiterungsideen, bitte schreiben an: Walter Jansen Neue Strae 3/1 7252 Weil der Stadt 5 GRAFICUT V1.0 (09/17/87) V1.1 (09/26/87) ============================================================== === Make cutouts from pictures for use with other programs === ============================================================== (c) 1987 by Walter Jansen GRAFICUT runs with monochrome monitor only. If you run GRAFICUT.PRG, keep it in the same folder with GC.RSC. If you load GRAFICUT.BAS or GRAFICUT.LST into the GFA BASIC interpreter, keep GC.RSC in the same folder with GFABASIC.PRG or GFABASRO.PRG. File menu ========= Select drives - sets the diskette drive letters for loading/saving. Click on the appropriate letter(s) to select and click OK to activate, or click CANCEL to leave setting unchanged. Select formats - sets the file format for loading/saving. Click on the appropriate field(s) to select and click OK to activate, or click CANCEL to leave setting unchanged. Picture file formats: Screen - 32000-bytes screen copy DEGAS - uncompressed, high resolution DEGAS picture (*.PI3) Printmaster - Printmaster graphics library (*.SDR) Output file formats: FleetStreet - save cutout in FleetStreet format (*.IMG), which can be loaded from FleetStreet with the 'Merge picture'-function. GfA Put - save cutout for later use by GfA BASIC program. BitImg (RCS) - save cutout in bit image for format Resource Construction Set. Icon (RCS) - save cutout in icon format for Resource Construction Set. Two files will be saved. The first one contains the icon data. The second one will have an 'M' appended to the file name and contains the mask data. *** Note: The Resource Construction Set can handle bit image/icon data files up to a limited size only. You will be warned, if your cutout exceeds this size. 1stWord - save cutout in 1stWord's 'Snapshot' format, which can be loaded into a 1stWord file with the 'Read picture' function. (1stWord V1.16 only!) Load picture - load picture file with the selected format from the selected diskette drive. Save cutout - save cutout in the selected format to the selected diskette drive. Extras menu =========== Show cutout - displays the cutout (if there is one) on a grey background. To return to the normal screen, click the right mouse key. Invert screen - inverts the screen, i.e. black pixels turn to white and vice versa. Can be helpful with some pictures. This selection is disabled, if a Printmaster library is loaded. How to make a cutout from DEGAS and Screen pictures =================================================== Whenever a picture is loaded and displayed, the menu bar is displayed. To make a cutout, disable the menu bar and display the whole picture by clicking the right mouse key. A crosshair cursor appears on the picture. Position this cursor with the mouse to a corner of the screen area to be cut out, then press and hold the left mouse key and drag open a box. This box designates size and position of the cutout. When the cutout has the desired size, let go the left mouse key, the box disappears. To look at the cutout, activate the menu bar again by clicking the right mouse key and, from the Extras menu, select 'Show cutout'. To save the cutout, activate the menu bar again by clicking the right mouse key and, from the File menu, select 'Save cutout'. How to make a cutout from a Printmaster library =============================================== In general, making cutouts from Printmaster libraries works as described for DEGAS/Screen pictures. However, only 36 Printmaster shapes can be displayed on one screen. Whenever a library contains more than 36 shapes, the 'Up arrow' and 'Down arrow' buttons in the lower right corner of the screen are used to page through the library. These buttons are active after de-activating the menu bar. Selecting, saving and displaying a cutout work as described for DEGAS/Screen pictures. ******* This program is Public Domain. Please, distribute it only as ******* complete package, consisting of the following files: ******* ******* GRAFICUT.PRG compiled GFA-BASIC program ******* GRAFICUT.BAS GFA-BASIC program ******* GC.RSC resource file ******* README.TXT this text ******* LIESMICH.TXT this text in German language If you have comments or ideas for extensions, write to: Walter Jansen Neue Strasse 3/1 D-7252 Weil der Stadt 5 West Germany