4IBM p@ >> FastCopy PRO << by Martin Backschat, Bergstr.16, D-8071 Hepberg // (c) 1991 ICP Verlag/TOS Magazin, Wendelsteinstr. 3, D-8011 Vaterstetten, Tel. 0810633954AO`  @`! #@%`'1 O5`79;=?A C@E`KM/U`WY[]_a c@e`gikmoq s@u`w{} O` @ ` O ` O ` @ o ǀ ɠ @ ` ` @`!Aa   !A!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMO/SAUO`  @`! #@%`'1 O5`79;=?A C@E`KM/U`WY[]_a c@e`gikmoq s@u`w{} O` @ ` O ` O ` @ o ǀ ɠ @ ` ` @`!Aa   !A!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMO/SAUGRAFSRC c`DESKTOP INF SALIEN SPC TPGIF_SPEC $`yIFF_SPEC *`MAXIDISK 0`PC_FOLIO 9`ZEST =`. d`.. ALIEN SPC `PBLOADNEOPRG `(BLOADNEOS `)#DEGAS S `+SNEO BIN `-NEO GFA `.NEO LST "`/-NEO S 401 SPC BIN '`3OSPC GFA ,`GSPC LST .`H,SPC S 9ISPECDEG TTP 3`OISPECNEO TTP 6`PSTRUC S 8`Q5SPhN* h@  I^@  !T$`  @ !@F 俻w B`, 7sI !(@R@PB@p`#@ @ #P.=0VD hB>p8F@@H` @ IB2T@HD 0,E^vx}~Kz5|w 0@A 0ߝ~ hy {i) >;nd~ؿ͠@^0_{!5( `(4wp@ $% }`"`Fv @TPű<`G?WK~Ͽ~`.^ M+@5oHA +{:TL?O ?g?gJL l{޴`pK O{~  a -P@ x&;X?7F<}pa .=|IHӠQ @/~ `y ñ: ‾@PCL(XǷ, ~$`G: 60cƉli  C \^? X੩@63'o2q@@J |C[?\`;T;>e7۰B1p IGIcDPmM=bMoM\} 3 Ri: xxAiҰë_ cک Fc?o'è_z @&L}`zX"fHf}@@eiR "{Soo_ q"0>c3 ` `%  @D{y pf2O<@ 8.0x ϖX# }MIH@? a`` 03￑7RLp?wGX!?ј@0| "`X^9 YB0?= A"v B P3/ F G nE@ x 01⪎sR0_o?F>BH}3+ gG~up%ػ1 ^ؐ(hCd@@?@ p?@I '@`xv!74 ϐ_ 0kaLt<ԻCy{ jn2x̎28 !iFq)dB D tOls珦3sN20 X3|g&~s43p0F" ?M*A+2rT&/?wE'X`86\{@r`t-XO`bgpJ O\WppϮ=NM(Z87čnI` B4/(` ?Coю1pN-Pu_|s  `{A1̅ɼӄol?{D$}2P_e eQ !#p@ 8 ]_Ő` Az7>@{80A}k!Qq/' Rḱh$?aUg~@?߸؍o`E$f!g_\8`$`cO@ ?" H ʀ %~Ͽ3ok[b?|l$yf $A h@c!A-<`%?ـ0 r,\ R|PP A@@>Dtix?"ǿ\@pX &C 1B!tɇ'CBGLǹ,!  9Q]O %x =wy.9A2e{p ZwH <ꁻàŐ@@ @ yd+S g ڥ~o8;À30(I=߇\@lY(2( @ SX.@ 1K? 6bȀEL٧}^͓펁 a0p! } ]c HbQ~J[`s`߆_U`?p8p$;w> 0S >À2@ E`!!C;-| Y~?<u_` #n|8P* z0H}z`#ykΙޤnsw?wMˏ!KSx[x>w3ɬ׻߯{wo~c_H;4/#/t@}o?;D2ÿo~a7HpDAS!0xjX,̼$z8qo{43dx8mǟl|%50@ QLD](@@$.)0t-mvA^T02Fa=yI@D$o4@2 (igKJm&? n?y=aL` WpgG'?:w@wJ/}i7Ghcw`o,Rq (FcR07"[EPennb}0߿<8ŽV =ЀR+Bh(b_/Ԃ0۠?Q3 f`Q0eۄw(=,ƀ ˆ lu gI(M'X|"qւ)x(@WĹ6L>Y>}?80@ 'u HϏ5`@@`r7X#poH?u&K#?iK ̔>'Q, o 3~0@ B!" o8`9n R`,x~W|@$&ABax{I1d3vQoT HсA ֘|RW%-SG+!(  9lAHp=#  ZCHl$TR }$0Dvo9 o?'%drPb_㥈d"0 9  ~Æof@ >_a(GqP$Pl F~NoHUx  02@p$sæ[ƏǃF;,_Ϟ0GG7o dgp[C`R.#cV"z| p#l)9_9@ -`p@D~_\)/DQFހ 7q`q3vY˞/?/T A0z) GB'f@VK}_ }PB ).p im*MP  g.㳀#/(@a ظpv?"F.q  C &"M !Ĩ@d̗ j+-€ AL^D#@z P8lYh ? Kc0L"`|4 \  zWA+)6 8_o-1 ̥#*2Ο {oOj]pocwe NZzDq(s@  DmL 1c66p ` 2 & Q\8`0@So@ؠ6q?x`od輗q@ + + .;.,V  H @ C@@ 'f  P @ P:Z@@!@F @ ?v D@TP  `̩*@@"  ǂ   ;>` #@ @  a@H` p`  B ICKo@W >( "~@0 "u;#@Po\ 0CoC@AcG} 81wǺ-_7z`@ހN`?5ŷK ^l<#/D?uᩜ<¿P}OyD@ 4C#b"@A?A7S9 + L<$`n BߴT0@0#aNO3c1}b $'Ǔp8;Hi9 Af k _*a,@4(sBt c;}`eaK3|a`Ar`@ I ?g@@ jπP! ? 14'A O u3OSZ?a/H!z-i({?nD`.?? pAVV切6# kMw~h(\pA;٫?|1n>grxX)riK l@F0Wpy~CAMpE^)EW|i~#\gl; AtV߹0/s+QPW(0L Ѕ@ku9?`sK|4 p`ǽ BG@&p^@A ` Nm0[v.h %$ v}8 F 2|,&$?Ɋ1@ H? ~;D $0mc ?~o| `X^ wA_ @/!  B T>,c 9F(GgfM?G? 9 XN7/ kp?}DP hD`  &: + ߿Z&FcQIlpR)VX!ǰ|Oiku͆_S[|L A;D 7J@x4a73^?++paD + w'0@, zਜ਼c/w6T_}&ܦ" ݼB(ؿ:iATW"W@-#]@`zP(d:0Fhmժ j4wq ד?|@ 3x9xT~C~?W0w!lo.*h6S#FB퉨O d>Ѹ0q>n}Hم`;I[vt QX |ub&8$%#_~O[' ?pl0 Q( I?'~aݼ# ~*H\P( ye<=9,}`?Y;@D+Uw\q11[o ,E֬;LS T,ИֿXp'[ptYAO@cLRXFCH4OO6>`)V1 *Fd | ōMCA }m@]0>쓯O'8$Fi 3 x><İ PPRb)6X؈`##9G  E^  ~~:`8pFHUCgғE<8$]9Kut6 3SyHC !A<~G෻6|<l'|ݵzBAaʧ//D@?J pi: 7=y!c P]<hOPew4C=-q{9jzc,?foz?f$?vCwp{܎'Y<}|w|= ֛~FɇϿH$b1,Ӯ}||'|3\0B/?S ÿÿ_߳LW'K{<1ok `dAig(a^ިqa p RmyŽ0?σ@8918?37Ԁ$@^?3w'vI)v>iɏ}M69jso < WR7,o:1nWr7p )J p" ӾZ߀ EvAfEC@Fc2 CDq6xAt~ ;߮m>)vA==V;<-k\   G|R*mT> ݥ#&o3Q@( >G(gk,6]! l ) 8 7zݩoiOV@ A0 (`P I;`P G``K  OǸ@(0?+?7x7}CUPĹ0Lk_ sPPFŌ& g C Epc A~pр @@Hr{hC?gd|] pO x<3 }Z{>r@>|?~yس0ns@Ǐ; 0 1 `|(/Ӏ ,@p#?o8Y{m  !P3Ot/osczM!"@8'@F C (ڔ@  #@)){@!!g$3~y 裨 `(+zX X0]DBHp` 3!!A X 0| s! P8A FΣ@A @C`pC g_L?V']T `b~$fMP6)P,b =((y'&/AiabyeGën3{-}{HR4A !I&ҒQ e+`s`?ppw υ>0?09/!{g^ >@Ђ G@¥ |Hp;7ۿ#n96z=ab](^ؿ[=% `ԁ)r8Jb9*(üH`@Dl6~~*(zAVPp āIOq$p'P_ }} A ~BAk -@;OV $B0D:a0lo 4IQp?-_״OE L3z @ "FS\  zL`2 ;W%qJm̓GE\@B0@c,JD #@fs5 ?F#o N8_ >m, 004,\!i A8 ʆĈ'#@* C O l Bb F:ȓFq +(p@`lHpqLH Z ;̇10{i%T @/oԨ91!Np@`[SpD# }3 @VTx9 @IfZ}/ :R!@F @ R<W'*@ @" 0<@` #@ @  J VD h@(pۿP@Hb$ Hs@IB ICK,@@HD 0P @ |<P os?x@~7`K010 [n  0  +7ŷwD0?u > vb80 k` A ??ș`߿n}tg K=0bR?k]sE60 ؼ0lf ; }Ox7O}=Oa?QwF={ 4>C !/P- !Y@ F @FGo1C!^`:@~!4!Z7s^k"-} b `}}??A|5@CEh0 o?{k@;<8#A DV`x3>fᗰ( (:VA/!.AѰ@}?xX}87:C{.9rbb 2 U(' ^ dȃA>0p* `%c @|iaPO0d` @ p@ ( $xc  @kro;?0 `R=zo|"P :w>{{zs{Oi9n w  tY0 4 x}@v49:w_<r۷-Z|15__L$@np@}  8#~   @  }  Q=O LV9G0oH=$ XWKb>zi`]ƹlXYQ='|BP@;p>¤ ?B?}Bo݌7p  gAp `@J`w> A8\x=`f( 0@ x!G?>/ E@ 4c4 ׿? g@IKP) I<}G[3$[B? ШX:@|?pP$۶W A%Uoϛz@ݠ @nw 1*U@"ύ7 !>|pg@n(ll|g'w뫀c#>>wy~so['@} (6ic)H/s~*w81o<-lsݹƯ< bD>̧?_I_?5/??9?k`Ij!!풫Bq2wWGpXYV{30?BB "P 6W0L9??:mx7('ow?@_;?mp0`<aS_`0O4 2: #F@I T_}gUȁXGaA9i@@|^ Cpfw捠3O }` )`)gz ׼[{{"7Wy_cG׿ &2Ox k>_ſ: E9p [8{5=ۈHAh!c~xlH|o`W7& ai ^68sp>y||8:&ox0@*h@@aM nX @&>'XN~e`0AxW'<ւ 9<{v$<yW0ׯX<)K0"!<2g&{_@+%D}n B  MÏ8-.D|osYw eu3 J L%x$P;[<,PX <@̧| F`d TzZy.A1 gcy_/e4AJ= |bt1Fy*(C ٷ:~r! /^oBD0[JC8G,P1!pCp|I@@2w} w:-\O_/dp nL~>_>H# ي w<N݄Hp ` nFJ A}pu[LA bs( `@ M0PP@2\{398? tx0 T9pT8/#{a$U2B/cU=0+gܯ= 0?gx`_ƨ@ uUn0? _plO@@ !AP@ gQe P@@çvotH[@@+|k@" a01 (``Sh~"03$E  0W H @ |8  D)6@27X` @ @@@eB QIBX*8 B`!` } .P|@g >h=݆kɀ`47 }""'@P2@@ _@D#]` }W@@ -v@S{`5_@ A  ?1߿1 _ pE60#~8/ 9 ?{   ^ӿ}4 g{~ s|p 2/^? !Y@FCwg  @1Cǀ!!_}9Á14i@j9 -_Xߏ |bq`C_;(`\oр;0DŽ@@@ I Lrf<` vw_q@Dh(b$Od;Eۺ:v&}!7@G@]AmDe@X,?@OH?@@p5?s `N v :@@@p@@ _>GNR)Xb!~<0akϢ_#b9< 7"mJߟnM^޸4 <0?[HGP6OHnA k!>,b{pC@b @RC#a,ًc O|Pp}&;ҿ??s@o8m1 *_?f/(l,ȼ>G?Ѓ3@~髂d}ٿ@0JAlhG0یNFM7A  @k;%-</ÏB`@zcCw3<5$M}` P?0M`a~p?\^ ǏC @AQ9AAIoƁ53p %H |(M+cGS\Nu0 ;Oו<Ɗ`H 0 !2(CB . $! 2 lߛ@P@@ߊ `p0@&yx!{푈h0@03cz6'=B4 \"0x,D (Xjŀa`T# F'@^2! @X|m*@/@ PgO@ x% >\A 0, 0L ?&^x bɇwI9w:I^~\6dSwG?m̚O$;;L_D( x(L^h&?+!Yv88oP*Oa4.8g{?߿9^!m߿]Ap>'88:@! ;&P g?DyƬ@!l !# `@ O(dk,6 ??2Bo#x'  8o +D̝ǟ?0&8x>U}wlhO/>F}]S,` 0<(*:y$Jޣ7A(FOW/w __}Ƀ 'P0l?yc ox\@@!߮ OhKO  `dЄ` ?4iD8&fLRP, ?H##$#?0{_ s{5I0Nُipx|m:t mw[%fok pؠ:lgw%`w$}` !O`s'>5#ְF@1@D`= 0D088!$/P3ZaB ދwz8D qBn0/Q_ؿߚsqo|"L {wJ0 @1k۫ ?hcq-Y a ~ 82x- 8{GPs5pqNs)`' xXh`HT+H106`W T0@ ƠOy ;l@F×K5Gx>o@xpVmx}8N>.8˛@<$Cps!_?<9酂0 tX$Μ AȋS'Lѕz$(><* >X>9J},@` {&gp@oG8Bڝo  &OCA_@)Kh0!09Ă F@?kKp8 -GaG'JP042& OTp8  X~/d $@. rtPB`.]FX~pYЀ}/~`  g0c p cCr @@D`@ D$.zS р `GV? '(@ FkEz `%k|E >(?Ͽ\ ?; w Y0B d@ AD$,s<0@@!8 @*@SE P@ B ``VJ`t 0q9 `c& \3p`V0a 9 |Ɯ@@@FA?1sb @@ @Ѐq    UED"DUDED44#!@ DEDC4UTDED44!##UDEC3"DTGeUTDE44D@@eUE3"DDTeUTD44EDeUTE4!DD  eUTD"DE4UeTDED443#eUDEC!"D4T!"#!"#eUD4""ED""#3!"#3TUeED44"%D"""#34""#3eE443DUD"""#3"""#3DTe~%43DUES""3"#""e!UTDDE4""O"#!434"CDeUDTEG #3""!f33TeEUDD "#"3"$U4evTD"!3"EDT"""f#3!"eCTDED8U4TDEO"""#3U""e#334DD64UEf^#"DC4""3#3fUeDTD4ED}#"!o$%""C#34UeDE":34fTDD|"14""#33UeDE0TD4fDE}"p!""#334DDe04UCETDDu"#3"!s""#4CDDE0.3eUTDDp!""=>#"343UD4ED< eTD4ED>@!""/$3CTE34DD/"eUTE34DD!"4C?"#$D433DTEeUD433s"4!""#34DUefTED334["!$D"""343C#4DDUf TeE43#D_@!4#DD"""33C4#UDDTeE4D~@$""!3"#344DD"efUTE44DD}@DC43""#3E4DDf"43e~UTE4DD`3D"C"E"#34D3D4"CfEv eUDTD4%EDD3"C%"#34DE4D3"UCeTDE4D~@D"3E4""#D43DeC"3E~UTD43D@DD"3"#34%4DUD"e3fzTEC4DD34C!"?D"#34D34CTUefDED34@D34!D?"""#3D$34TefD"JUED4D}4D!"3_""#3$4DUefv3DTE4D]@D!33""#4DeTUf3jDE4DCy4CD!33""#4CDTUev33DE4CDQ3DC!""#3DDTUCef)E43D43w434D!3?""#434DDTU3EeC34D~3D4!"U"#e4DC4EDT U33D4w"#D!~"C43eDDT3E4U8C43DED""!# DC44DeTU3~EDC44D3~"""#DD43eTUCE>D3D43E@DD!""#433D4DUETeC433D4DE?!""#DD433C4UETDDe433C4ECDD043EUDDT433E%3DDpE4T3DUDeE4TC3"UDD43eUDTED%C433#DT3U?XD4CDT3UeE+D4%3#4E5T"3D?04DT3UE3D+C4De$43E# $E?DD34"3TEUe DD3C434"ED?UD4343""CEDTeUD4343 %D?<D433"CDTUeED433"C4#<"$3'UDC34D"#T3EDC34D#4}D"$D433C#DETU D433C%#D4""DC43Ee"UDT(DC433e#4}4CD"eD3$34CDUTE eD334CD4E!e4nC33D"DTU#4EC33D4"%D~#D"CD4e!33U"#DTCD4,E%33UDTD{C!T#3D3"4UCD"ET#3 %D3"4CD4C4D%3D3#e"U"4D43DE3#""4D 3%34DDe""3#"U34DDeE3#"44o!3#C?34DU""De#4C34DfU%33C3D4#D""UE3D4f#4D33D4@"4C3DU3#T""4ED3DUf 3#$e443C"D3434"fDU"D343E4DC#3~""3$3C4DT""#e3D3E L44f#3~""#3D3D4e""T#3D34:D4eC#3D}""334eUDD""#E3344*6"TDD#34#3"3T4!D""#eDE3C4"4D#3|43D"E"U4"#3DDe4xE$34#""4433DD#""U4433E :DD#44^4"3"3De"4"#3"43$JDe4#443D!"fT"#443D%0e3#4443!DeD3""4#"3CT4ED3""%4#v4CTDe3"3"#E"4C4.De33"#4}@D"3UDC"44"D!"33D#2<E44"3D}E3CDoD44""3#e3C".D44f3#E~@E#34CDD"""e#34C34*JD%E#43D"3eDC34#""D"34DC3 .4#"%D4"3DDeC4!3"""3DD4# J43E4?D"3UDT4""3D"34#"6DT4"34~e"43CDD!3""#"434:DU3"#4@"4DU"COD3"3"44E#6D33f44_@"4DD!C?"43U34DDEC#"4334D"D3C"U4!3D"eD#3CE44*"3fD#E_`DD343C#"DD"E34432>C#"eD"44_"CD3%34#D"C"D3"43.4#De"D`D"3C34!#D"E"3C344#2,D"e344D"!"3CD43#D"E"3C4>43#eD@D"3C4"3#"$DD"3C4.3#%4"C34"3#DD!"C344E3#DD%3444C"D#33D""4Ce"4#33DE"44_34"CDD3""34#"CDe43)!f%T"34#D4O"3C34#U""3Ef344"#DDe"3$44_@3C"3"#f34EC"3"4# DD344wD33"4#Cf"D3eE34"4#*CD3E44k4$D""33ef4C#D""4"33D4C#4@D3"UC3""e#34f"4DC3"T!#4=!"3"Ef3"#D4!"3"4Te3"#D4P3"3Ue#""D3C4D"43#e#""%C44-!"3e3#"CDED4""34f3#"UED4M3"C!"#"3"vC43"DD4:U#"3D@C!""v3D#C3E4""4"e"D3#34$!C"33E""#DC"3D441U3e""#DD4@C"3ED3"#C"f"344 DD3"#"43C!De3"#"3C!4"4DU3"#"4 @C""3"#eUD34"4 DT3"#E!D34@3"#"Ee"C34D43 DT#"U4L""3"#3eD""443"zCDU#TD4D3"#e"33D"44"#DC$"3D44a@#"3"DeE#3"C44"3" VDeE#44P@3"#"!e"33CDE4"4#(zTf"344F"3w4#"$3eD"E4"3#"UD4 !"""3#EDD3"e"44 CU3#%4p!"#U""CD33T44"#2U""344H #""!E#D3C34"4""UE#344b"#3E""!"3D4#3CE4"U!4D!4#""3D3"U4~C#""33"d`#3!""D"#3C344"D e"#3C4@34"#"43CeD3>4"#""!p""443#!"CDT""f33#!<"3#3CU"!"4"T#3DC4"!"8"#C4E"3TD4""#D4e"3!""D#"!U"34"4DD#"!"<@3C"#e3""4DD4"#+f3""!#3D4"3"eEf#4T/D4"3"!3#"34E"UD#43"34e"!w"#3"E43"TD"#3D" 43e!43"""!4#3C"4)D"e34q3"""D!434#"""De!34C#B3#4"3eC34""#"34"L3E#""!C4eD3#T"!"k"#3"U"CD!"#e43"'~TD!#344\!""3e#E!"D""C3"#T"4C#3""eC!#E3"""!#34"@!#3CD"""E!3#3eD""" #34B"3"#!""D3DU+n!"34""#3"UD!""#3D".Te"E345!""#DD3"!E"4"# ~T3e$4p`""!#3DT""D4"!#3UE4"a@"!#3"UD"!44"#TDE4x!3"D"#4"4D3DTU#"4P$!3""#4CD)~U3eT"4D7@!"#"3"4D!"#4"UT4eDr@#3$DD"!"#4"3DeU!"p!"#""334D4!"# TU4U"#!43"e""#4D34 UC""u!"#3D""$!C"4#3DeT@"!#3"""4C!D#~4UQ"3"!#4"3"3D!"#>4Q!"#4"4!3D""#DU"j"!#E44T"!"#U>e""z!""34D#"!""3~eD#z"!3U#""D"!3Ue""X@"!#"4"D34!# C"T_"""#4!D"""#4 U3$n!"433#C!""3 U#"^!""#3"!"D$#e">!"""3#!"3"D$CDb#!"C#3D"!>T"y!"#"3CD!"#"3CDpD"!"#43C>"!"p"D!4#""3D!C>#t#D"C!"#33"C#t""3D#!D"43C!4p"4!"D3"3#! >"3"#u!#4""!"#3C">D#!"34!""#"3D#"`!""D#34!">"p`!""!D#3D4"""4|"4#!"33"D"3t"D!"33#" #t"C_"33!""!#"@"!3#3""D"!#"p!""C43"!# "C4"`}""!C3#" ""!4#s!"4?""#3!""r""3?"!"#3"!0!?""3"#!""#$3/#""!"3#""!4"5?~""!3#"x"!C3#"qC?3"!"#"3"!"#"!!?"""3#!""d"3="!#"""!#"c"!"33!""#4 w!"#3""!P4?#!"3"":4!3"7!"""##3!""@w""!4#"3"!!{~3!3""">#!!?#""!3 "3#"A/ / BgN "Bn zk:hZ0. @k&0( @g 0.z\g 3hb nm zjhZAol/ / Bgp?/:jNM&` rBn y hdlX0:\ @j/( Hz\HnNPT Hn`}HzBg?<NNPBgHz?<=NA>OHzHy}??<?NAO ??<>NAXHzjHz?<&NNO HzVBg?<NNPBgNA`nBx`OPF#AL@H oLH@C$xN0<$$Qa|/8A$!?<NAT!n`A!ZNuCRiJi j@0)iie23iA@0)2J) k`1`Q0Nu0Q0NuC^0(2j.2(04BIA6A3CHjDC43CJ3B3@ Nuultima_5.neobsslinksrechts(schl_0schl_1$sv_resnVBL_NEOneo_vblpicturedata_NEO0filenamemouse_ONquit_vbl.go_rechtH^smouse_OFH Fvbl_anzaHhlpalette_HpGEMno_animaHhtionzaehler_Hvbl1zaehler_Hvbl2kopiert_Hdatenerstes_fHarbregfarbreg_Hanzahlshow_NEOHdchromehhHz^HzbN 0:X@ F@=@0.g0.F@`p=@=n=n0.nn************************** * BLOAD picture * by Mutter Frdric * Bonjour ST-MAG France. * (c) 90 * length oder Dateilaenge * length = 51104 fuer .SPU * length = 32128 fuer .NEO * length = xxxxx fuer .SPC (variabel) length = 32128 ; Dateilaenge fuer "xxxxxxx.NEO" pea mouse_OFF(PC) clr -(SP) move #25,-(SP) Trap #14 addq.l #8,SP clr -(SP) pea filename(PC) move #$3D,-(SP) ; OPEN FILE Trap #1 move D0,D7 ; D7 = handle lea 8(SP),SP pea picture(PC) pea length move D7,-(SP) move #$3F,-(SP) ; READ FILE Trap #1 lea 12(SP),SP move D7,-(SP) move #$3E,-(SP) ; CLOSE FILE trap #1 addq.l #4,SP pea picture(PC) ; Adresse des Bildes pea show_NEOchrome(PC) move.w #38,-(SP) trap #14 lea 10(SP),SP pea mouse_ON(PC) clr -(SP) move #25,-(SP) Trap #14 addq.l #8,SP clr -(SP) Trap #1 ; bye bye INCLUDE "NEO.S" SECTION DATA filename: DC.B "ultima_5.neo" mouse_OFF: DC.B 18,00 mouse_ON: DC.B 08,00 SECTION BSS picture: DS.B length ; Hoechste Zahl Bn0.fNlp=@`N=n=n`>N^Bn nl&2nn80nn8H@HRn`N y hdfjHzTqp?NAp\O`0.gp0.HCaJ Q-h"za i-PBn n l ng nR"nRRn`0.Rn @ l nRp ` nB za/(0.HA`/N POp=@0. @aX0(@g0.fAe/ / Bg?./:a2NCv` nf=0: bit string cmp.b #$80,d1 ; dummy value ($80)? beq.s decompress ; yes: ignore it runlen: neg.b d1 ; run length: d0.w = counter ext d1 subq #1,d0 ; decrease # of bytes left move.b (a0)+,d2 ; d1 = repeated byte lloop: move.b d2,(a1)+ ; store byte dbf d1,rlloop bra.s decompress bitstring: and #$7f,d1 ; bit string: d0.w = counter bsloop: subq #1,d0 ; decrease # of bytes left move.b (a0)+,(a1)+ ; copy bytes dbf d1,bsloop bra.s decompress dec_fin: rts F\O0gp`Zp ??.?.N,\O0gp `@?. ?.p?Bg/:VN: =@o0. @V0(@@fB@`0.N^NuNV0. @V0(z\n 0. @Vn0(z[n 0.R@=@0.@ no:0. @V<0(@f"?.?. ?. Nf\O0g0.`TRn`0. mF0. m@0. @U0. hn(0. @U0. hn n fp`p`B@N^NuNVH 0.  @U0.h>0.  @U0. h<0. HAV$*Pmm0-mGmmm 0-m `8` Bx`OPF#AL@H oLH@C$xN0<$$Qa|/8A$!?<NAT! `A!ZNuCRiJi j@0)iie23iA@0)2J) k`1`Q0Nu0Q0NuC^0(2j.2(04BIA6A3CHjDC43CJ3B3@ Nubss,linksrechtsschl_0schl_1sv_res VBL_NEO|neo_vbl6data_NEOquit_vblgo_rechtHsvbl_anzaH0hlpalette_H GEMno_animaHtionzaehler_H,vbl1zaehler_H.vbl2kopiert_HFdatenerstes_fH2arbregfarbreg_H4anzahlshow_NEOHchromeh_=PnByvNxp?NTO :__к_ @ :_Ш$#{# zW к_ zW 0:XH? zW/ zSP/N& "zW zS>1i p3{N3fN^NuNV/ *nggR` % gB-*_N^NuNV=zR0:RzRX@H3vnf0.g zQp0(>HHv=@0:RGFA-BASIC3(666<<<<<<<BBBBBBr.666:::::::>>>>>ppPICTURE LNEO_MEMORYNEO_BIN NEO_BIN_ADRNEO_BINIMAGEFREEXBIOS NEO.SHOW FOR GFA 2  PFI4 F 0FFTNEO.BIN!F "0WH!} F MALLOC T ULTIMA_5.NEO!F*V&!! F SUPEXEC WI! F MFREE 0g$`L0N^NuNVbBnp=@HzUPp?N2 \O/:\HnzN62PO/:\HnzN6POBgHnzp=?NAPO=@o?.p>?NAXOHnzpA?NA\OBgHnzpzP @\:h 0:Ol0:O `0:OzO=@Bn0.nlZ0.zNl0.R@ @[ :[ԑ Bn nl&0.HC\r0.H @ :[Rn`Rn` zS [ zS =zN0:Ofl0:O^zN @[BP0.S@=@0:O@nnn. z[dSh?<0.HA[ P/(N:\Op ?0.HA[ P/(N\Op"?0.R@ @[/( N\O zZShp?0.R@кZ쐺Z' ' NEO.SHOW FOR GFA 2 ' RESERVE 50000 neo_bin$=SPACE$(766) neo_bin_adr=V:neo_bin$ BLOAD "NEO.BIN",neo_bin_adr picture=GEMDOS(&H48,L:32128) ! MALLOC BLOAD "ULTIMA_5.NEO",picture ~XBIOS(38,L:neo_bin_adr+&H1C,L:picture) ! SUPEXEC ~GEMDOS(&H49,picture) ! MFREE @HAZP P hHh N p"?0.HAZ,/0. @Y| ( "/N zYHRh0. @YR ( "-@np?Hnb0.R@кY.Y/N zYRh0.HCY0. @X ( кX""0.HAY~"P0.S@HAYl P "0.HAYR"P0.S@HAY@ P (#@0.HAY""P0.S@HAY P ( #@Ryu0.g0.Sn?NTORn` zX?("/:X?.N|PO=@0.gHz>p?N+6\O?.p>?NAXONP0.gAP,/ / BgBgBgBgp?N+tHzP$BgN,\O0.N^NuNV?.Hz> zKt h 0 rechts ( x --> x) lsl #1,D2 move D2,erstes_farbreg-bss(A1) ; E wird gespeichert no_animation: move D0,neo_vbl-bss(A1) rts sv_res DS 1 palette_GEM: DS 16 bss: zaehler_vbl1 DS 1 zaehler_vbl2 DS 1 vbl_anzahl DS 1 erstes_farbreg DS 1 farbreg_anzahl DS 1 neo_vbl DS 1 0g 0.gp`B@=@AC/ / BgBgBgBgp?N0.gp\?Hz=N$\O-@gxHn nHhN$POp?Hz=p=?NAPO=@m?.p>?NAXOHz=pA?NA\OBgHz=pz=no0.f`MN`lBx`OPF#ALL@HAMLH@ o PSPf"Hz( (Hp /8NHh a~O`4"xN0<""QC4<0<TT22<"QT2Q8 gA`A`/8A!?<NAT!l`AL>!ZNuM V"n2<><E}GCꃠHk GQ`DFRFGQeTe n"n ><Tp<< 2I2Id2Q`2Q2QNuJx>f@|I@K ACEMG><pJgNNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqNqACE """"""""$$$$$$$$NqQFNuHz_60Farben:schl_2schl_3schl_4schl_5schl_6sv_reslVBL_SPUTFarbreg0Fende_VBLjshow_SPUdschl_60HH,zstart_syHncaendert_Htleadec_pictHurepalette_HMGEMpalette_HnSPUwait_linH~ie1entpacktH_SPCkop_schlHeifeshow_picHturekopiert_HldatenregisterHM._nullshow_SPeHCtrumkopiert_Hfarbenaendert_HhfrequenzentpacktH0_palettenaechsteHL_palette GFA-BASIC3H^^^dddddddppppppJfrrrvvvvvvv~~~~~PICTURE LNEO_MEMORYNEO_BIN NEO_BIN_ADR PSC_BIN_ADR SPC_BIN_ADRPCITURENEO_BINIMAGESPC_BINFREEXBIOSFILE SPC.SHOW FOR GFA 2  PFI4O F 0FFTSPC.BIN!FF"0WH!P F MALLOC T ALIEN.SPC!F*V&!! F SUPEXEC WI! F MFREE @ L0 h0 C t<$<$  <$<$6 ? :  B6   ( "@3 @ @L @ @n' ' SPC.SHOW FOR GFA 2 ' RESERVE 50000 spc_bin$=SPACE$(20468) spc_bin_adr=V:spc_bin$ BLOAD "SPC.BIN",spc_bin_adr picture=GEMDOS(&H48,L:37712) ! MALLOC BLOAD "ALIEN.SPC",picture ~XBIOS(38,L:spc_bin_adr+&H1C,L:picture) ! SUPEXEC ~GEMDOS(&H49,picture) ! MFREE    H$H$   3 @> C 3      )       ) @>@@> (  3@> '& 3      ! ") # $  % & ***************************** * SPECTRUM PICTURE SHOW * by Mutter Frdric * (c) 90 .................. * GruB von Sabine an Michael & Sacha * * 1) Bild entpacken * 2) VBL installieren, das ein Bild auf 50 oder 60 HZ anzeigt * * - Quellencode fuer Devpac oder Turboass * - Funktioniert fur alle ST * - Executable position-independant code! (kein relocation-table) * - Aufruf im Supervisormodus * Dieses Programm wird folgendermassen aufgerufen: * pea picture(PC) ; Adresse des Bildes * pea show_SPeCtrum(PC) * move.w #38,-(SP) * trap #14 * lea 10(SP),SP linien = 199 ; und nicht 200 ! show_SPeCtrum: move.b $FFFF8260.w,sv_res clr.w $FFFF8260.w ; niedrige Aufloesung move.b $044F.w,$FFFF8201.w ; adr. log = adr. phys move.b $0450.w,$FFFF8203.w move #$2300,SR lea palette_GEM(PC),A0 movem.l $FFFF8240.w,D0-D7 ; Farbreg. gespeichert movem.l D0-D7,(A0) lea register_null(PC),A0 ; Farbreg wird zu 0 movem.l (A0),D0-D7 ; ( auf dem Bildschirm nicht movem.l D0-D7,$FFFF8240.w ; sichtbare Entpackung) move.l 8(SP),A0 ; Adresse des Bildes in A0 cmp #"SP",(A0) bne show_SPU * Das ist ein .SPC Bild pea palette_SPU(PC) ; Entpackungspuffer move.l 4(A0),D0 ; Datenlaenge pea 12(A0,D0.w) ; Zeiger auf kompr. Farbpalette move.l $044E.w,-(SP) ; Bildschirmadresse pea 12(A0) ; Datenbeginn bsr entpackt_SPC lea 16(SP),SP bra show_picture * Das ist ein .SPU Bild show_SPU move.l $044E.w,A1 move #32000/8-1,D0 kopiert_daten: move.l (A0)+,(A1)+ move.l (A0)+,(A1)+ dbf D0,kopiert_daten lea palette_SPU(PC),A1 move #$000,D2 ; Farben 00 und 15 schwarz move #linien*3-1,D0 kopiert_farben: addq.l #2,A0 move D2,(A1)+ move #6,D1 kop_schleife: move.l (A0)+,(A1)+ ; Farben 01-14 dbf D1,kop_schleife addq.l #2,A0 move D2,(A1)+ ; Farben 00 und 15 dbf D0,kopiert_farben show_picture: btst #1,$FFFF820A.w ; Bildschirm: 50 oder 60 Hz? beq.s Hz_60 lea aendert_frequenz(PC),A0 ; fuer 50 Hz sub.w #2,-(A0) lea aendert_lea(PC),A0 sub.w #2,-(A0) Hz_60 move.l $04CE.w,-(SP) lea VBL_SPU(PC),A0 move.l A0,$04CE.w ; VBL installiert move.w #7,-(SP) ; Das Bild erscheint genau trap #1 ; in diesem Moment .... addq.l #2,SP move.l (SP)+,$04CE.w ; VBL entfernt move.b sv_res,$FFFF8260.w lea palette_GEM(PC),A0 ; Urspruengliche Palette move.l A0,$045A.w ; wieder installiert rts ******************************** entpackt_SPC: lea 4(SP),A6 ; Zeiger auf SP-Daten movea.l (A6),A0 ; Ausgangspunkt: Bild movea.l 4(A6),A1 ; Bestimmungspunkt: Bildschirm move.w #1,D1 move.w #7,D7 lea 32000(A1),A2 ; A2 = Plane 0 lea 8(A2),A3 ; A3 = Plane 4 ************************ * Entpacken von Daten * nach DEGAS (.PC?) * ************************ dec_picture: lea -160*199(A2),A1 schl_2 move.b (A0)+,D6 ext.w D6 bmi.s schl_4 schl_3 move.b (A0)+,(A1) adda.w D1,A1 exg D1,D7 dbf D6,schl_3 bra.s schl_6 schl_4 neg.w D6 addq.w #1,D6 move.b (A0)+,D0 schl_5 move.b D0,(A1) adda.w D1,A1 exg D1,D7 dbf D6,schl_5 schl_6 cmpa.l A2,A1 bcs.s schl_2 addq.l #2,A2 ; A2 = Plane n+1 cmpa.l A3,A2 ; Plane 1 bis 4 bcs.s dec_picture **************************** * Entpacken der Farbregister * Farbreg. 00 immer schwarz * Farbreg. von 01 bis 14 variieren * Farbreg. 15 erscheint nicht auf dem Bildschirm, * ist aber von Spectrum zum Anzeigen der Mause freigehalten **************************** movea.l 08(A6),A0 ; Komprimierte Palette movea.l 12(A6),A1 ; Bestimmungspunkt move.w #(linien*3)-1,D7 moveq #$0000,D0 ; Farbreg. 0 schwarz entpackt_palette: move.w #13,D6 ; Farbreg. von 01 bis 14 move.w (A0)+,D1 lsr.w #1,D1 move.w D0,(A1)+ Farben: lsr.w #1,D1 bcc.s Farbreg0 move.w (A0)+,(A1)+ dbf D6,Farben bra.s naechste_palette Farbreg0: move.w D0,(A1)+ dbf D6,Farben naechste_palette: move.w D0,(A1)+ dbf D7,entpackt_palette rts ************************************************* * Erklaerung zu VBL: * 1) Zeigt Bild nicht an, wenn DMA-access an ist * 2) synchronisiert sich am Ende der ersten Linie * 3) Zeigt 199 Linien an ************************************************* VBL_SPU: tst.w $043E.w ; Drive on? no picture bne ende_VBL move SR,-(SP) ori #$0700,SR lea $FFFF8240.w,A4 lea $FFFF8209.w,A5 lea (A4),A0 lea (A4),A1 lea (A4),A2 ; A0=A1=A2=A4= $FFFF8240 (Palette) lea start_sync+2(PC),A6 aendert_lea: lea palette_SPU(PC),A3 move.w #linien-1,D7 moveq #0,D0 wait_linie1: tst.b (A5) beq.s wait_linie1 move.b (A5),D0 adda.l D0,A6 jmp (A6) start_sync: REPT 81 nop ENDR NOP ; das NOP wird fuer 50 Hz benutzt schl_60Hz lea (A4),A0 lea (A4),A1 lea (A4),A2 move.l (A3)+,(A0)+ ; Palette Nr. 1 move.l (A3)+,(A0)+ move.l (A3)+,(A0)+ move.l (A3)+,(A0)+ move.l (A3)+,(A0)+ move.l (A3)+,(A0)+ move.l (A3)+,(A0)+ move.l (A3)+,(A0)+ move.l (A3)+,(A1)+ ; Palette Nr. 2 move.l (A3)+,(A1)+ move.l (A3)+,(A1)+ move.l (A3)+,(A1)+ move.l (A3)+,(A1)+ move.l (A3)+,(A1)+ move.l (A3)+,(A1)+ move.l (A3)+,(A1)+ move.l (A3)+,(A2)+ ; Palette Nr. 3 move.l (A3)+,(A2)+ move.l (A3)+,(A2)+ move.l (A3)+,(A2)+ move.l (A3)+,(A2)+ move.l (A3)+,(A2)+ move.l (A3)+,(A2)+ move.l (A3)+,(A2)+ nop dbra D7,schl_60Hz aendert_frequenz: move (SP)+,SR ende_VBL: rts sv_res DS 1 palette_SPU: DS.B 32*3*linien ; 1 Palette = 32 Bytes palette_GEM: DS 16 register_null: DS 16 HAf/ NXO6/ NXOClf/ NXO>0@fR?/ / N 0f>09gHyc`HycHybHn8Nh Hn8p?N\OB@`pL0N^NuNVH *n~g \fRG`0L N^NuNV/ *np=@/ NǦXO0gB@`HH@A?p?NA.zp?BgNx/MXONXO=@HЍ/ yz/(lNPO0.o/ N/PXO gp7?/ pN?NAPO fHn /0.Hї /NPOHnp?p?NtPO=@ y{0(.g Ax/ / p?Bg/9{NH0. @g @g@Bn``Hn yz h/N9PO.g@Hn /0.Hї /` p=@`Hyp?Nt\O0.*_N^NuNVBn0.f.Bgp?NMXO f Hyc p?N\O @fp=@`I3A=\<<><024@ABIJ|eB|eARB|e@RABARFQ oAC/  c .gR`./SPUB?</ ?<=NAP>k/</<Ǡ??<?NAO Jk??<>NAXJ@kKʸ><BF02a:RF|@eRG|eA9Z><BQA9ZKʸ><02AA2A~AHRpQM8B^><:<A9ZBpP<<B@:<0k2AA2AA0QIDKʸM:><<<0A<2k@4d8QDDD:QA:><JX[JGkUBXQ><'BQKʸ><<<:MPMQMRMSQ0000Q _PI1 _?</?<k&/<8/<}"??<@NAO Jk ??<>NAX?<?<LNAAC8AADI46BCKCDBBBA6AVZ6AVZ6AVZ6AVZB6BBCBRBg]BCBeC BBeC 04@BH@010Nu.&&:$8&R0 n!l 0.S@ @{0(g 0.ng S@H @{ h2n d?.N;bTO`g f?.N;bTO`g PBn nl0.f(0.fF9`H_xp:_yB9_zp7?Hy_x`^IA><<><024@ABIJ|eB|eARB|e@RABARFQ oAC/  c .gR`./SPUB?</ ?<=NAP>k/<^/<Ǡ??<?NAO Jk??<>NAXJ@kK><BF02a:RF|@eRG|eA9><BQA9K><02AA2A~AHRpQMB^><:<A9BpP<<B@:<0k2AA2AA0QIEwKM><<<0A<2k@4d8QDDD:QA><JX[JGk UBXQ><'BQK><<<:MPMQMRMSQ0000Q _NEOCE~BLHp2r"Q _?</?<k*/<~/<}??<@NAO Jk ??<>NAX?<?<LNAA^C^8AADI46BCKCDBBBA6AVZ6AVZ6AVZ6AVZB6BBCBRBg]BCBeC BBeC 04@BH@010Nu.&&@&<(>42Bn40.g. @n( n l nSl0.o nf 0.gB@`p yz1@*Bgp?NtXO=@@ @bH0@;x PN =================== PICTURE NEOchrome =================== $0000-$0003 : leer $0004-$0023 : Farbregister $0030 : immer $80 (Belegung unbekannt) $0031 : xy x = - Zweitfarbe. - Linkes Ende der Palettenrotation y = - Rechtes Ende der Palettenrotation $0032 : $00 = keine VBL-Rotation $80 = VBL-Rotation $0033 : Rotationsgeschwindigkeit Negativ: Von rechts nach links Positiv: Von links nach rechts $0034-$007F : Belegung unbekannt $0080-$7D80 : Bit-map Bild ================== PICTURE SPeCtrum ================== Bemerkung: Ein Spectrumbild hat nur 199 Zeilen! .SPC ( C = Crunched = Komprimiert ) - Die Daten sind Komprimiert wie es Degas-Elite macht - Bei den Paletten wird nur das Farbreg $00 komprimiert. $0000-$0001 : "SP" $0002-$0003 : null $0004-$0007 : Datenlaenge $0008-$000B : Palettenlaenge $000C-$xxxx : Daten $xxxy-$yyyy : Paletten .SPU ( U = Uncrunched = Entpackt ) $0000-$7CFF : Daten $8000-$C79F : Paletten: Drei Paletten pro Zeile Bn0.nl.fBg9`H??.?.p?N NH@f|?.?.?.p?9`H@A?/9`n/.p ?NNH-@g6 fN9p`"A? / /.N 0fp`B@@ .g.g0.HH n-HRn`(Rn`p?9`H??.0.=@?p?N NH@fNA? / 9`H@A??.?./.p?p?NM/@ N 0fp`B@@0.R@=@Rn` y{0(.gBgAV/ / N  .f&0.g N`Hycp?N\Op!=@Rn`8N8Hy`NЂXO&_N^NuNVH(*np??. ?. ?.BgN A? / 0. @A??.?. / Bgp?NM/@ N 0fp`B@@0.f&p=@ n l&Mp?NNTOHRn`.HL(N^NuNVp/pH?NA\O@# o/pH?NA\O#f## 9gS#x#N^NuNV g/9pI?NA\ON^NuNVH0*n(n B.BnHyp?Nt\OR9x/ HnN/MXONXO=@ Mg> /0. Hї /HnNx/n.BgBg/ Hn/ N#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 98 11 #W 00 00 1A 08 0D 0D 08 A:\*.*@ #W 00 00 0D 08 15 0B 00 @ #W 00 00 0E 09 15 0B 00 @ #W 00 00 0F 0A 15 0B 00 @ #M 02 00 00 FF D DISK HELP@ @ #M 00 00 00 FF A MARCHEW @ @ #M 01 00 00 FF B PRESENTS :@ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ ?.BHnN@B9xHyBgNt\O.HL0N^NuNV-yB/.HnNPOHnNH@XO nxdBHnN?@TOHn/.N 0f-n n (Ј-@` .g @RhB@`F/.HnNPOHnNH@XOA? / Hnp:?NA/@TON 0fpN^NuNV/ B.0.g.f/.HnNPOBn 0. nlHnNXO0@B(Rn `HnHnNPOHnp? n? n?Nf HnN:XOJ@g @g`p@`Hnp? n? n?Nf A? / Hnp9?NA/@TON 0fp`B@@fSPhN* h@  I^@  !T$`  @ !@F 俻w B`, 7sI !(@R@PB@p`#@ @ #P.=0VD hB>p8F@@H` @ IB2T@HD 0,E^vx}~Kz5|w 0@A 0ߝ~ hy {i) >;nd~ؿ͠@^0_{!5( `(4wp@ $% }`"`Fv @TPű<`G?WK~Ͽ~`.^ M+@5oHA +{:TL?O ?g?gJL l{޴`pK O{~  a -P@ x&;X?7F<}pa .=|IHӠQ @/~ `y ñ: ‾@PCL(XǷ, ~$`G: 60cƉli  C \^? X੩@63'o2q@@J |C[?\`;T;>e7۰B1p IGIcDPmM=bMoM\} 3 Ri: xxAiҰë_ cک Fc?o'è_z @&L}`zX"fHf}@@eiR "{Soo_ q"0>c3 ` `%  @D{y pf2O<@ 8.0x ϖX# }MIH@? a`` 03￑7RLp?wGX!?ј@0| "`X^9 YB0?= A"v B P3/ F G nE@ x 01⪎sR0_o?F>BH}3+ gG~up%ػ1 ^ؐ(hCd@@?@ p?@I '@`xv!74 ϐ_ 0kaLt<ԻCy{ jn2x̎28 !iFq)dB D tOls珦3sN20 X3|g&~s43p0F" ?M*A+2rT&/?wE'X`86\{@r`t-XO`bgpJ O\WppϮ=NM(Z87čnI` B4/(` ?Coю1pN-Pu_|s  `{A1̅ɼӄol?{D$}2P_e eQ !#p@ 8 ]_Ő` Az7>@{80A}k!Qq/' Rḱh$?aUg~@?߸؍o`E$f!g_\8`$`cO@ ?" H ʀ %~Ͽ3ok[b?|l$yf $A h@c!A-<`%?ـ0 r,\ R|PP A@@>Dtix?"ǿ\@pX &C 1B!tɇ'CBGLǹ,!  9Q]O %x =wy.9A2e{p ZwH <ꁻàŐ@@ @ yd+S g ڥ~o8;À30(I=߇\@lY(2( @ SX.@ 1K? 6bȀEL٧}^͓펁 a0p! } ]c HbQ~J[`s`߆_U`?p8p$;w> 0S >À2@ E`!!C;-| Y~?<u_` #n|8P* z0H}z`#ykΙޤnsw?wMˏ!KSx[x>w3ɬ׻߯{wo~c_H;4/#/t@}o?;D2ÿo~a7HpDAS!0xjX,̼$z8qo{43dx8mǟl|%50@ QLD](@@$.)0t-mvA^T02Fa=yI@D$o4@2 (igKJm&? n?y=aL` WpgG'?:w@wJ/}i7Ghcw`o,Rq (FcR07"[EPennb}0߿<8ŽV =ЀR+Bh(b_/Ԃ0۠?Q3 f`Q0eۄw(=,ƀ ˆ lu gI(M'X|"qւ)x(@WĹ6L>Y>}?80@ 'u HϏ5`@@`r7X#poH?u&K#?iK ̔>'Q, o 3~0@ B!" o8`9n R`,x~W|@$&ABax{I1d3vQoT HсA ֘|RW%-SG+!(  9lAHp=#  ZCHl$TR }$0Dvo9 o?'%drPb_㥈d"0 9  ~Æof@ >_a(GqP$Pl F~NoHUx  02@p$sæ[ƏǃF;,_Ϟ0GG7o dgp[C`R.#cV"z| p#l)9_9@ -`p@D~_\)/DQFހ 7q`q3vY˞/?/T A0z) GB'f@VK}_ }PB ).p im*MP  g.㳀#/(@a ظpv?"F.q  C &"M !Ĩ@d̗ j+-€ AL^D#@z P8lYh ? Kc0L"`|4 \  zWA+)6 8_o-1 ̥#*2Ο {oOj]pocwe NZzDq(s@  DmL 1c66p ` 2 & Q\8`0@So@ؠ6q?x`od輗q@ + + .;.,V  H @ C@@ 'f  P @ P:Z@@!@F @ ?v D@TP  `̩*@@"  ǂ   ;>` #@ @  a@H` p`  B ICKo@W >( "~@0 "u;#@Po\ 0CoC@AcG} 81wǺ-_7z`@ހN`?5ŷK ^l<#/D?uᩜ<¿P}OyD@ 4C#b"@A?A7S9 + L<$`n BߴT0@0#aNO3c1}b $'Ǔp8;Hi9 Af k _*a,@4(sBt c;}`eaK3|a`Ar`@ I ?g@@ jπP! ? 14'A O u3OSZ?a/H!z-i({?nD`.?? pAVV切6# kMw~h(\pA;٫?|1n>grxX)riK l@F0Wpy~CAMpE^)EW|i~#\gl; AtV߹0/s+QPW(0L Ѕ@ku9?`sK|4 p`ǽ BG@&p^@A ` Nm0[v.h %$ v}8 F 2|,&$?Ɋ1@ H? ~;D $0mc ?~o| `X^ wA_ @/!  B T>,c 9F(GgfM?G? 9 XN7/ kp?}DP hD`  &: + ߿Z&FcQIlpR)VX!ǰ|Oiku͆_S[|L A;D 7J@x4a73^?++paD + w'0@, zਜ਼c/w6T_}&ܦ" ݼB(ؿ:iATW"W@-#]@`zP(d:0Fhmժ j4wq ד?|@ 3x9xT~C~?W0w!lo.*h6S#FB퉨O d>Ѹ0q>n}Hم`;I[vt QX |ub&8$%#_~O[' ?pl0 Q( I?'~aݼ# ~*H\P( ye<=9,}`?Y;@D+Uw\q11[o ,E֬;LS T,ИֿXp'[ptYAO@cLRXFCH4OO6>`)V1 *Fd | ōMCA }m@]0>쓯O'8$Fi 3 x><İ PPRb)6X؈`##9G  E^  ~~:`8pFHUCgғE<8$]9Kut6 3SyHC !A<~G෻6|<l'|ݵzBAaʧ//D@?J pi: 7=y!c P]<hOPew4C=-q{9jzc,?foz?f$?vCwp{܎'Y<}|w|= ֛~FɇϿH$b1,Ӯ}||'|3\0B/?S ÿÿ_߳LW'K{<1ok `dAig(a^ިqa p RmyŽ0?σ@8918?37Ԁ$@^?3w'vI)v>iɏ}M69jso < WR7,o:1nWr7p )J p" ӾZ߀ EvAfEC@Fc2 CDq6xAt~ ;߮m>)vA==V;<-k\   G|R*mT> ݥ#&o3Q@( >G(gk,6]! l ) 8 7zݩoiOV@ A0 (`P I;`P G``K  OǸ@(0?+?7x7}CUPĹ0Lk_ sPPFŌ& g C Epc A~pр @@Hr{hC?gd|] pO x<3 }Z{>r@>|?~yس0ns@Ǐ; 0 1 `|(/Ӏ ,@p#?o8Y{m  !P3Ot/osczM!"@8'@F C (ڔ@  #@)){@!!g$3~y 裨 `(+zX X0]DBHp` 3!!A X 0| s! P8A FΣ@A @C`pC g_L?V']T `b~$fMP6)P,b =((y'&/AiabyeGën3{-}{HR4A !I&ҒQ e+`s`?ppw υ>0?09/!{g^ >@Ђ G@¥ |Hp;7ۿ#n96z=ab](^ؿ[=% `ԁ)r8Jb9*(üH`@Dl6~~*(zAVPp āIOq$p'P_ }} A ~BAk -@;OV $B0D:a0lo 4IQp?-_״OE L3z @ "FS\  zL`2 ;W%qJm̓GE\@B0@c,JD #@fs5 ?F#o N8_ >m, 004,\!i A8 ʆĈ'#@* C O l Bb F:ȓFq +(p@`lHpqLH Z ;̇10{i%T @/oԨ91!Np@`[SpD# }3 @VTx9 @IfZ}/ :R!@F @ R<W'*@ @" 0<@` #@ @  J VD h@(pۿP@Hb$ Hs@IB ICK,@@HD 0P @ |<P os?x@~7`K010 [n  0  +7ŷwD0?u > vb80 k` A ??ș`߿n}tg K=0bR?k]sE60 ؼ0lf ; }Ox7O}=Oa?QwF={ 4>C !/P- !Y@ F @FGo1C!^`:@~!4!Z7s^k"-} b `}}??A|5@CEh0 o?{k@;<8#A DV`x3>fᗰ( (:VA/!.AѰ@}?xX}87:C{.9rbb 2 U(' ^ dȃA>0p* `%c @|iaPO0d` @ p@ ( $xc  @kro;?0 `R=zo|"P :w>{{zs{Oi9n w  tY0 4 x}@v49:w_<r۷-Z|15__L$@np@}  8#~   @  }  Q=O LV9G0oH=$ XWKb>zi`]ƹlXYQ='|BP@;p>¤ ?B?}Bo݌7p  gAp `@J`w> A8\x=`f( 0@ x!G?>/ E@ 4c4 ׿? g@IKP) I<}G[3$[B? ШX:@|?pP$۶W A%Uoϛz@ݠ @nw 1*U@"ύ7 !>|pg@n(ll|g'w뫀c#>>wy~so['@} (6ic)H/s~*w81o<-lsݹƯ< bD>̧?_I_?5/??9?k`Ij!!풫Bq2wWGpXYV{30?BB "P 6W0L9??:mx7('ow?@_;?mp0`<aS_`0O4 2: #F@I T_}gUȁXGaA9i@@|^ Cpfw捠3O }` )`)gz ׼[{{"7Wy_cG׿ &2Ox k>_ſ: E9p [8{5=ۈHAh!c~xlH|o`W7& ai ^68sp>y||8:&ox0@*h@@aM nX @&>'XN~e`0AxW'<ւ 9<{v$<yW0ׯX<)K0"!<2g&{_@+%D}n B  MÏ8-.D|osYw eu3 J L%x$P;[<,PX <@̧| F`d TzZy.A1 gcy_/e4AJ= |bt1Fy*(C ٷ:~r! /^oBD0[JC8G,P1!pCp|I@@2w} w:-\O_/dp nL~>_>H# ي w<N݄Hp ` nFJ A}pu[LA bs( `@ M0PP@2\{398? tx0 T9pT8/#{a$U2B/cU=0+gܯ= 0?gx`_ƨ@ uUn0? _plO@@ !AP@ gQe P@@çvotH[@@+|k@" a01 (``Sh~"03$E  0W H @ |8  D)6@27X` @ @@@eB QIBX*8 B`!` } .P|@g >h=݆kɀ`47 }""'@P2@@ _@D#]` }W@@ -v@S{`5_@ A  ?1߿1 _ pE60#~8/ 9 ?{   ^ӿ}4 g{~ s|p 2/^? !Y@FCwg  @1Cǀ!!_}9Á14i@j9 -_Xߏ |bq`C_;(`\oр;0DŽ@@@ I Lrf<` vw_q@Dh(b$Od;Eۺ:v&}!7@G@]AmDe@X,?@OH?@@p5?s `N v :@@@p@@ _>GNR)Xb!~<0akϢ_#b9< 7"mJߟnM^޸4 <0?[HGP6OHnA k!>,b{pC@b @RC#a,ًc O|Pp}&;ҿ??s@o8m1 *_?f/(l,ȼ>G?Ѓ3@~髂d}ٿ@0JAlhG0یNFM7A  @k;%-</ÏB`@zcCw3<5$M}` P?0M`a~p?\^ ǏC @AQ9AAIoƁ53p %H |(M+cGS\Nu0 ;Oו<Ɗ`H 0 !2(CB . $! 2 lߛ@P@@ߊ `p0@&yx!{푈h0@03cz6'=B4 \"0x,D (Xjŀa`T# F'@^2! @X|m*@/@ PgO@ x% >\A 0, 0L ?&^x bɇwI9w:I^~\6dSwG?m̚O$;;L_D( x(L^h&?+!Yv88oP*Oa4.8g{?߿9^!m߿]Ap>'88:@! ;&P g?DyƬ@!l !# `@ O(dk,6 ??2Bo#x'  8o +D̝ǟ?0&8x>U}wlhO/>F}]S,` 0<(*:y$Jޣ7A(FOW/w __}Ƀ 'P0l?yc ox\@@!߮ OhKO  `dЄ` ?4iD8&fLRP, ?H##$#?0{_ s{5I0Nُipx|m:t mw[%fok pؠ:lgw%`w$}` !O`s'>5#ְF@1@D`= 0D088!$/P3ZaB ދwz8D qBn0/Q_ؿߚsqo|"L {wJ0 @1k۫ ?hcq-Y a ~ 82x- 8{GPs5pqNs)`' xXh`HT+H106`W T0@ ƠOy ;l@F×K5Gx>o@xpVmx}8N>.8˛@<$Cps!_?<9酂0 tX$Μ AȋS'Lѕz$(><* >X>9J},@` {&gp@oG8Bڝo  &OCA_@)Kh0!09Ă F@?kKp8 -GaG'JP042& OTp8  X~/d $@. rtPB`.]FX~pYЀ}/~`  g0c p cCr @@D`@ D$.zS р `GV? '(@ FkEz `%k|E >(?Ͽ\ ?; w Y0B d@ AD$,s<0@@!8 @*@SE P@ B ``VJ`t 0q9 `c& \3p`V0a 9 |Ɯ@@@FA?1sb @@ @Ѐq    UED"DUDED44#!@ DEDC4UTDED44!##UDEC3"DTGeUTDE44D@@eUE3"DDTeUTD44EDeUTE4!DD  eUTD"DE4UeTDED443#eUDEC!"D4T!"#!"#eUD4""ED""#3!"#3TUeED44"%D"""#34""#3eE443DUD"""#3"""#3DTe~%43DUES""3"#""e!UTDDE4""O"#!434"CDeUDTEG #3""!f33TeEUDD "#"3"$U4evTD"!3"EDT"""f#3!"eCTDED8U4TDEO"""#3U""e#334DD64UEf^#"DC4""3#3fUeDTD4ED}#"!o$%""C#34UeDE":34fTDD|"14""#33UeDE0TD4fDE}"p!""#334DDe04UCETDDu"#3"!s""#4CDDE0.3eUTDDp!""=>#"343UD4ED< eTD4ED>@!""/$3CTE34DD/"eUTE34DD!"4C?"#$D433DTEeUD433s"4!""#34DUefTED334["!$D"""343C#4DDUf TeE43#D_@!4#DD"""33C4#UDDTeE4D~@$""!3"#344DD"efUTE44DD}@DC43""#3E4DDf"43e~UTE4DD`3D"C"E"#34D3D4"CfEv eUDTD4%EDD3"C%"#34DE4D3"UCeTDE4D~@D"3E4""#D43DeC"3E~UTD43D@DD"3"#34%4DUD"e3fzTEC4DD34C!"?D"#34D34CTUefDED34@D34!D?"""#3D$34TefD"JUED4D}4D!"3_""#3$4DUefv3DTE4D]@D!33""#4DeTUf3jDE4DCy4CD!33""#4CDTUev33DE4CDQ3DC!""#3DDTUCef)E43D43w434D!3?""#434DDTU3EeC34D~3D4!"U"#e4DC4EDT U33D4w"#D!~"C43eDDT3E4U8C43DED""!# DC44DeTU3~EDC44D3~"""#DD43eTUCE>D3D43E@DD!""#433D4DUETeC433D4DE?!""#DD433C4UETDDe433C4ECDD043EUDDT433E%3DDpE4T3DUDeE4TC3"UDD43eUDTED%C433#DT3U?XD4CDT3UeE+D4%3#4E5T"3D?04DT3UE3D+C4De$43E# $E?DD34"3TEUe DD3C434"ED?UD4343""CEDTeUD4343 %D?<D433"CDTUeED433"C4#<"$3'UDC34D"#T3EDC34D#4}D"$D433C#DETU D433C%#D4""DC43Ee"UDT(DC433e#4}4CD"eD3$34CDUTE eD334CD4E!e4nC33D"DTU#4EC33D4"%D~#D"CD4e!33U"#DTCD4,E%33UDTD{C!T#3D3"4UCD"ET#3 %D3"4CD4C4D%3D3#e"U"4D43DE3#""4D 3%34DDe""3#"U34DDeE3#"44o!3#C?34DU""De#4C34DfU%33C3D4#D""UE3D4f#4D33D4@"4C3DU3#T""4ED3DUf 3#$e443C"D3434"fDU"D343E4DC#3~""3$3C4DT""#e3D3E L44f#3~""#3D3D4e""T#3D34:D4eC#3D}""334eUDD""#E3344*6"TDD#34#3"3T4!D""#eDE3C4"4D#3|43D"E"U4"#3DDe4xE$34#""4433DD#""U4433E :DD#44^4"3"3De"4"#3"43$JDe4#443D!"fT"#443D%0e3#4443!DeD3""4#"3CT4ED3""%4#v4CTDe3"3"#E"4C4.De33"#4}@D"3UDC"44"D!"33D#2<E44"3D}E3CDoD44""3#e3C".D44f3#E~@E#34CDD"""e#34C34*JD%E#43D"3eDC34#""D"34DC3 .4#"%D4"3DDeC4!3"""3DD4# J43E4?D"3UDT4""3D"34#"6DT4"34~e"43CDD!3""#"434:DU3"#4@"4DU"COD3"3"44E#6D33f44_@"4DD!C?"43U34DDEC#"4334D"D3C"U4!3D"eD#3CE44*"3fD#E_`DD343C#"DD"E34432>C#"eD"44_"CD3%34#D"C"D3"43.4#De"D`D"3C34!#D"E"3C344#2,D"e344D"!"3CD43#D"E"3C4>43#eD@D"3C4"3#"$DD"3C4.3#%4"C34"3#DD!"C344E3#DD%3444C"D#33D""4Ce"4#33DE"44_34"CDD3""34#"CDe43)!f%T"34#D4O"3C34#U""3Ef344"#DDe"3$44_@3C"3"#f34EC"3"4# DD344wD33"4#Cf"D3eE34"4#*CD3E44k4$D""33ef4C#D""4"33D4C#4@D3"UC3""e#34f"4DC3"T!#4=!"3"Ef3"#D4!"3"4Te3"#D4P3"3Ue#""D3C4D"43#e#""%C44-!"3e3#"CDED4""34f3#"UED4M3"C!"#"3"vC43"DD4:U#"3D@C!""v3D#C3E4""4"e"D3#34$!C"33E""#DC"3D441U3e""#DD4@C"3ED3"#C"f"344 DD3"#"43C!De3"#"3C!4"4DU3"#"4 @C""3"#eUD34"4 DT3"#E!D34@3"#"Ee"C34D43 DT#"U4L""3"#3eD""443"zCDU#TD4D3"#e"33D"44"#DC$"3D44a@#"3"DeE#3"C44"3" VDeE#44P@3"#"!e"33CDE4"4#(zTf"344F"3w4#"$3eD"E4"3#"UD4 !"""3#EDD3"e"44 CU3#%4p!"#U""CD33T44"#2U""344H #""!E#D3C34"4""UE#344b"#3E""!"3D4#3CE4"U!4D!4#""3D3"U4~C#""33"d`#3!""D"#3C344"D e"#3C4@34"#"43CeD3>4"#""!p""443#!"CDT""f33#!<"3#3CU"!"4"T#3DC4"!"8"#C4E"3TD4""#D4e"3!""D#"!U"34"4DD#"!"<@3C"#e3""4DD4"#+f3""!#3D4"3"eEf#4T/D4"3"!3#"34E"UD#43"34e"!w"#3"E43"TD"#3D" 43e!43"""!4#3C"4)D"e34q3"""D!434#"""De!34C#B3#4"3eC34""#"34"L3E#""!C4eD3#T"!"k"#3"U"CD!"#e43"'~TD!#344\!""3e#E!"D""C3"#T"4C#3""eC!#E3"""!#34"@!#3CD"""E!3#3eD""" #34B"3"#!""D3DU+n!"34""#3"UD!""#3D".Te"E345!""#DD3"!E"4"# ~T3e$4p`""!#3DT""D4"!#3UE4"a@"!#3"UD"!44"#TDE4x!3"D"#4"4D3DTU#"4P$!3""#4CD)~U3eT"4D7@!"#"3"4D!"#4"UT4eDr@#3$DD"!"#4"3DeU!"p!"#""334D4!"# TU4U"#!43"e""#4D34 UC""u!"#3D""$!C"4#3DeT@"!#3"""4C!D#~4UQ"3"!#4"3"3D!"#>4Q!"#4"4!3D""#DU"j"!#E44T"!"#U>e""z!""34D#"!""3~eD#z"!3U#""D"!3Ue""X@"!#"4"D34!# C"T_"""#4!D"""#4 U3$n!"433#C!""3 U#"^!""#3"!"D$#e">!"""3#!"3"D$CDb#!"C#3D"!>T"y!"#"3CD!"#"3CDpD"!"#43C>"!"p"D!4#""3D!C>#t#D"C!"#33"C#t""3D#!D"43C!4p"4!"D3"3#! >"3"#u!#4""!"#3C">D#!"34!""#"3D#"`!""D#34!">"p`!""!D#3D4"""4|"4#!"33"D"3t"D!"33#" #t"C_"33!""!#"@"!3#3""D"!#"p!""C43"!# "C4"`}""!C3#" ""!4#s!"4?""#3!""r""3?"!"#3"!0!?""3"#!""#$3/#""!"3#""!4"5?~""!3#"x"!C3#"qC?3"!"#"3"!"#"!!?"""3#!""d"3="!#"""!#"c"!"33!""#4 w!"#3""!P4?#!"3"":4!3"7!"""##3!""@w""!4#"3"!!{~3!3""">#!!?#""!3 "3#"0.Rn2@{f y{(efRn`=n n l0. @z h PBRn`N^NuNVBn nmUn n mUn 0.330. 33HnHnHnHnN. $`y.. GIFSPC DOC z!GIFSPC PRG U G I F S P C The GIF to Atari Spectrum 512 Picture Converter by Steve Belczyk, SysOp of the Genesis BBS, (508) 664-0149 (Four lines, fifty megs) Permission is granted to distribute this program freely, provided that this documentation file accompanies it, unaltered. Commercial use of this product is prohibited without permission of the author. Introduction: For over a year I've been converting GIF pictures into Spectrum 512 format for the Atari ST using two kludgy programs I wrote a long time ago. After receiving several requests, I finally munged them together and cleaned up the result. Here it is, at last! Operation: Those of you who are familiar with my IFFSPC program should feel quite comfortable using GIFSPC. If you haven't been using IFFSPC, however, here's how to use GIFSPC: GIFSPC must be run in low resolution. It also requires a few big buffers, so, if you're using a 520, get rid of that ramdisk and those greedy desk accessories. After the tacky title page, you will be presented with the usual file selector dialog box. Select the GIF file you wish to convert. After selecting the victim, you will be tersely asked if you would like dithering. Pictures almost always look better dithered, so YES is most likely your best bet. It's also the default. More on dithering below. The screen will clear, the input file will be read, and then decompression will begin. This can take a while, especially for big files. When decompression is completed, row after row of ghastly colors will be plotted. DON'T PANIC! These colors bear little resemblance to the ultimate appearance of the picture. Nevertheless, I love to try and guess what the picture will look like by scrutinizing these pseudo-colors. Once the screen has been entirely painted, the disk drive will come on again. GIFSPC is now trying to write name.SPC (assuming you chose name.GIF as the input file). ANY EXISTING name.SPC WILL BE CLOBBERED! If all goes well, a message indicating success will appear. At this point you'll rush off to try the pic with SPSLIDE or SPECTRUM. I hope it turned out well. Error messages: "Can't open input file." This one's pretty straightforward. Either you specified a file that doesn't exist or it is badly damaged. "Premature EOF." The GIF file is too short. Most likely cause of this error is an incomplete file transfer at some point. "Not a GIF pic." The 6-byte header of the so-called GIF file indicates that this is not an GIF file. I get this if I forget to de-ARC the file. "Bad GIF file." At some point during decompression, the GIF file violated the rules of the compression algorithm. "Can't open output file." The Fcreate failed on the output SPC file. Either the disk is full, damaged, or write-protected. "Write error (disk full?)" GIFSPC couldn't write the entire SPC file. The disk is either full or damaged. Theory of operation (or, Why they don't always turn out great): Each horizontal scan line of a GIF picture can contain as many as 256 different colors. Spectrum, on the other hand, permits a maximum of 42 colors per scan line (plus black). So, GIFSPC's main task is to take a line of as many as 256 colors and somehow "dissolve" it into a line of no more than 42 colors, while preserving as much of the quality of the original pic as possible. To make matters worse, Spectrum does not allow any pixel on the line to have any of the 42 colors. Each pixel has only 14 colors to choose from. This can make life pretty miserable for GIFSPC. Generally speaking, the way GIFSPC handles this is to sort the pixels on the scan line by how popular each desired color is on that particular line. In this way, popular colors get the most attention. The remaining, less popular colors are simply assigned the popular color that is the closest fit. It is unavoidable that what GIFSPC thinks is an unimportant color may turn out to be a color that we humans think is very important. This seems to happen most often in pictures with faces; the bridge of the nose occupies very few pixels, but it is exactly where we tend to focus on a face. GIFSPC thinks these pixels are unimportant, hence you may wind up with an unsightly blemish on the nose. (To those of you who have used IFFSPC: This effect is much less likely when converting GIF files since GIF files have a maximum of 256 colors per scan line, versus the Amiga's 640 colors.) More on dithering: Even the magic of Spectrum could not improve on the fact that the ST is limited, in hardware, to a total of 512 colors, three bits for each of the primary colors red, green, and blue. The Amiga sports FOUR bits for each primary, giving it 4096 colors. This is a significant difference. GIFSPC (and Spectrum) use a technique called "dithering" to increase the number of available colors. To render an Amiga color that the ST can't produce, every other pixel is assigned one of the two closest ST colors. This works much better than it may sound. I find that the patterns introduced by dithering actually contribute to the overall quality of the picture. Here's the rub: Dithering can nearly double the number of colors that GIFSPC has to deal with on each scan line. That's why you are given the option to dither or not to dither. If a picture does not turn out too well dithered, cross your fingers and try it without dithering. Good luck with the program! Steve Belczyk P.S. You can reach me electronically any of these ways: CompuServe: [75126,515] Genie: sbelczyk UUCP: {harvard,vaxine}!bunny!seb3 CSNet: seb3@gte.COM BBS: (508) 664-0149 (1200 baud) SteveNet: GENESIS:Steve1 (508) 664-2214 (2400 baud) 1/1:Steve1 ----- Attention Bulletin Board SysOps! ----- The most powerful BBS software ever written is available now for your Atari ST or IBM compatible. Announcing... S t e v e N e t ! The three Steves have combined their efforts and developed the BBS program the world has been waiting for. Here are some of SteveNet's unique features: o Multi-tasking: SteveNet supports multiple modems. In addition, the system console is always available for your use. You may log in, read messages, and perform system maintenance while other callers are using your system. o Networking: More than just the ability for one BBS to connect to another, SteveNet brings advanced computer networking concepts, hitherto available only on mainframe computers, to the micro- computer community. Network message bases, network games, network chat, and network Email are all possible. o Forth: SteveNet includes a complete, no-holds-barred, multi- user Forth program development language. You and your callers can write games, utilities, and even programs that communicate with one another over the network, using Forth. o User Interface: SteveNet offers two extremely powerful user interfaces: a command language and a menu system. You can create your own hot-keyed menus, with each key assigned to any sequence of shell commands. The command shell supports batch files, command aliasing, variable substitution, and background execution. o And much more: Real-time chat (including network chat with an unlimited number of other SteveNet nodes), unlimited zero- maintenance message bases, Email, Xmodem and Ymodem transfers, FidoNet compatibility, a dumb terminal mode to allow outgoing calls (and file transfers!) on unused lines, full file and user security functions, and lots more. SteveNet is currently running on both IBM compatible and Atari ST machines. Macintosh and Amiga ports are planned. In the hacker spirit, SteveNet is very reasonably priced. For less than you might spend on a single game, your BBS can join the SteveNet! SteveNet authors: Steve1 (Steve Belczyk) Steve2 (Steve Gerakines) Steve3 (Stephen Agneta) For more information on SteveNet, please contact me at one of the electronic addresses given above. Steve1 --------------------------------- 8< --------------------------------------- `KF"O o#RF (Ш#RJ"<kҀ`Ҩ.A"Ҽb.A$(e .BeB"¼.A//Bg?<JNA yRFEH?/ N J?<LNA.IHyK$?< NA\? o e #RJBNupNuNV0/"/ NBRJeN^Nu/<K?< NA?<0<LNA o2/0/ HSoQBNu o0/JfBNuf SNu"/0<NBNuNV.M?< NBNTNABBn`0n0Rn n mBy.`/</<N?PP>?9N@T=@>?9N@HT=@N^NuNV>N?&NAN^NuNV> ?9N@T=@33 33 .?<?9N?XN^NuNV>?9N@T=@33 3 3.?<?9N?XN^NuNVBn`F0n"|L00|`"N4n3@P N2n0(P|"N4n3@Rn nm=|`B N2n2nL1QP N2n0(P|"N4n3@Rn n m=| `J0n"|L00|"N4n3@P N2n0(P|"N4n3@Rn n0mBn`d N2n=hP`:Jnm0 n@l(0.$2.HHAAHЁм @1nRn N2n0(nnRn n0ma4>NB.3Jyg.M?<NATaN$H.MB?<NAT./</<a4PJyl .MaD.M?<NAT=@ nf 3L`ByL>?<NB T.M?< NBNTaz>?<>NBNT3L`>?9LBgaXRyL yLmByL`aRyL yLma4a N^NuNVJyLfB@`RBn`.0n29L4.BH҂Ҽ "A0Rn n@ma\.a4Bn`(0.$ @"|>?9L?.a.XRn n@mBn`0.HH@0@"|L002.HAA=@0n06|@"N4n3@:0n06|8@"N4ni:0n06|"N4ni:Rn n0mpBn`&0yL"N4n0:RyLRn n0mN^NuNVT.M/a X>NBNмA@.Y/X/a P=@Jnf aN$H.?<;NBNT.X/.a X.X/. a XBn`Rn n 2n .g n 2nJf0n .Rn0n SRn0n PRn0n CRn n 2nB/.Bg/.?<=NBNP _0N^NuNV.?<NATaN$HN^NuNV9LfBn`=|Bn`0n"|00|@=@0n"|00|@=@0n"|00|=@0.R@HH@=@Bn`p N2n hgJ N2n(g8JngJyLf N2nh`0n06"N4nRi N2nhRn nm0.@2n20.@2nQ0.@2nQRn n@mN^NuNV0.|=@0.|8@=@0.|@=@0. |=@0. |8@=@0. |@=@BnBn`*0n062n26A=@0.nRn nm0.N^NuNVBn` N2nBhRn nmBn`Z0.$м @2n0 N2.$Ҽ"A2Q0("N4.$Լ$B4RRiRn n@mBn`B0n"N4.$Լ$B4R00n1nRn n@m>?BgaTBn`0n0Rn n0m nBP nBh nBh@Bn`0|?=hBn0.$м @JPf0.$м @Bh=|Jnfr=| n2.$4.BH҂Ҽ"A2i002.$Ҽ"A2Af=|0.$м @1nRn nlJngJnf0Bn=|0.$2.AHЁ @"|0p Pf=nRn nlJngJnoP0.$м @1n0.$2.AHЁ @"|0p2.$Ҽ"A0`=|Bn`x0.$м @=P0.$2.AHЁ @"|0p=P>?.aT=@0.nl=n0.$м @1nRn nmRn n@mBn`20.$м @ hf0.$м @1|Rn n@m n"n1i n"n1i"> n"n1iB^N^NuNV yL̶SRL yL̶PRL yL̶BRL yL̶BRL yL̶BRL yL̶BRL yL̶}RL yL̶\RL yL̶BRL yL̶BRL yL̶ERL yL̶RLBn`~>NB.-@0.HѮ=|Bn`D ngB@`p=@ nP>.H?adT0.HѮpn=@Rn nmTn nm|BnBn` yL̶RL yL̶RL=|`b0n"|00H"yL̶RL0n"|00HH@"yL̶RLRn nmnn n"mNBW/<?<?<>NBNTN^NuNV0yL RyL yLgJn g^09LS@@ yL̶RLBn`$ yL̶"|4nRLRn0.yLmByLN^NuNV=n=n 2.n H2A NYp0Q`Rn0n"|00nm`Sn0n"|00nn0.nn`2n NQp0Q2n0np0Q"NQ0np0QRnSn0.noP0.nl>?.aT0.n l> ?.aTN^NuNV=|Rn n2n"n 4n n 2nJfN^NuNVBnBn` N2n2nLQRnRn nmBn` N2n2nQRnRn |2nJfBn` N2n2nLQRnRn nm N2nB(.?<NATN^NuNV./. /.NAP=@ nJPgh nH>W?<NBNTBn`Rn n2nJf`Sn n2n \fRn0nB.T?<;NBNT0.N^NuNV./<?9?<?NBNPg .NaB .Gf .If .Fg .N:a ./<?9?<?NBNPg .N]a.H|.HAA3.H|.HAA309HAR@309HR@309yo 309yo 3.H|R@3".fB@`p3L.H3.N?< NBNT>?9/<N/N' .?< NBNT.N?< NBNT>"/<N/N'P.?< NBNTJyLgp29"`=@Bn`p./<?9?<?NBNP.H|@2nT2.H|2nTQ.H|@2nTQRn0.nm./<?9?<?NBNPg .Na .;fB@` .!f./<?9?<?NBNP./<?9?<?NBNPBn`$./<?9?<?NBNPRn0..HAmJ.f .,f0./< ?9?<?NBNP g .Na.H|.HAA3.H|.HAA3.H|.HAA3.H|.HAA3\ByByBy.fB@`p3L.fB@`p3ZJyZgB09\S@HR@3S09\[@HR@3S09\W@HR@3T.H|R@3.H|3JyLgp29"`=@Bn`p./<?9?<?NBNP.H|@2n2.H|2nQ.H|@2nQRn0.nma(>?<>NBNT>?<>NBNTN^NuNV3By3dda3T`za(=@0.yfB@`d0.yf"aXa=@>a|=na=@JyTfB@`(0nV hgh>aB>a=@RyL0yLV00yLV1n=np29 `S@yLfRy `09LR@nl .Na >a|=@RyL0yLV00yLV1n>La=np29 `S@yLfRy y  o3  yLm .Oa`N^NuNVBn`*0nV00nV1|Rn nm=yp2.`=@Bn`0nV1nRn0.nm309R@33L09R@3 N^NuNVa =@0.N^NuNVBnBn`a*=@0.2.`nRn0.y m0.N^NuNV yoa83Byp29`yfBn`=|Ry0.N^NuNV09dymz.Y/<?9?<?NBNPg .Oa .H|3.0y/?9?<?NBNP0yg .O@aByd0ydPRyd.H|N^NuNV0nV Pf0n"|V00``0n"|V>aN^NuNV0nV Pf0n"|V>a.`(0n"|V>a0n"|V>aN^NuNV.]/YaXJyLg0n=P`0nT=P0.2.AHЁм @0Ry09ymRyBy09\H//<d0y/N>4P/N>P-@ .>/<Oa/N'P.Or?< NBNT.?< NBNTJyZg a3` 3N^NuNV0<29H49BA29HA"n2pd29H49BA29HA"n 2 n P?o n0? nJPl nBP n Po n 0 n JPl n BPN^NuNV09SySyTyn 0929SySyTA@R@`V09SySyn0929SySA@T@`(09ySm09yS@X@`09@N^NuNVHN6BW/<KN'X>/<KN'X>/<KN'X n2n B*n`&HHмQ @g H| `HRJf> /.NXJL N^NuNVH BWN4#RR#RVByRP.Ka*n`N`RJgHHмQ @fJg2 "g 'fFH>/ RN,X(@ f.Ox/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHмQ @gJ5pg M2GBRGH`BWN$BW/ RN'&XJ@g.R/<OaX`l>N$ ->f@>/ TN'&X|f>B?<N'X\|f.R/<Oa|X`$BW/ RN$X|g.R/<OaVX`>?/ N,XJf>*/ N,XJg-|.8?<NT>/ ?<N:\<f.O/ aX`^.H?/.aZ\.NRWN=(@./ N<@X.a>/ ?<N:\<f`.a`|g`JfBaSyRP.RVN|f.O/<Oa*XB/9RR?9RPN\>N$HJL0N^NuNV|./N<@X. /N<X.O/N<X.?< NT>N$HN^NuNVH*n yRV XRVRyRPJL N^NuNVH*n. (nGVfJL8N^NuNVHN5>|fp`>N6(08*@fJnfU.K/.N/.?N:\J@g3#Q3RNQp`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVN$`>NN^NuNVHBG`0мO.N$RG|mJLN^NuNVH*n0-|g*.N%z-g .N1vB@H+@+@Bm m>N$JL N^NuNVH>.>N6*@ f3 Q3RNQp`NBF0|f>?<>N>$T<l|>N6(>N5JFf0``3Q3RNQpJL N^NuNVN^NuNVH*n0-| |f, -<o >/-?N5\>Gg mp`J-gJg-g;| `;| `>0- D@H/?N'X\Bm +mB@JL N^NuNVHN5>|fp`>N6(08*@fJn fUJnfU.K/.N/.?N:\J@g>N53Q3RNQp`0U>B-H?N'X\BWB-H?N'X\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH>N6*@ f3 Q3RNQp`$>?-/. ?<BN>$P+@U -JL N^NuNV>B?.a\N^NuNVHK;| .+@+@;|:./. / N("P>.BgN-T0JL N^NuNVH*nBnJ gh``BE-n `RRE nJg n %fJEo.?/. N-h\-n n n %@R DfBn n H|-@R Df n R Rn| <0fG n R =|<*f-M n=PT n R `8`*JnlBnH2. A|=@ n R <0m<9o|<.f BF n R <*f-M n<T n R `*`H2 A<| n R <0m<9oBn<lg<LfRn n R A-HH` RnJng <3v` <4,#RZ.RZ?<?< // N3 Jngp`pH`RnJng <3v` <4,#RZ.RZBg?< // N3 Jngp`pH`zRnJng <3v` <4,#RZ.RZBg?<// N3 Jngp`pH`&RnJng <3v` <4,#RZ.RZBg?<// N3 Jngp`pH`-M n-PX`-M n0|@B.T`H>?// N, X|`~H>?// N, X|`XH>?// N- X|`4.H?N-TRn``|C|5b@0@P PN.N/. /.NB^PN^NuNVJnlp`0.=@ n -@>/. /.ND\PN^NuNV>/. /.a~P-@. N/. /.aP-@ .N^NuNVH *n>. (n,g$Bl >/ ?N5\Gg lp`*B@`&`.H?N-T|fp` 0SGJ@fB@JL0N^NuNVH. *n Sm mH"m|R``.H?N.TJL N^NuNVH. *n BF:-fp`$JfV-fN>N/+@+@fm`2m>N/lJ@gm@`;| H"mR`-gA+H +@ mR-gz>/-?N5\<Bm `n-g>< g -мb" -:>/-?N5\<+mBm `( -:>/-?N5\<;| +mFg mp`H|JL N^NuNVH>N6*@ fB@`-fB@`pJL N^NuNVH>N6*@ fB@`0|JL N^NuNV>aJ@g <K`BN^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (yQ*T`ZB@0-BA2-@F@J@g>N2B`:B@0-ne `*Qf>a*@ f>N2B`(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@;@#Q PJL0N^NuNVH >.|?GG0@>N4*@fB`* R*@(M9GB@0,F@9@.Pa 9QJL0N^NuNVH *nQB@0-BA2-@F@J@g>N2p`(yQeeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #QB@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#QB@JL0N^NuNVH *n.a>. ^GORG>a-@fB`J n(PPg2d`Sn Jn f`B0. B0. `%Sn Jn f>/.aXJL0N^NuNVN^NuNVN^NuNVH /?.?./ /. nN*@ мfB(n `%H|0|9o^G мfB JL0N^NuNVH-|RB*n<.H n. nfz` |SEJgJEf`h nf$z ` |SEJgJEfJEf-`*n<.JngJGlB@0D@> n P-"n R`B0H@B0>JGf JL N^NuNVH >.HμgR*yRJ(GRJ.N|f3 Q3RNQp`>Bg/ N\ JL0N^NuNVH>N6*@ fp`vJnfB@`j-g3 Q3RNQp`L0|g>/. / N8P`0-g>/. / N6P``>/. / N8PJL N^NuNVH|BG` Qf Q0`RG|m3Q3RNQpJLN^NuNVp2.`F@HQB@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@f0.@BUB-+| BB> Bg/ N\> ?< / N\JL0N^NuNVH>.|e3 Q3RNQB`0B@08*@f-f3 Q3RNQB` JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N==@B0.ѭJnf3Q3RNQp`^=n`8Rn>?</<Q/-/ N==@B0.ѭnb4 -o+mB@0.JL0N^NuNVH*n>?./. /-/ N==@Jnf3Q3RNQp` B0.ѭ -o+mB@0.JL N^NuNV=|Bn n(g -|:0` n(g-|9 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*nH|=G`H>Bg?<NB>X0SGJ@n0.JL N^NuNVH*nH=@ M2n$BG-M`H M2G $f: n $g.?< NT.$?<NT 2HЁR-@RGnm 2HЁg.?< NT0.JL N^NuNVH*n 0.8мf-@~.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@Q PN0JL8N^NuNV n am n zn n nHRJfN^NuNVH *n (n`RJff .JL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuNVH *n(n `$H>a0H>a&op`lp` JfJfB@JL0N^NuNVH>.|am |zn|0JLN^Nu _B0Z"yRJCCbNC NNVH..,. Jf#RB <`Hc #RBB`:fzB`(xe 〼b`BJge`#RB JLN^NuNV n=h.0n/0n/N>4P/?.?<?N>$PN^NuNV n=h.0n/0n/N>4P/?.?<@N>$PN^Nu#R^NA/9R^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH?BCB..,. f#S <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD#S D`#S JLN^NuNV3eByBy3N@N^NuNV#Rf#Rn .мZ#Rr3dBy3  n 3N@ n 0#RRf#SRn#Rr#RjN^NuNV# Rj33 By3N@#RjN^NuNV3 R3By33N@09SN^NuNVBy3 33By3N@09N^NuNV3 R3By33N@09SN^Nu#Rb"<RbpsNBNuNV3$0.|HмK>-@=|` nH2n$2RRn nm.NHB@09LN^NuNV#$T#fT#,T#LT#T#T#T> aF3LpN^NuNV>a*pN^NuNV3,# >4N@N^NuNV##  >ZN@ n0NB@09LN^NuNV3,# >NN@N^Nu#RvNN/9RvNu#RvNM/9RvNu#RvNA/9RvNuNVH-n Jnnp` nop`0.R@8BGB/.NFPl n -R /.NHX-@B/.NFPo.`/<D/.NGP-@SG/<A/.NFPm`/<D/.NFP-@RG/<D/.NFPlG|0H/NFX-@`/<D/.NFP-@RFDm/<B/.NFP//.NFpP-@/<D/.NFPm -|ARGJGl4 n 0R n .R JDlD|` n 0R SFGnBF`j/.NG^X:0|0"n R Gf n .R 0H/NFX-@//.NH"P-@/<D/.NGP-@RFDm n BR .JLN^NuNVH-n Jnnp` nop`0.R@8BGB/.NFPl n -R /.NHX-@B/.NFPo.`/<D/.NGP-@SG/<A/.NFPm`/<D/.NFP-@RG/<D/.NFPl|0H/NFX-@`/<D/.NFP-@RFDm/<B/.NFP//.NFpP-@/<D/.NFPm -|ARGBF`j/.NG^X:0|0"n R JFf n .R 0H/NFX-@//.NH"P-@/<D/.NGP-@RFDm n ER JGl0D@> n -R 0H |0"n R 0H H@|0"n R n BR .JLN^NuNVH..,. NH LN^NuNVH..,. NHBLN^NuNVH..,. NIv LN^NuNVHJl| .D-@`BFJfB`^~` .-@R .f` .-@S. g .-@޼@ JFg .JLN^NuNVH .м<JgJFlB`V .:|oJEg <` <`0..μ|`RFJFm`SFJFnJEg D. JLN^NuNVH..,. NI LN^NuNVH..NHd LN^NuNVH..,. NHn LN^NuJj Jjf NufNuJNu<NuJg NugR kjklf`>k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu:ڼ.gNugRghEDvi^E]HE:BB8HD&HC؃HF&؃BDHDHGHFHEބj ޼gNuSiex@ބއdRgNu~NujJ<Numc68343 floating point firmware (c) copyright 1981 by motorola inc.#RzNuNV3R~3 R3 R yRz"h$h 4R~5yR2RN^NuStack Overflow runtimeCON:LST:Cannot initialize stack  })=-AQUeyi}  [1][ | successfully written][Hooray!]f[0][GIFSPC must be run in lo-rez][Sorry][1][ | GIFSPC | | by Steve Belczyk |BBS: 508-664-0149][Today, please!][3][Can't open input file][OK][2][ |Dither?][YES|NO]E?:*.GIF[3][Can't open output file][OK][3][Write error (disk full?)][OK][3][Premature end of file][Phooie][3][Not a GIF file][Darn the luck][3][Premature end of file][Thbhbt!]Y%+Resolution: %dx%dY&+Bit planes: %d[3][Premature end of file][Ug!][3][Premature end of file][Mutha!][3][Bad GIF file][Grr..][3][Bad GIF file][Ick][3][Premature end of file][A-OK][3][Premature end of file][Sigh]Analyzing: %d%% Y,,: unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $   +$)+@+f++++++++*j+++++*++*+++++++++++$)+@+f++++++++*n+++++*++*QQ ;;;R;r;;;;0!!!!"b`    dH:      6 48 "TZ,n4F<"" >6L        *      . ","2&N" "     $ 0   8     *"      $"F     "       V    , ,D( 0 <    >  h 0HN&  jj`^***`&$ D"V8*R$ZF \@(B4.J".86 Jp &""@2&"fNbd4*R"D(<0* vf     $   <T0^0 :  . *`.. IFFSPC DOC Eu_"IFFSPC PRG dt k: IFFSPC The Amiga IFF to Atari ST Picture Converter (C) 1987 Steve Belczyk, SysOp of the Genesis BBS, (617) 664-0149 CompuServe: [75126,515] Genie: sbelczyk Shareware notice: This is a shareware product. If you find it useful (and if you use it to convert more than one or two Amiga pics I imagine that means you found it useful), I urge you to send $15, or whatever you feel it's worth, to the author at this address: Steve Belczyk 453 Park Street West, North Reading, MA 01864 Permission is granted to distribute this program freely, provided that this documentation file accompanies it, unaltered. Commercial use of this product is prohibited without permission of the author. Introduction: Once upon a time, not too long ago, Atari ST owners, while otherwise perfectly satisfied with their machines, lamented over the limitation of sixteen colors at a time. They could not hope to display pictures of photographic quality that were commonplace in the Amiga world. In despair, they plodded through bland Degas and Tiny pictures. But lo! Unto these sad souls was delivered Spectrum 512! This brilliant program was capable of displaying pictures using the entire palette of 512 colors! Moreover, with the clever use of dithering it became possible to display 4096 colors, just like on the Amiga. The ST graphics community was set on its ear. This program, IFFSPC, can read any Amiga IFF picture and will do its best to turn it into an SPC picture which can be displayed by any of the Spectrum slideshow programs (SPSLIDE, SPSLID5, and SPSLID7), as well as being read into Spectrum itself for further editing. There are no size or resolution restrictions such as those imposed by Spectrum 512. Operation: IFFSPC must be run in low resolution. It also requires a few big buffers, so, if you're using a 520, get rid of that ramdisk and those greedy desk accessories. After the tacky title page, you will be presented with the usual file selector dialog box. The Amiga community is not very picky about extensions on file names, but hopefully you will have renamed your Amiga pics with a .IFF extension, since that is the default for input to IFFSPC. I would hope that everyone will keep the name of the SPC pic as close to the name of the original Amiga pic as possible, so we don't wind up with half a dozen SPC pics all made from the same Amiga pic. After selecting the victim, you will be tersely asked if you would like dithering. Pictures almost always look better dithered, so YES is most likely your best bet. It's also the default. More on dithering below. The screen will clear, the input file will be read, and then row after row of ghastly colors will be plotted. DON'T PANIC! These colors bear little resemblance to the ultimate appearance of the picture. Nevertheless, I love to try and guess what the picture will look like by scrutinizing these pseudo- colors. Once the screen has been entirely painted, the disk drive will come on again. IFFSPC is now trying to write name.SPC (assuming you chose name.IFF as the input file). ANY EXISTING name.SPC WILL BE CLOBBERED! If all goes well, a message indicating success will appear. At this point you'll rush off to try the pic with SPSLIDE or SPECTRUM. I hope it turned out well. Error messages: "Can't open input file." This one's pretty straightforward. Either you specified a file that doesn't exist or it is badly damaged. "Premature EOF." The IFF file is too short. Most likely cause of this error is an incomplete file transfer at some point. "Not an IFF pic." The 12-byte header of the so-called IFF file indicates that this is not an IFF picture file, or perhaps not an IFF file at all. I get this if I forget to de-ARC the file. "Unacceptable resolution." The resolution of the picture is not one of these: 320x200, 320x400, 640x200, or 640x400. I've never run into this problem. "Can't open output file." The Fcreate failed on the output SPC file. Either the disk is full, damaged, or write-protected. "Write error (disk full?)" IFFSPC couldn't write the entire SPC file. The disk is either full or damaged. Theory of operation (or, Why they don't always turn out great): Each horizontal scan line of an Amiga picture can contain as many as 640 different colors. Spectrum, on the other hand, permits a maximum of 42 colors per scan line (plus black). So, IFFSPC's main task is to take a line of as many as 640 colors and somehow "dissolve" it into a line of no more than 42 colors, while preserving as much of the quality of the original pic as possible. To make matters worse, Spectrum does not allow any pixel on the line to have any of the 42 colors. Each pixel has only 14 colors to choose from. This can make life pretty miserable for IFFSPC. Generally speaking, the way IFFSPC handles this is to sort the pixels on the scan line by how popular each desired color is on that particular line. In this way, popular colors get the most attention. The remaining, less popular colors are simply assigned the popular color that is the closest fit. It is unavoidable that what IFFSPC thinks is an unimportant color may turn out to be a color that we humans think is very important. This seems to happen most often in pictures with faces; the bridge of the nose occupies very few pixels, but it is exactly where we tend to focus on a face. IFFSPC thinks these pixels are unimportant, hence you may wind up with an unsightly blemish on the nose. In the way of reassurance, however, let me say that, of the thirty or forty Amiga pics I have converted with this program, only two or three turned out unsatisfactorily. But you are warned. More on dithering: Even the magic of Spectrum could not improve on the fact that the ST is limited, in hardware, to a total of 512 colors (Colorburst notwithstanding), three bits for each of the primary colors red, green, and blue. The Amiga sports FOUR bits for each primary, giving it 4096 colors. This is a significant difference. Colorburst solves this problem by flipping rapidly between the two closest ST colors to obtain the desired Amiga color. Very clever, but it does result in that unsightly flicker. IFFSPC (and Spectrum) use a technique called dithering. To render an Amiga color that the ST can't produce, every other pixel is assigned one of the two closest ST colors. This works much better than it may sound. I find that the patterns introduced by dithering actually contribute to the overall quality of the picture. Here's the rub: Dithering can nearly double the number of colors that IFFSPC has to deal with on each scan line. That's why you are given the option to dither or not to dither. If a picture does not turn out too well dithered, cross your fingers and try it without dithering. Amiga pic pointers: Before you go running off to the local Amiga board and snarf up every IFF file you find, there are a few things you should know about Amiga pics. First of all, the IFF format is used by Amiga owners to exchange plenty of things besides picture files. Don't download something just because the description mentions IFF; you might get an Amiga sound file. Instead, look for keywords like HAM or ILBM along with the IFF. Also, there is an Amiga feature called color-cycling which IFFSPC does not support. Avoid pictures that mention color-cycling, or just plain cycling. As I mentioned before, Amiga owners are not very strict about naming their files. I've seen picture files with extensions IFF, HAM, PIC, and more. In fact, most of the picture files had no extension whatsoever. After I de-arc an Amiga file (fortunately, they use the same ARC program!) I always rename it to something.IFF. While it's true that the Amiga has better resolution and more colors than the ST, that does not mean they're aren't just as many lousy hand-done pics for the Amiga. Personally, I much prefer digitized photographs. The big paint program for the Amiga is called Digi-paint, and the big digitizer is called Digi-view. I grab everything that mentions Digi-view, and avoid everything that mentions Digi-paint. There is also a slick ray-tracing program for the Amiga called Sculpt-3D. I liked some of those. But the digitized HAM pics are the best. Good luck with the program! Steve B `2t_"O o#8 (Ш#8"<kҀ`Ҩ.A"Ҽb.A$(e .BeB"¼.A//Bg?<JNA y8EH?/ NfJ?<LNA.IHy2?< NA\? o e #8BNupNuNV0/"/ NB8eN^Nu/<2t?< NA?<0<LNA o2/0/ HSoQBNu o0/JfBNuf SNu"/0<NBNuNV.4?< N2dTN1XBn`0n(20Rn n mBy(F.(/<?/<(2N/fP>?9?N0T=@>?9?N0^T=@N^NuNV>?N/ ?9?N0$T=@3(3 (3(3 (.(?<?9?N/XN^NuNV>?9?N0$T=@3(3 (3 (3(.(?<?9?N/XN^NuNV-|FORM-|ILBM-|BMHD-|CMAP-|BODY-|CAMGBn`F0n"|4$00|`"N4n3@ N2n0(|"N4n3@Rn nm=|`B N2n2n4$1Q N2n0(|"N4n3@Rn n m=| `J0n"|4$00|"N4n3@ N2n0(|"N4n3@Rn n0mBn`d N2n=h`:Jnm0 n@l(0.$2.HHAAHЁм/ @1nRn N2n0(nnRn n0mBy(a>N2D3!Jy!g.4?<N1Ta^N.4?<N1T./<'D/baPJnl .5a.5#?<N1T=@ nf 34 `By4 >?<N2"T.58?< N2dT=|`>?.BgaXRn nm./< ?.?<?N2dP g .5;aN .ܰf .䰮g .5Ra0.?d/<?.?<?N2dP 9?vn 9?dg .5ja y@?lg y?lg .5a y?ng y?ng .5a09?lH@=@09?nH=@09?lH3(J9?tH(J3(Bn`./<?.?<?N2dP .ܰf6./.?.?<?N2dP/</.N.P=@`$ .ܰfBn`0n!BP0.=@ N2n(H@@=@0.|2n!2 N2n(H@@=@0.|2n!Q N2n(H@=@0.|2n!QRn0.̰nmV=|.@/.?.?<?N2dPg .5aJ9?vf.B` n"|@0H>a8R .మn`B` y4@PR4J.m:R..HHѮ y4@PR4.H>aS.n`J .gB.HD@R@@.HHѮ y4@PR4.H>aS.n .హ4nT`D .ܰf3(B`"./<?.?<?N2dPR .మnJngz>?<>N2dTa a*aN^NuNV y4\ R409(H"94fB4a Ry4N^NuNVJy4fB@` y?nf094HH@|fB@` y?nf094H=@`=y4Jy(ga`:Bn`(>ad0@"|!?00n"D0Rn09?lnn y?lf0=|` 0n"D2n"D0Rn n@ma.aBn`&0.$ @"|/>?.?.aXRn n@mBn`0.HH@0@"|4D002.HAA=@0n06|@"N4n3@80n06|8@"N4ni80n06|"N4ni8Rn n0mpBn`&0y4"L"N4n08Ry4"Rn n0mN^NuNV=y!Bn`J>a=@ nl0n!=P`>?.a*T=@0n"D0Rn09?lnnN^NuNV0. |0=@ nf0.|2. |A=@`B n f0.|2. |AA=@` n0f0.|2. |AA=@0.N^NuNVBn0.H=@0<2.HHA`@Bn`>09(JnH-@ n"|\0H.HAg p2.`nRn9?tHnn0.N^NuNVT.5/a :X>N2dмA@.Y/X/a P=@Jnf aN.?<;N2dT.X/.a X.X/. a XBn`Rn n 2n .g n 2nJf0n .Rn0n SRn0n PRn0n CRn n 2nB/.Bg/.?<=N2dP _0N^NuNV.?<N1TaNN^NuNV y?nf094H=@`=y4.fBn`=|Bn`0n"|"D00|@=@0n"|"D00|@=@0n"|"D00|=@0.R@HH@=@Bn`p N2n hgJ N2n(g8JngJy4 f N2nh`0n06"N4nRi N2nhRn nm0.@2n"D20.@2n"DQ0.@2n"DQRn n@mN^NuNV0.|=@0.|8@=@0.|@=@0. |=@0. |8@=@0. |@=@BnBn`*0n062n26A=@0.nRn nm0.N^NuNVBn` N2nBhRn nmBn`Z0.$м/ @2n"D0 N2.$Ҽ/"A2Q0("N4.$Լ/$B4RRiRn n@mBn`B0n:d"N4.$Լ/$B4R00n:d1nRn n@m>?BgaTBn`0n0Rn n0m nBP nBh nBh@Bn`0|?:d=hBn0.$м/ @JPf0.$м/ @Bh=|Jnfr=| n2.$4.BH҂Ҽ/"A2i002.$Ҽ/"A2Af=|0.$м/ @1nRn nlJngJnf0Bn=|0.$2.AHЁ @"|/0p Pf=nRn nlJngJnoP0.$м/ @1n0.$2.AHЁ @"|/0p2.$Ҽ/"A0`=|Bn`x0.$м/ @=P0.$2.AHЁ @"|/0p=P>?.aT=@0.nl=n0.$м/ @1nRn nmRn n@mBn`20.$м/ @ hf0.$м/ @1|Rn n@m n"n1i n"n1i"> n"n1iB^N^NuNV y4^dSR4 y4^dPR4 y4^dBR4 y4^dBR4 y4^dBR4 y4^dBR4 y4^d}R4 y4^d\R4 y4^dBR4 y4^dBR4 y4^dER4 y4^dR4Bn`~>N2D-@0.HѮ=|Bn`D ngB@`p=@ nP>.H?adT0.HѮpn=@Rn nmTn nm|BnBn` y4^dR4 y4^dR4=|`b0n"|L00H"y4^dR40n"|L00HH@"y4^dR4Rn nmnn n"mNBW/<'D?<.?<>N2dTN^NuNV0y4' Ry4 y4gJn g^094S@@ y4^dR4Bn`$ y4^d"|'4nR4Rn0.y4mBy4N^NuNV=n=n 2.n H2A:d NYp0Q`Rn0n"|:d00nm`Sn0n"|:d00nn0.nn`2n:d NQp0Q2n:d0n:dp0Q"NQ0n:dp0QRnSn0.noP0.nl>?.aT0.n l> ?.aTN^NuNV=|Rn n2n"n 4n n 2nJfN^NuNVBnBn` N2n2n4dQRnRn nmBn` N2n2n'DQRnRn |'D2nJfBn` N2n2n4jQRnRn nm N2nB(.?<N1TN^NuNV./. /.N1P=@ nJPgh nH>W?<N2dTBn`Rn n2nJf`Sn n2n \fRn0nB.T?<;N2dT0.N^NuNVHN&BW/<2N!TX>/<2N!TX>/<2N!TX n2n B*n`&HHм7 @g H| `HRJf> /.NXJL N^NuNVH BWN%,#8$#8(By8".2a*n`N`RJgHHм7 @fJg2 "g 'fFH>/ RN,X(@ f.6&/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHм7 @gJ5pg M2GBRGH`BWN0BW/ RN!lXJ@g.R/<68aX`l>N0 ->f@>/ TN!lX|f>B?<N!\|f.R/<6Ea|X`$BW/ RN\X|g.R/<6TaVX`>?/ N,XJf>*/ N,XJg-|/.8?<NT>/ ?<N+d\<f.6c/ aX`^.H?/.aZ\.N,>RWN-(@./ N,X.a>/ ?<N+d\<f`.a`|g`JfBaSy8".8(N|f.6}/<6na*XB/98$?98"N\>NJL0N^NuNV|./N,X. /N,X.6~/N,X.?< NT>NN^NuNVH*n y8( X8(Ry8"JL N^NuNVH*n. (nGVfJL8N^NuNVHN&2>|fp`>N&08*@)&JnfU.2/.N-"XJ@f U0`R`.2/.N-"XJ@fU0`2>/.?N+d\J@g3#738 7p`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVN>NN^NuNVHBG`0м6.NRG|mJLN^NuNVH*n0-|g*.N-g .N#B@H+@+@Bm m>N0JL N^NuNVH>.>N'(*@ f3 738 7p`NBF0|f>?<>N.:T<l|>N&>N&|JFf0``3738 7pJL N^NuNVN^NuNVH*n0-| |f, -<o >/-?N%\>Gg mp`J-gJg-g;| `;| `>0- D@H/?N!\Bm +mB@JL N^NuNVHN&2>|fp`>N&08*@)&Jn fUJnfU.2/.N-"XJ@fU;n 0``.2/.N-"XJ@fU0`d>/.?N+d\J@g>N&|3738 7p`0U>B-H?N!\BWB-H?N!\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH>N'(*@ f3 738 7p`$>?-/. ?<BN.:P+@U -JL N^NuNV>B?.a\N^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (y7j*T`ZB@0-BA2-@F@J@g>N%$B`:B@0-ne `*7jf>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@;@#7j PJL0N^NuNVH >.|?GG0@>N%,*@fB`* R*@(M9GB@0,F@9@.Pa 97jJL0N^NuNVH *nQB@0-BA2-@F@J@g>N%$p`(y7jeeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #7jB@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#7jB@JL0N^NuNVH *n.a>. ^GORG>a-@fB`J n(PPg2d`Sn Jn f`B0. B0. `%Sn Jn f>/.aXJL0N^NuNVN^NuNVN^NuNVH >.HμgR*y8(G8.N|f3 738 7p`>Bg/ N\ JL0N^NuNVH>N'(*@ fp`vJnfB@`j-g3 738 7p`L0|g>/. / N)P`0-g>/. / N'P``>/. / N(PJL N^NuNVH|BG` 7nf 7n0`RG|m3738 7pJLN^NuNVp2.`F@H7nB@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@)&0.@BUB-+| BB> Bg/ N\> ?< / N\JL0N^NuNVH>.|e3 738 7B`0B@08*@)&-f3 738 7B` JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N-=@B0.ѭJnf3738 7p`^=n`8Rn>?</<7r/-/ N-=@B0.ѭnb4 -o+mB@0.JL0N^NuNVH*n>?./. /-/ N-=@Jnf3738 7p` B0.ѭ -o+mB@0.JL N^NuNV=|Bn n(g -|*` n(g-|*~ 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*nH|=G`H>Bg?<N2TX0SGJ@n0.JL N^NuNVH*nH=@ M2n$BG-M`H M2G $f: n $g.?< NT.$?<NT 2HЁR-@RGnm 2HЁg.?< NT0.JL N^NuNVH*n 0.8м)&-@~.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@7t PN0JL8N^NuNV n am n zn n nHRJfN^NuNVH *n (n`RJff .JL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuNVH *n(n `$H>a0H>a&op`lp` JfJfB@JL0N^NuNVH>.|am |zn|0JLN^Nu _B0Z"y8CCbNC NNV n=h.0n/0n/N.JP/?.?<?N.:PN^NuNV n=h.0n/0n/N.JP/?.?<@N.:PN^Nu#8,NA/98,NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH?BCB..,. f#9H <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD#9H D`#9H JLN^NuNV3e)By)By) 3)N0N^NuNV#84#8< .мZ#8@3d)By)3 ) n 3)N0 n 0)#8H84#9L8<#.8@#?88N^NuNV# 883)3 )By) 3)N0#?88N^NuNV3 8H3)By)3) 3)N0099LN^NuNVBy?3 ?3)3)By) 3)N009.N^NuNV3 8H3)By)3) 3)N0099LN^Nu#)80"<80psNBNuNV3(L0.|Hм2-@=|` nH2n(L2RRn nm.)NHB@09(tN^NuNV#(L:L#':P#(T:T#(t:X#):\#L:`#:L)> aF3(t)pN^NuNV>a*pN^NuNV3(T# )>4N0N^NuNV#)# )">ZN0 n0(vB@09(tN^NuNV3(T# )>NN0N^Nu#8DNN/98DNu#8DNM/98DNu#8DNA/98DNuStack Overflow runtimeCON:LST:Cannot initialize stack  })=-AQUeyi}  [1][ successfully written][Hooray!]f[0][IFFSPC must be run in lo-rez][Sorry][1][ IFFSPC | by Steve Belczyk |BBS: 617-664-0149][Get on with it][3][Can't open input file][OK][2][Dither?][YES|NO]E[3][Premature EOF][OK][3][Not an IFF pic][OK][3][Not an IFF pic][OK][3][Unacceptable resolution][OK][3][Unacceptable resolution][OK][3][Premature EOF][OK]?:*.IFF[3][Can't open output file][OK][3][Write error (disk full?)][OK]: unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $   7b7b ,,h+,,<,h,h+!!!!"b`    LdH2    B      $&*8,* ,  < "&    4<("&8 *TZ,n4F<"" >6L        *      . ","2&N   , ,D( 0 <    >  h 0HN&  jp".86 Jp &""@2&"fNbd4*R"D.* vf     $    . 0`.. COPY TTP y!MAXIDISKPRG z MAXIDISKTOS { README TXT {%` "FZN6N ZNN N N @N 0NN*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,Nb\?<N?<A?<NAXNuNVBnHlNX=@Hl&NX=@?</N:T-@Hn?<N(\HlHlNP?<Hl?<NNP-@AB`HlHlNPA м/HlNPHlHl&NPA м/Hl&NjP.H|fHl A м/N~PJ@g^Hl A м/N`PJ@g@Hl&?<9NR\JgHl&HlNP=|`Hl&HlNPn`Hl&HlHl4Nv BgHl?<=NP=@ @lHlHlBNJP=|`T.H|?Hl&?<NX?.?<>NX?<Hl&?<=NP=@?<?.A м/?<WN ?.?<>NXABA&B?<ONfT-@ .gf gHlHlNP=|/.?<N,\0.`N^NuNV nm n /(HlN

J@gHlNX?<NT/,?<IN|\N^NuNV?.N(T nn0<`?.?<>NNX9@g0<`0<N^NuNVHl/.N"PJ@g`Hl/.NPJ@gNHl/.NPJ@g n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`F ,$@ f*Ar$H`0* |f` Ar"Ҽm Ar"Ҽm <`BBj Bn+H|+f =|j H|wf?./.NZ\>j `hH|afB0<n?/.N\> @f?./.N\>?<B?NrPj `0.n?/.NN\>j Gf Bj <`05G Bj <$%@?<B?* NP%@5lp L N^NuNV)n/.NX/. /.NLPN^NuNV`H0BnBnBB9| nRH|=@ .&@$@BG`TH| g(H| gH| gH| g H| f0.f0.gBnB` `H|"f< nfBn`*0.f 0.f=|0,RlA` `"`H|'f: nfBn`*0.f 0.f=|0,RlA` `'`r0.fj0.fd=|H|f. R @H|>f T-@=|` R-@Bn`0,RlA`  R0RG0nmB .g,Ar H1| Ar H1|HlrHl/.N .g2A H1| Hl0.gA `A" //.N 0,R@H/?<HN\)@><`0A` 2 l RG0lm l 0, lBL N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN~ -@?<?.B?<BNd -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHl$/.NPJ@f =|`Hl*/.NPJ@f =|`Hl0/.NPJ@f=|`f0. |g0/.NXJ@g0<``Bg/.?<NLX0. |?/.?<=N4P=@9@ @l0<`0. | ??.N~X0.N^Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHl6Hl?<Nb]|@0. R@?HnHnHnNb.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hl>/N: /NXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHlNPN^NuNVHn /.N&PN^NuNV`/. nRH?N^\ nfN^NuNVH0&n$n -K`fS`f .`L N^NuNVH0&n$n `RRgHHAgHHC`L N^NuNV n "n fN^NuNVH0&n$K`Rf `L N^NuNV/.?<ANt\9@g0<``0<N^NuNV`4 nH| f?< ?<N.`0 lh l ,"</2H/N"Ё$@0.|g0 lh m l0( lh=@0nlr< lh f <<`<<`l0" A PfX: lh =E:<FUE=E:<BD`$0 l/NX0RE lBRD DmRF Fm l-h l8( `0Gf ` ,"</2H/N"Ё-@< lh f <<`<<`Z0 n Pg0 n Pf4  l0 n0`0 nBP RF FmRD l0( lh=@0nm8BD`RD Dm`BD`RD Dm`8 lh 0.|g~0 l/N*XHnHl м// NH/.Hl0 lA/N l l?<?<?<N\ <``f0 l g:?<Hl0 l/N2 Hl м// N `BD` 0RD KB DmRG0.Sn @n <`L N^NuNVNB?< N\-@ |.)P ,м" @nd l g l fHN lA)H ,м")@0< lH-@ ,Ю)@N6`l/N>X?.?<N0X/.?< N"\)OBg ,мd",/?<1NPN^NuNuNVH0&n$n ><@`$0SGJ@fL N^NuNV </0.H/Nh -@/X nRP` nRH??<N X.S.JfHl?< N\ nf/.?<IN\N^NuNVH0&n$n ..,`$Qμ` S nL N^NuNVH0&n$n PЫf *Pѫ& lP`&L N^NuNVH0&n ..B R. l$h`/ P// NF چ$Rg *,mҵf nB` l ( n / P// N "Pl l!Rچ`8%G PЪ l!@ l h Q l h!@ PڀB l (!@L N^NuNVH0&n$n ..`.,+l ,+`,// P/NN &Sg nL N^NuNVH0&n l gJg@ ll2-S l (Ы!@ l/(/ NP l!K&n l$h`x f4-K` l (Ы!@&Sf/ / NP`< o2-S l (Ы!@// NP/ / NP&n`$Rg fxL N^NuNV l!n l hB . Q l!@ l h!@N^NuNVH0H CA-H <?BBBBQ(n n *LB$n`rI n 0f!B"`,. WF**~( &@ kRf,f(C& Fo6SCkVʾIl> *+ f"D&B"JGg*SG G?o><?*LGg` e*LBRڵ mH n L0L N^NuNVH0&n$n"J`0pf S@k"Q`rd|AS@kQ mL N^NuNV?.NT nn0<`?.?<>N@X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NFP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN -@?<?.B?<BNt -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/ 0Q"_N^NuNV/.?<IN\N^NuNVBn`&0.An0nf0.AnBPRn nLmN^NuNV?>.=|0An"HPgXHf0(>N^Nu)Ij)Jf)_bNM"lj$lf/,bNu)Ij)Jf)_bNN"lj$lf/,bNu)Ij)Jf)_bNA"lj$lf/,bNuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KA-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NZTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^NuC222222222C"2"2 2"2"2"22"2"2"22"2x9|NuNot enough free memory available. MAXIDISK.INFMAXIDISK.INF Maxidisk installation aborted.   Free Memory ===> Bytes Eevp *** Public domain software *** (C) Max Bhm 08.08.1987 q This is a resetproof ramdisk that stores more than you would imagine... Installed as partition / kB used AUse how many kB ?  AWhich partition ? Error on : CON:AUX:PRT: `N Nd*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNX/,?,NR\?<Nd?<A?<NAXNuNV |r)P |~)P |v)PAL  |r AT  |~ A\  |v 2< l6(a | H `pNqNqA P"hEh0/`*A P"hEb0/`A P"hE^0/" "hig"ANH(H)_N/,LNuA N^NuNV ,`N^NuNV <`N^NuNVH0&n >.`0 lh l ,"</2H/N"Ё$@0.|g0 lh m l0( lh=@0nlr< lh f <<`<<`l0" A PfX: lh =E:<FUE=E:<BD`$0 l/NX0RE lBRD DmRF Fm l-h l8( `0Gf ` ,"</2H/N"Ё-@< lh f <<`<<`Z0 n Pg0 n Pf4  l0 n0`0 nBP RF FmRD l0( lh=@0nm8BD`RD Dm`BD`RD Dm`8 lh 0.|g~0 l/N*XHnHl м// NH/.Hl0 lA/N l l?<?<?<N\ <``f0 l g:?<Hl0 l/N2 Hl м// N `BD` 0RD KB DmRG0.Sn @n <`L N^NuNVNB?< N\-@ |.)P ,м" @nd l g l fHN lA)H ,м")@0< lH-@ ,Ю)@N6`l/N>X?.?<N0X/.?< N"\)OBg ,мd",/?<1NPN^NuNuNVH0&n$n ><@`$0SGJ@fL N^NuNV </0.H/Nh -@/X nRP` nRH??<N X.S.JfHl?< N\ nf/.?<IN\N^NuNVH0&n$n ..,`$Qμ` S nL N^NuNVH0&n$n PЫf *Pѫ& lP`&L N^NuNVH0&n ..B R. l$h`/ P// NF چ$Rg *,mҵf nB` l ( n / P// N "Pl l!Rچ`8%G PЪ l!@ l h Q l h!@ PڀB l (!@L N^NuNVH0&n$n ..`.,+l ,+`,// P/NN &Sg nL N^NuNVH0&n l gJg@ ll2-S l (Ы!@ l/(/ NP l!K&n l$h`x f4-K` l (Ы!@&Sf/ / NP`< o2-S l (Ы!@// NP/ / NP&n`$Rg fxL N^NuNV l!n l hB . Q l!@ l h!@N^NuNVH0H CA-H <?BBBBQ(n n *LB$n`rI n 0f!B"`,. WF**~( &@ kRf,f(C& Fo6SCkVʾIl> *+ f"D&B"JGg*SG G?o><?*LGg` e*LBRڵ mH n L0L N^NuNVH0&n$n"J`0pf S@k"Q`rd|AS@kQ mL N^NuNV?.NT nn0<`?.?<>N@X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NFP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN -@?<?.B?<BNt -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/ 0Q"_N^NuNV/.?<IN\N^NuNVBn`&0.An0nf0.AnBPRn nLmN^NuNV?>.=|0An"HPgXHf0(>N^Nu)Ij)Jf)_bNM"lj$lf/,bNu)Ij)Jf)_bNN"lj$lf/,bNu)Ij)Jf)_bNA"lj$lf/,bNuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KA-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NZTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^NuC222222222C"2"2 2"2"2"22"2"2"22"2x9|NuNot enough free memory available. MAXIDISK.INFMAXIDISK.INF Maxidisk installation aborted.   Free Memory ===> Bytes Eevp *** Public domain software *** (C) Max Bhm 08.08.1987 q This is a resetproof ramdisk that stores more than you would imagine... Installed as partition / kB used AUse how many kB ?  AWhich partition ? Error on : CON:AUX:PRT: Cologne , West Germany , July 4 , 1988 ---- This file is a translation of the original German README file, written by Max Bhm, the author of this exceptional public domain program. Translated by COLONIUS. Comments made by the translator are within brackets. MAXIDISK.PRG installs a resetproof ramdisk, which compresses the files stored in it. It is usually possible, to store about 750 kB in a 500 kB ramdisk! This version works with all versions of ROM based TOS, including the new Blitter TOS of the MEGA STs. Any memory size, up to 4 megabyte, is supported. (Although it makes little sense to use a ramdisk on a 512 kB system.) MAXIDISK.PRG should reside in the AUTO folder on your boot disk, although you may also install the ramdisk from the desktop after booting your ST. (In this case you should rename the program to MAXIDISK.TOS, since it is not a GEM application and will cause trouble if started as one. It must, however, carry the .PRG extender to autoboot from the AUTO folder.) The first thing MAXIDISK.PRG does, is to check if there is already a MAXIDISK installed. In this case, you are informed about the size and the assigned partition name and the installation terminates. After this, MAXIDISK checks for MAXIDISK.INF on drive A and B (if started from floppy) or on the logical drive (partition) it was started from. {Paul Varn note: If MAXIDISK.INF is not found, you are requested to enter a size and partition letter.} If you would rather abort the installation of the ramdisk after starting MAXIDISK.PRG, simply hit return without entering a numeric value when prompted to enter the desired ramdisk size. A message will inform you that the ramdisk was not installed. Once the MAXIDISK is installed, it is resetproof. This means that the contents of the ramdisk will survive the reset, not the driver program itself. You must start MAXIDISK.PRG after a reset, to be able to access the data in the ramdisk. If you fail to do so, the ramdisk will still remain intact over any number of "warm" resets, but it will seem to be empty (0 bytes in 0 files) until the MAXIDISK driver is reinstalled. {Paul Varn note: Actually, you must use a re-named version of Maxidisk called: MAXIDISK.TOS. When you do this, the screen will just blink and return to the desktop. A symtom of a re-set fault is that when you access the drive, the bytes are ZERO with NO FILES SHOWN. Don't worry. After running MAXIDISK.TTP, everything will return to normal. However, it IS possible to get such a severe system crash, that Maxidisk won't servive. This has been rare for me. If you re-boot from the same disk or drive that Maxidisk was started from, it will take care of itself and all will be normal without the need to re-run Maxidisk.} MAXIDISK.INF is an ASCII file which you may use to install the maxidisk automatically after MAXIDISK.PRG has been invoked. MAXIDISK.INF contains the size of the ramdisk, the drive number which shall be assigned to the ramdisk (C through P) and the names of programs that should be started after the ramdisk has been installed. (You may edit this file with any text editor or word processor that allows you to save plain ASCII files. If you should use 1st Word (any version), be sure to switch off the word processor mode. You may also delete MAXIDISK.INF entirely, if you prefer to enter size and drive number manually.) The example MAXIDISK.INF file installs a 500 kB ramdisk as drive D, copies the contents of the folder COPY_IT to the ramdisk and finally starts SET_TIME.TOS. (see also COPY.TTP and SET_TIME.TOS) {Paul Varn note: Unfortunately, the person who uploaded to version of this ARC that I found, corrupted the .INF file so that the suggested use of the auto-run feature was not shown. I've tried several ways to do this and have not found it. I prefere to use HEADST by CODEHEAD anyway.} The following files are not required for the operation of the Maxidisk, but are utilities that are nice to have. COPY.TTP is used to copy files into the ramdisk on a coldstart bootup. The required parameters are the names of the source and destination folders. (Example: A:\COPY_IT D:\ will copy all files within the folder "COPY_IT" on drive A to the main directory of drive B. It is a good idea to include the line COPY.TTP A:\COPY_IT D:\ in MAXIDISK.INF to automate the procedure.) SET_TIME.TOS allows you to set the ST's internal clock. {Paul Varn note: I see no reason to keep this program around. The clock setter that came with my internal battery clock works fine. This is a manual setter. You might do away with it. COPY.C and SET_TIME.C contain the C source code of COPY.TTP and SETTIME.TOS. These files are contained in a seperate .ARC file which you may download or not. {Paul Varn note: Again the uploader didn't bless us with these files. It's not my fault they are not there.} {MUST} MAXIDISK.INF, COPY.TTP and SET_TIME.TOS should reside in the root directory of the same drive (either floppy or hard disk) as MAXIDISK.PRG. If you have two disk drives and MAXIDISK.PRG is not started from hard disk, both drives will be checked for the MAXIDISK.INF file. Known Problems: none, so far -- at least if you rename MAXIDISK.PRG to MAXIDISK.TOS if you start it from the desktop. If you boot in 40 column mode, the display will be somewhat garbled, but the program works fine nonetheless, so this is not assumed to be a problem. Disclaimer: This software and its documentation are in the public domain. You may copy them freely for non comercial purposes only. No warranty whatsoever is made regarding the performance of this program and the accuracy of its documentation. In other words: use it at your own risk! Problems , Suggestions etc : EMAIL to username COLONIUS on DELPHI. Original Program and all coding by: Max Boehm Im Engelbrauck 5 4670 Luenen West Germany Conversion to the English language by: Stephan Muhs Wilhelmstr. 51 5000 Koeln 60 West Germany (Username Colonius on Delphi) Maxidisk addendum by Paul Varn updated 12/19/90 I found a couple of problems using the auto-copy TTP program while running Maxidisk from the auto folder mainly do to a poor explanation on the part of the translator as concerns the .inf text file syntax. Some experimenting provided the following guideline for very flexable usage: The example above---COPY.TTP A:\COPY_IT D:\ ---will copy the named directory (folder) to the D drive creating the COPY_IT folder there in the process, AND any files contained within the directory to the D drive. When I use the program ALLADIN for the ST to call GEnie, I set up the boot with this MAXIDISK.INF file in the boot directory; 400k C COPY.TTP A:\D C:\ The folder "D" on my boot disk contains all the message and working files Alladin normally expects to see in a folder named DATA. (I've modified the Alladin program to allow this). Now all these files will be in the folder named "D" in the C ram disk. Here are some COPY.TTP command lines that will do some other copying tricks; COPY.TTP A: C: (This will copy ALL the files including INTACT FOLDERS to the ram disk C.) COPY.TTP A:\COPY_IT C: (This will copy all the files in the COPY_IT folder to the ROOT of ramdisk C. with no folder created.) COPY.TTP A:COPY_IT C:\COPYALL (Will create a folder COPYALL in the C ram disk and copy all the files from COPY_IT to there.) I have not found a way to copy individual root files. Easy to solve the problem by putting them in a folder to be copied. Note that the author stated that COPY.TTP SHOULD be in the boot root directory. SHOULD is really a MUST or COPY.TTP will not be found! To figure a rule of thumb for the size ram disk to make, calculate a ram disk about 20% smaller than tha total number of files for a rough start. After copying, see how much room you have left and then make adjustments. Some of the size you create is used by the program. A hint to MAXIMIZE ram disk space. Set your file selector (or desktop) to display files by SIZE so the largest files are sorted to the top. This way, the largest files are copied first down to the smallest files. As the files get smaller, Maxidisk optimizes more. You might get two 250k files into a 400k ram disk. If you had one 250k file, and 8 25k files, you'll get them all in there with room to spare (up to 40% compression). I've seen situations where I've put in a 10k file when there was 20k left in the the ram disk, and saw afterwards that there was 18k left. To get this results during boot-up, copy these files to the folder to be copied with your system set to display size. COPY.TTP will copy the largest first. Final note: This wonderful program has been around for a couple of years. Although I've distributed it widely in my area, it hasn't caught on for some mysterious reason. I've seen every PD and commercial ST ram disk, and in my opinion nothing compares to this. ----------------------- END OF FILE ---------------------------- . 9`.. FS EXE g PIX LZH ]xp:MZ{}LZ91? Safe Landing!:U嚤1BD?x>Pn6NWW&8aأFHJ 0tG>tu d%~F+@`< uZ\/ /ٗtU֫ 9]6CDFFFaP~W 3 ֠?F0F ~u,ʇ\ + q!t^2 3 C;%@t18>Lu  M #Z 0 ۴ I U^ZY[!PSQRVU윻ES3ێۊ^ SvPC)^X˜WU~«Xq]ڌ2OC£ o&- v.5!EC%# )$?NPP@ 6Xǖ9sWT#NX[YZ^_]ϸY[p13$, t t&a;t0+.0(30*6G nPSE3dP % Ct)躡Cx藻?@:U54ݴL. {8Cñd n20PXPP$<:rд#$456789:;<=>?uRuntime error aat. 8|˃>uˡ6D&;U|r|Ewظ؍+r r;64rCt6?<6wEtr2u ]U &} Fh~;t&E =u` i|&CQpV]/t郻 ^YCQupt CAF;Nu+ 1 u%Ƌ2+ ?6-؎1֋./    3 %$&(v-lh1-D|G PIX.C%N~wχ~fֵtS@ 󺽾>xc]/e~&.g-"NnD;NF>HM}-16 ME4Lq,ѻU0a)]%-[pql݀&Wp3^h4y׽B`U có@Ӟ/O|knM{U ݚAL3ŵHZjg45F( j `a D|3QOd0H),PNl"vX6y!Nxw1ʲYKڇ/j〗C^LȠUL-|)[m%V/ߪm @=Q۸^X 7H2`kl,LIJ&(QiJ!UVMD#32H6ȳD3r2HCJ` ]>e5ԆC Hbo0͸C ;]I5g&M=Ȩx4!4J)֬ H4=Y\p.qA=I t i>m$|Kp26Q ^0v<ጳ4go`~p1vv~q\})Z['*X< a+B~(+U bM.E9ÜO\V+ck)m 0ͨ 5wE{KOvx<|=R:>x\V|eOSrn;%,)@d!Qu"["ņ6R1~0a;7g;5-lh1- { |G PIX.EXE,+1ypd`/5pu~'z#Z-V ox=V#L!uyzyi8ݩLJG1]+Z-''Ҽm"<:I-myO$M?>yx%s`RK ]k7x `f ^6g!%v!&]pW€6cHkkS6{qУETe8'E *jhoIO]w3R#gta[:D">8R,!tY: ء+ (E3'­S@q ٰ" ĿXg]DZCf}\0-7%$2t!n' ՆyE}'J#;;@P!S1]!rSX=8JݡMTO˙\:"i+5']eL~%fi*M#d@Nxn1)/dBO"n¿QؘhvMF>*r'#WCKb⯣{?ּǦ$.7G5!nAՠ ߚ 54ݖ 'P>t2 qt4OJD~?%J࣍Pm. bw#G[}&L7%߼-5+Zsg*hة\^ ^ 4YT>)Hyf..~VTk MI}%f(Ų:ruw./-[7Xڜnl# D@W}S.NE .t%K mhhf*un 75/W=(*~+/nd<ܬ5?s48Vؠ? &VDqLcG,3htJȒWo^Dd8nFW!뵄:,b$;kXk)q܃9-dDa#J%ELA1jYY-&{?%i-&2?r|)kїkӈfPY ow\64b9 Iu}vg.PW~>@~>zd!OkyU_YKNI=9)bP,6GZZmTlZ2Aј7C7^`.ē dµ:ȹGLMHDw$s7֤o޵N,7>F.C܍g޵wt5Q>-Du?&)|FV)>(|ёvnܷ|t~!4Xңj/LNs_y2%0>=2c哮9!oih.fu9Gc;W΍Z ߧ%{ K=6ӫrg;Yy,2l ]a^!TO~7fJR5ՠ tbxefCwpč%Ix;C7QOW?jvOgxsSe=ZiuY{"~~iճ1 ݭ&v-wA ܒ~DHY@.gBr)KgHU'Taܐ5:zVT}]|</oɳ 5L R=FW_ĝ,">D|&?)E eo١R>Q_lIK+Os;mOq)"^ci69Z. =`.. DATABASEDAT DeNEXT_AP8GFA EREAD_ME 1ST HZEST DOC HZEST PRG IsZEST_GFALST LQ-"Begletter Office Supplies" "2011 No.4 Road" "Richmond" "British Columbia" "Canada" "V6T 7U6" "(601)897-9211" "FAX (601)897-3749" "" "" "" "" "Diamond Investment Group" "3499 Bittern Court" "Bellingham" "Washington" "USA" "93008" "(201)434-7612" "Contact: Ray Charlston (vice president)" " Lisa Paulson (supervisor)" " Theresa Smith (accounting)" "" "" "Jiffy Manufacturing Company Inc." "5332 Main Street" "Vancouver" "British Columbia" "Canada" "V6Y 1W3" "(601)321-9032" "FAX (601)321-8723" "Contact: Jim Pearson (manager)" " Frank Lawson (accountant)" " Peter Horlik (buyer)" "" "Keystone Pool Products" "1244 Greyspool Way" "Kelowna" "British Columbia" "Canada" "V9Y 2E4" "(601)455-9826" "Contact: Jim Burnstein (president)" " Joy Burnstein (accounting)" "" "" "" "Passive Filtration Systems" "4533-103rd Ave." "Surrey" "British Columbia" "Canada" "V7Y 3R1" "(601)276-9888" "Contact: Paul Marston (owner)" "" "" "" "" "Spenser Fine Foods" "43-9009 No.8 Road" "Richmond" "British Columbia" "Canada" "V9T 1S4" "(601)277-9011" "FAX (601)277-9012" "Contact: Shirley Doubleday (manager)" " Helen Reeves (buyer)" "" "" "Top of the Mark Dinner Club" "5229 Howe Street" "Vancouver" "British Columbia" "Canada" "V8Y 4Z3" "(601)354-6897" "" "" "" "" "" "Uptown Mobile Music" "523 Granville Street" "Prince George" "British Columbia" "Canada" "V8Y 3R3" "(601)231-9822" "FAX (601)231-9374" "Contact: Harold Newton (buyer)" "Contact: David Appleton (manager)" "Contact: Charles Bingom (supervisor)" "" GFA-BASIC3J z,,,,,'0\<ɜɜɜɜɜͰXX2REZISTIYEARRETURNABCDKEYRESC_NUM1CNUMCNUM1CHC_LYNZBUTTON SHIFT_BUTTONSPRITEXSLIDER BACKGROUNDLOGOSLIDER1 BACKGROUND1 BACKGROUND2 BACKGROUND3 BACKGROUND4ABACUSFOLDERX_LOGODMONTHTITLEGBLANK1PUTBACKPBCALPENCILPUTBACK2PUTBACK3BG FIND_AGAINTERERALPHANMSREPTYPEBACK1PSPKPRESSKPSSTIIBACK2PUTBACK5PUTBACK6PUTBACK4BCOVERY2DBASEPICTUREF1PICSPICLPBACKCIRCLECIRCRECTTRISIZELETTERBLOCKSAFETYSAFTEYWERDSTPBKKKSCREEN1STRING1ERASERBBSCREEN2 PUITBACK3SLIDNEXTCDUPPER_XUPPER_YLOWER_XLOWER_YA SLIDER_X1 SLIDER_X2 SLIDER_Y1 SLIDER_Y2TITMXXMYY SLIDER1_YOPENOKGIRLTVYEARMONTHDAYSSTARTDZEXITBCCC CALENDAR_OPEN DBASE_OPENNMAXCNTRQCHANGEDGPLCINTEITISDESRTDSORTEDOKS SLIDER1_XXXPSPI TYPE_OPENGO_AHEADUTNC_DAYNC_MONTHNC_YEARMYDAY PAINT_OPENHMHYWIDTHHIGHWIDEWIDE2HIGH2WIDE1HIGH1WHCOLOURKEYPRSCFILLCMODEBSIZEMXMYVX1VX2VY1VY2PUTBPUBVXVYGOAHEADLEFTXTYZXZYLENNAMESNAMETEMPTEMP1SNMSTRIMVNMSISPRITEXSPRITE2LOGOABACUSFOLDERCALPENCILTYPEDBASEPICSPICLCIRCLERECTTRISIZELETTERNEXT NEXT_BUTTONNEXT_BUTTON_PRESS NEXT_INFO_BOX X_GRAPHIC NEXT_SLIDER NEXT_GIRLSPRITE NEXT_LOGO NEXT_TEXT_BOX NEXT_INFO NEXT_SLIDER1 OPEN_WINDOW CLOSE_WINDOW STACKED_MENU SECOND_WINDOWNEXT_TEXTINFO_BOXABACUSX_LOGOFOLDERWIN_DRAW NEXT_LINENEXT_HORIZ_LINENEXT_VERT_LINE NEXT_LINE_BOX DRAW_CALENDAR FILL_CALENDAR TEST_CALENDARINIT DRAW_ICONS MONITOR_ICONSTEXTCAL_LOGO PENCIL_LOGO NEXT_WINDOW DRAW_DATABASE TEST_DATABASEDATABASE_ENTRY DRAW_DATABSE DATABASE_VIEW DATBASE_VIEW DATABASE_EDITDATABASE_DELETE DATABASE_SORT LETTER_SEARCH TYPE_LOGO DRAW_TYPE TEST_TYPE TYPE_SLIDER TYPE_ENTRY ICON_TESTWHILECONFIRM_DELETE CONFIRM_EXIT DBASE_LOGO DRAW_PAINT PAINT_TEST PAINT_DRAW LOAD_PAINTPICSPICLCIRCRECTTRISIZELETTERTER DRAW_CIRCLEDRAW_BOX DRAW_LINE DRAW_LINESK_LINESK_LINECASE BLOCK_COPY PUT_BLOCK FILL_PAINT PAINT_TEXT CHOOSE_FILL CHOOSE_MODE BRUSH_SIZE DEGAS_SAVE DEGAS_LOAD ERASE_PAINTPBOXIF CREDIT_BOX NEST_LOGO CONFIRM_PAINTFF0V F x ߀JF0!| Monochrome only! !!OK!F$FhF8-.F8JF8 F8HF year%=1991  month%=1 8FFH! FH! FH FHd F8!V!! F( VOID BIOS(11,BIOS(11,-1) AND &HEF) 85?~!! F185?~!! F@   ݀JF8F8F$F& T database.dat ߀JF$I!M! database.datF8"F!8!FON F"N "FM!!!" F"FF nFN8"FO!F ZFN 0MF$FFt?FFt=Ft8FFP!!!FFFp!!! F \F  Ft!!F!!!FFFFFt #/!!e!G F8!!F5Ft #/!I!e!{ F6!Q!/F,Ft #/!}!e! F2!!!F F #/!!e! F6!!FFt #/!J!e!| F2!L!FUFFFFF8F18F1 0>߀!݀!݀!݀!F>߀!݀!݀!݀!F"߀!݀!Fl!!!Fl!!!F Fl߀!!!F&l!!!߀Fl!!!F0l߀!!߀!݀F FF<F `F"߀!݀!FF!!! FT!F-t!!FX!!!Fl!!!F&l!!!߀Fl!!!F$l߀!!߀!F Fl߀!!!F&l!!!߀Fl!!!F0l߀!!߀!݀F FF!!! F-T!F-t!!FX!!!Fl!!!F&l!!!߀Fl!!!F$l߀!!߀!F Fl߀!!!F&l!!!߀Fl!!!F0l߀!!߀!݀F Ft!!F<߀!݀!݀!݀FF!!! F!T!F-l!!!F F&l!!!߀Fo FF!!! F!T!F-l!!!F F$l߀!!߀!F FF!!! FT!F- F|!!!F F$l߀!!߀!F<l߀!݀!݀!݀F<l߀!݀!݀!݀F0l߀!݀!!߀FF!!!! Ftitle bar #!!!ߠ Fwindow area #!߰!! Fclose button 2@#!݀!ݐ!݀ FF6Ft:0Х0!!2!2! ! !!| F8IFRt!!Fe8:F !# ! !! F #!&!!| F !d!!x!DF #!&!C!R Fp!!! Fa XF,T!B!SaveF #E!&!w!R FTN!B!LoadF XF, #!T!C! F!Y!6F'!iF #E!T!w! FM!Y!7FY!kF #!!C! F!!8F$!F #E!!w! FT!Fl]!!]!F l^!!^!F #!!C! F!!9F #E!!w! F XF,TN!!TextF XF1 #!!C! F XF,T!!BlockF XF1 #E!!w! F XF,TO!!FillF XF1 #! !C!8 F XF,T!'!EraseF XF1 #E! !w!8 F #M!!n!0 Ft!!HFO!!m!/F #!:!C!f F #!B!:!] F !D!8!T!EFp!!!FgT!Z!SIZEFp!!! Fgt!!Fh(!K!*!NF] PBOX 37,328,46,337 t!!Fh #E!:!w!f F #M!B!n!] Fp!!!FaTS!Z!MODEFp!!! F]TZ!R!0F !(! !z!4F!(!0F7FFRFT!F !(! !z!0F XF!(G !zFF)P<FFF *:JFHFN *<߀::;;JFFT!F #! !C!8 FT!F8VFF4J Erase screen?F3F!(G !zF *2JF!(!4F !(! !z!0F,߀F$F$F 8,tF:F8S:ߠF8T;ߠF +0S߂JF8SF$F +ZTߠJF8T(F$F +SJF8SF$F +T߳JF8TfF$F" ,nS ;T <<߀JF 8;SFF 8X<FF>l<߀FF><F 8 :FF 8 ;FFF >: ;; % < FF$FFA@<F \FFHF B:? ;;> FD B;߂;D߃@<ݠ<E߽JF!(!0F 0BIFB$GF;!F #!D!!Y F Q8W JF F$F$F 4&FF.T!1!&B_ ߐB& FRz߀FR F esc 4&FF.T!1!&B_ ߐB& FRz߀FRj G~FC RbB& ݐJF4&&B FT!1!&B_ F$F4F OF XF`xG߆HF`dGߪH(F*#!!!ݠ F UFG UlFG _!P!x!!FFFFF 0VFWfF4JanuaryF8F 0VRFVpF8FVF8FVF8FVF8FVF8FWF8FW$F8FWBF8FW`F8F4FXF4FebruaryFF8F 0WFWF8FWF8F8FX F8FX(F8FXFF8FXrF8F8FXF8FXF8FXF8F4FZF4MarchF8F 0Y FY(F8FYFF8FYdF8FYF8FYF8FYF8FYF8FYF8FZF8F4F[jF4AprilF8F 0ZVFFZtF8FZF8FZF8FZF8FZF8F[ F8F[(F8F[FF8F[dF8F4F\F 4MayF8F 0[FF[F8F[F8F[F8F\F8F\6F8F\TF8F\rF8F\F8F\F8F4F^F4JuneFF8F 0\FF] F8F](F8F]FF8F]dF8F]F8F]F8F]F8F]F8F]F8F4F_LF4JulyFF8F 0^8FF^VF8F^tF8F^F8F^F8F^F8F^F8F_ F8F_(F8F_FF8F4F`F4AugustFF8F 0_FF_F8F_F8F_F8F_F8F`F8F`:F8F`XF8F`vF8F`F8F4Fa F4 SeptemberF8F 0`FF`F8FaF8Fa0F8FaNF8FalF8FaF8FaF8FaF8FaF8F4Fc8 F4OctoberF8F 0b$FFbBF8Fb`F8Fb~F8FbF8FbF8FbF8FbF8FcF8Fc2F8F4Fd F4NovemberFF8F 0ctFFcF8FcF8FcF8FcF8Fd F8Fd(F8FdFF8FddF8FdF8F4Fe F4DecemberFF8F 0dFFdF8FeF8FeF8Fe<F8FeZF8FexF8FeF8FeF8FeF8F4F4F_!P!F8F8߀F4,  FF&4%B ݀ FT!i!FXGFFFF 4 FF fB ݀JF4 FF$F 0fFfF#Tk!!FgF#T!!Fg8F#T!!Fg\F#T!!FgF#T !!FgF#T3!!FgF#T[!!FgF#Tk!!Fh F#T!!Fh4 FT!!FhX FT!!Fh| FT !!Fh FT3!!FhFT[!!FhFTk!!Fi FT!!Fi0FT!!FiTFT!!FixFT !!FiFT3!!FiFT[!!FiFTk!!FjFT!!Fj,FT!!FjPFT!!FjtFT !!FjFT3!!FjFT[!!FjFTk!!FkFT!!Fk(FT!!FkL FT!!Fkp!FT !!Fk"FT3!!Fk#FT[!!Fk$FTk!!Fl%FT!!Fl$&FT!!FlH'FT!!Fll(FT !!Fl)FT3!!Fl*FT[!!F4F ftFGFFF 0l!D!J F8Fp߀FF4Fn=GYF 0n FnryGF #FTE!I!PrintFTz!p!AddFtT!p!EditFT!p!DeleteFT=!j!A B CF T=!!D E FF T=!!G H IF T=!!J K LF T=!!M N OF T=!!P Q RF T=!!S T UF T=!!V W XF T=!*!Y ZF XF&F#FF#FF 0t!/!!C Fp!!! F XFT]!?! Exit?FTM!i!YesFtT!i!NoF XFFN <߀::;;JF # Put X,Y,X$ -Whereas X= X Coordinate Y= Y Coordinate F,F 4!FFFFFFF4!!B F $݀FSprite Data For TYPE$ |F"0,49,0,32,0,1,85,85,85,85,85 *85,64,0,170,170,170,170,170,170,128,0 $85,85,85,85,85,85,64,0,160,0,0 ,(0,0,2,128,0,79,255,255,255,255,255 , 64,0,168,0,0,0,0,6,128,0,72 0,0,0,0,7,64,0,168,0,0,0 7(0,6,128,0,72,255,255,255,255,135,64 &0,168,128,0,0,0,134,128,0,72,255 6&255,255,255,135,64,0,168,0,0,0,0 66,128,0,72,0,0,0,0,7,64,0 ,168,119,119,119,119,6,128,0,72,119,119 *119,119,7,64,0,168,119,119,119,119,6 9 128,0,72,0,0,0,0,7,64,0,168 ,29,221,221,221,198,128,0,72,29,221,221 ,221,199,64,0,168,29,221,221,221,198,128 0,72,0,0,0,0,7,64,0,168,119 ,119,119,119,6,128,0,72,119,119,119,119 (7,64,0,168,119,119,119,119,6,128,0 172,0,0,0,0,7,64,0,168,0,0 0,0,6,128,0,72,0,0,0,0,7 64,0,168,0,0,0,0,6,128,0,79 .255,255,255,255,255,64,0,175,255,255,255 (255,254,128,0,85,85,85,85,85,85,64 5*0,170,170,170,170,170,170,128,0,85,85 85,85,85,85,64,0,-1  To Display Sprite B Put X,Y,TYPE$ -Whereas X= X Coordinate Y= Y Coordinate F5F 4/FF FFFFF4//B F ݀FSprite Data For DBASE$  |F"0,39,0,36,0,1,85,85,85,85,85 (0,170,170,170,170,170,0,85,85,85,85 &85,0,170,170,170,170,170,0,84,0,0 &0,21,0,161,255,255,255,138,0,87,0 "0,0,229,0,165,0,0,0,170,0,86 8(248,24,31,165,0,165,100,0,37,106,0 (86,163,255,198,165,0,165,96,0,5,106 "0,86,160,0,6,165,0,165,96,0,5 *106,0,86,161,255,134,165,0,165,97,255 *133,106,0,86,161,255,134,165,0,165,97 ,255,133,106,0,86,161,255,134,165,0,165 *97,255,133,106,0,86,161,255,134,165,0 (165,97,255,133,106,0,86,160,0,6,165 "0,165,96,0,5,106,0,86,160,0,6 &165,0,165,96,0,5,106,0,86,191,255 (254,165,0,165,85,85,85,106,0,86,170 (170,170,165,0,165,85,85,85,106,0,87 &255,255,255,229,0,160,0,0,0,10,0 8*85,85,85,85,85,0,170,170,170,170,170 (0,85,85,85,85,85,0,170,170,170,170 0170,0,85,85,85,85,85,0,-1  To Display Sprite 5B Put X,Y,DBASE$ -Whereas X= X Coordinate Y= Y Coordinate FFt 4IFFFFFFF4IIB F ݀FSprite Data For NEXT$ |F0,92,0,92,0,1,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,16,0,0,0,0,0,0 0,0,0,0,0,120,0,0,0,0,0 0,0,0,0,0,1,252,0,0,0,0 0,0,0,0,0,0,7,252,0,0,0 0,0,0,0,0,0,0,63,254,0,0 0,0,0,0,0,0,0,0,255,255,0 0,0,0,0,0,0,0,0,3,255,255 0,0,0,0,0,0,0,0,0,15,192 127,128,0,0,0,0,0,0,0,0,60 0,15,192,0,0,0,0,0,0,0,1 0248,0,3,224,0,0,0,0,0,0,0 "7,224,255,193,224,0,0,0,0,0,0 $0,31,193,255,240,240,0,0,0,0,0 $0,0,127,199,255,240,120,0,0,0,0 $0,0,3,255,135,255,192,252,0,0,0 $0,0,0,15,255,143,254,3,254,0,0 "0,0,0,0,63,63,31,248,15,254,0 $0,0,0,0,0,252,63,31,224,127,223 "0,0,0,0,0,7,224,63,31,129,255 "31,128,0,0,0,0,31,128,63,28,7 $255,31,128,0,0,0,0,126,0,63,16 $31,255,31,192,0,0,0,1,248,12,63 $0,127,254,31,224,0,0,0,7,224,60 (127,131,255,254,31,240,0,0,0,63,192 *252,127,135,255,252,63,240,0,0,0,255 *195,252,127,195,255,248,63,248,0,0,3 ,255,207,252,127,224,255,240,127,188,0,0 *1,255,255,248,127,240,63,192,254,60,0 (0,0,255,255,248,127,248,0,3,240,30 ,&0,0,2,255,255,248,255,254,0,7,192 *127,0,0,6,127,255,248,255,255,192,63 *1,255,128,0,7,63,255,248,255,255,255 ,248,15,255,192,0,7,191,255,248,255,255 ,255,224,63,255,192,0,7,223,255,248,255 ,255,255,128,63,255,224,0,7,207,255,248 *255,159,254,0,63,255,240,0,7,231,255 8*240,254,15,248,30,31,255,240,0,7,247 8,255,241,248,15,224,127,15,255,248,0,15 ,243,255,241,224,31,225,255,7,255,252,0 015,249,255,241,128,127,247,255,135,255,254 ,0,15,252,255,240,1,255,255,255,195,255 2,254,0,15,254,255,240,7,195,255,255,225 2*255,255,0,15,255,127,240,30,0,255,255 ,240,255,255,128,15,255,63,240,120,0,255 0255,240,255,255,128,15,255,159,241,240,120 0127,255,248,127,255,192,31,255,223,247,225 .252,255,255,252,63,255,224,31,255,207,255 .227,255,255,255,252,63,255,128,31,255,231 ,255,199,255,255,255,254,31,254,0,31,255 .243,255,199,255,255,255,255,15,248,192,31 0255,251,255,199,255,31,255,255,143,231,128 ,31,255,249,255,199,240,3,255,255,191,31 .128,63,255,252,255,199,128,1,255,255,252 8,127,128,63,255,254,255,224,0,1,255,255 2,241,255,0,63,255,255,127,224,3,240,255 2,255,207,255,0,31,255,255,63,248,63,248 2,255,254,63,254,0,15,255,255,159,255,255 ,248,255,248,255,254,0,7,255,255,223,255 ,255,248,255,227,255,254,0,7,255,255,239 ,255,255,248,255,143,255,252,0,3,255,255 ,231,255,255,241,254,63,255,252,0,1,255 ,255,243,255,223,193,241,255,255,248,0,1 ,255,255,251,255,142,3,199,255,255,248,0 *0,255,255,249,255,0,15,31,255,255,248 ,0,0,127,255,252,255,128,60,127,255,255 ,240,0,0,63,255,254,127,224,227,255,255 ,255,240,0,0,63,255,255,127,255,143,255 *255,255,224,0,0,31,255,255,63,254,63 5,255,255,255,224,0,0,15,255,255,159,248 *255,255,255,255,192,0,0,7,255,255,223 *199,255,255,255,255,192,0,0,7,255,255 *239,63,255,255,255,255,192,0,0,3,255 *255,228,255,255,255,255,255,128,0,0,1 *255,255,241,255,255,255,255,252,0,0,0 *0,255,255,243,255,255,255,255,240,0,0 *0,0,255,255,247,255,255,255,255,192,0 (0,0,0,127,255,231,255,255,255,255,0 (0,0,0,0,63,255,231,255,255,255,252 &0,0,0,0,0,63,255,239,255,255,255 2&240,0,0,0,0,0,31,255,207,255,255 2&255,128,0,0,0,0,0,15,255,207,255 2"255,254,0,0,0,0,0,0,7,255,223 "255,255,248,0,0,0,0,0,0,7,255 "159,255,255,224,0,0,0,0,0,0,3 "255,159,255,255,0,0,0,0,0,0,0 "1,255,191,255,252,0,0,0,0,0,0 "0,1,255,63,255,240,0,0,0,0,0 "0,0,0,255,63,255,192,0,0,0,0 0,0,0,0,127,127,255,0,0,0,0 0,0,0,0,0,62,127,248,0,0,0 0,0,0,0,0,0,62,127,224,0,0 0,0,0,0,0,0,0,30,255,128,0 0,0,0,0,0,0,0,0,12,254,0 00,0,0,0,0,0,0,0,0,4,248 0,0,0,0,0,0,0,0,0,0,5 192,0,0,0,0,0,0,0,0,0,0 1,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0 -1 , To Display Sprite ,B Put X,Y,NEXT$ -Whereas X= X Coordinate Y= Y Coordinate FFt 48FFFFFFF488B F Ų݀FhSprite Data For TRI$ r|F&0,35,0,33,0,1,170,170,170,170,160 (0,85,85,85,85,80,0,170,170,170,170 o(160,0,85,85,117,85,80,0,170,170,234 (170,160,0,85,85,245,85,80,0,170,170 (250,170,160,0,85,85,157,85,80,0,170 (171,154,170,160,0,85,87,13,85,80,0 (170,171,14,170,160,0,85,86,7,85,80 &0,170,174,6,170,160,0,85,92,3,85 0&80,0,170,172,3,170,160,0,85,88,1 0(213,80,0,170,184,1,170,160,0,85,112 &0,213,80,0,170,176,0,234,160,0,85 &96,0,117,80,0,170,224,0,106,160,0 &85,192,0,53,80,0,170,192,0,58,160 $0,85,128,0,29,80,0,171,128,0,26 "160,0,87,0,0,13,80,0,171,0,0 2"14,160,0,86,0,0,7,80,0,174,0 2&0,6,160,0,95,255,255,255,80,0,175 (255,255,255,160,0,85,85,85,85,80,0 *170,170,170,170,160,0,85,85,85,85,80 d 0,-1 7 To Display Sprite ,@ Put X,Y,TRI$ -Whereas X= X Coordinate Y= Y Coordinate F?F 49FFFFFFF499B F f݀FSprite Data For SIZE$ |F"0,30,0,29,0,1,85,85,85,84,170 ,170,170,170,85,85,85,84,170,170,170,170 *85,87,255,244,170,170,0,26,85,86,255 7,212,170,170,128,90,85,86,128,84,170,170 *128,90,85,86,128,84,170,170,128,90,85 ,86,128,84,170,170,128,90,87,254,255,212 *172,2,0,26,85,255,255,244,173,255,170 .170,85,255,181,84,173,255,170,170,85,255 .181,84,173,255,170,170,85,255,181,84,173 ,255,170,170,85,255,181,84,172,0,42,170 3,87,255,245,84,170,170,170,170,85,85,85 384,170,170,170,170,-1  To Display Sprite -B Put X,Y,SIZE$ -Whereas X= X Coordinate Y= Y Coordinate FUFDF #!_!! F #!h!! F!n!IF !c!!!HFp!!!FE*T!!ALTERNATIVE INTERFACEFdp!!!Fe,T!!1991, DAVID BECKER, v1.1Fp!!! FDFNB<߀::ʀ;;F #!_!! FLFF ZeST ------------------------------------- Alternative Interface for the Atari ST by David Becker While attending the Pacific Coast computer show recently I was intrigued by the "sculpted" desktop displayed on the Next computer and to a lesser degree by Windows 3 and some others. Many of these effects were produced on monitors capable of grey scale with resolutions exceeding 1024 by 768! I decided to experiment using GFA3 and a monochrome monitor to see if I could reproduce an effect comparable to these GUI's (graphic user interfaces) on the Atari ST. As a result I would like to introduce you to the ZeST alternative interface for all ST's! You can decide for yourself how closely (if at all) it resembles this new wave of "carved" GUI's! ZeST.PRG includes a paint program, calendar, typewriter and database in a desktop enviroment. Each program is fully functional, however please keep in mind that this is a demonstration and not a serious application. (I won't respond to minor bug reports, be warned, there are probably a few!) Speaking of serious applications... I have included GFA3 source code in case someone is interested in using the ZeST graphic interface with their own program (or perhaps expanding and enhancing the simple procedures included). Go for it! I hope you get a kick out of my ZeST interface and I hope these simple programs are of some use to you (let me know). Have fun! January, 1991 David Becker GEnie mail to D.Becker8 ZeST Desktop Applications ------------------------- 1991, David Becker The ZeST interface, desktop and applications should run on all ST platforms. 520ST users should remove all desk accessories and auto programs. ZeST requires a monochrome monitor. When first run you will be presented with the desktop, five icons on the right, and a credit box in the centre. Click within the credit box to remove it (you can recall this box by pressing the right mouse button from within the empty desktop). The first four icons from top to bottom are the, CALENDAR DATABASE(address book) TYPEWRITER and PAINT PROGRAM The icon with the big 'X' at the bottom of the screen is the eXit button. Simply press once with the left mouse button while pointing at an icon to run its application. All applications run in 'static' windows with close buttons in the upper left hand corner. To exit any program simply click within its close button. Applications may be called from within other applications but only the window on the top will be running. As each window is closed the program beneath will be re-activated. You may click the eXit icon only when there are no programs running. Calendar ---------------------------------------------- If your ST's system date is set correctly then the calendar will open to the correct month and year. Use the arrow buttons on the left to step backward or forward through the months. The buttons at the bottom step through the years. Database ---------------------------------------------- If the database file "DATABASE.DAT" exists on your boot disk then it was automatically loaded when ZeST was run. You can use the arrow buttons under the display screen to move forward and backward through the entries. Use any letter key on the left to jump to the beginning of entries starting with that letter (if there are any). The print button sends the current entry to the printer. The add button creates a new entry and allows you to enter up to eleven lines (hit return after each line). If you press return on any empty line, input will be terminated. Edit lets you change the content of the entry currently displayed. Delete erases the current entry but asks for confirmation. Your database is automatically sorted. If any changes have been made, the database will be saved to disk when the window is closed. Typewriter ---------------------------------------------- The typewriter sends each line to the printer when the return key is pressed. You can enter and edit each line in the text window as it is typed. The form feed button will eject the printed page. The line feed button sends a blank line feed to the printer (hitting return at a blank line does the same thing). The slider at the far right controls the left margin and can be set by holding down the left mouse button and sliding left or right until the correct margin setting is displayed. Paint ---------------------------------------------- SAVE and LOAD The ZeST paint program creates pictures in DEGAS uncompressed monochrome mode (pictures using the extension .PI3). Choose a picture file using the load button and it will appear full screen with a moveable capture box. Place this capture box over the screen area you wish to use and click the left mouse button. The rest of the DEGAS picture is discarded and you will be returned to the program with the captured block displayed within the paint window. Save sends only the content of the paint window to disk. CIRCLE and RECTANGLE Circles and rectangles can be drawn by pressing the icon and moving the cross hair into the paint window. Press the left button to set the starting point for the shape. Slide the mouse to manipulte the size until it is correct. Hit the left button again to set it down or use the right button to exit without making any changes. CONNECTING LINES and SINGLE LINES Connecting lines and single lines are drawn using exactly the same process. BRUSH COLOUR Click the brush colour(color if you live in the US) icon to toggle between white and black ink. TEXT ENTRY After clicking the text icon you will be able to move the text cursor into the paint window and type any word or sentence. Use the mouse to position the line and then hit the left button to drop it. The right button aborts. BLOCK After clicking the block icon you can drag a rubberband box around any part of the picture and then paste a duplicate copy in another area. Hold down the left button while dragging to set the block, let the button up to place the block then click again to set it down elsewhere. The right button exits. After exiting the block function your picture is still retained in a buffer and can be recalled at any time by selecting the block icon and hitting the right button first instead of the left. Your previous picture block will appear and can then be pasted within the picture window. The mode button (bottom right hand corner) determines block and text paste reactions (example:mode 0 is replace and mode 2 is transparent). FILL After clicking fill, choose the area with the mouse cursor and click the left button to begin. The right button cancels. Fill patterns are chosen by clicking the icon directly below. ERASE Click here once to bring up the eraser. Hold down the left button to erase any part of the paint window. Click the erase icon a second time to clear the entire window. The right button exits erase mode. SIZE You have two different brush sizes. Large and small (how about big and little?) Each click of the icon toggles the brush size. ---------------------------------------------------- IF YOU MAKE A MISTAKE HIT THE 'UNDO' KEY! Please remember that the ZeST interface is a demonstration program only. You use it at your own risk. David Becker GEnie mail to D.Becker8 `'>AONeNai?<NNTA abX <r4<A a_pg$E"pN2/0<N|:z2x2v20<t2<0aqfA@a^`A0az Hx/HxIHxeHx{NxN?A0az><|2z(x2v20<TtI2<0aqA@a^``.A0ayHx/Hx}HxeHxNxN'A0ay><l<<z x2v2pdt}2<0apA@a^`A0ay|Hx/HxHxeHxNxN tA0ayj><| z x2v20<|4<2<0apnA@a]`lHx/HxJHxeHx|NxNNt`zvmvEovJmvzov~m o m oT Km4 {o`* 0m" do2`N^X`vgvg`NuNA a}Aa}Aa}Aa}paq@paqJpaqbpaqlpaqj$m $m&$m$$m"aopaq4paq>paq<$m $m&t$mԒr$mҒao$m $m&$m $r$mҒao$m R$m&t$m Ԓ$m"ao$m $m&t$mԒ$m"ao$m Rv$m֒$m$r$mҒao~`NA a|Aa|Aa|Aa|pap.pap8A퀸x$m ؒz$mڒ|$mܒ~$mޒas8A퀾x$m ؒz$mڒ|$mܒ~$mޒasA퀾t$mԒr$mҒaq2$m $m&$m$$m"an$m $m&$m$$m"anpap$m $m&$m $r$mҒan$m R$m&t$m Ԓ$m"anf$m $m&t$mԒ$m"anH$m Rv$m֒$m$r$mҒan&paoNJfpNA퀸t$mԒr$mҒapJ`~da~A a{,Aa{$Aa{Aa{panpanpanpanpan$m $m&$m$$m"am$m $m&$m$$m"am|$m R$m&t$mԒ$m"am\$m $m&$m$$m"am@$m v$m֒$m$r$mҒam pan$m $m&$m $r$mҒal$m R$m&t$m Ԓ$m"al$m $m&t$mԒ$m"al$m Rv$m֒$m$r$mҒalpan`}a}FA ayAayAayAaypamFpamPpamhpamrpamp$m $m&$m$$m"ak$m $m&$m$$m"al$m R$m&t$mԒ$m"ak$m $m&$m$$m"ak$m v$m֒$m$r$mҒakpam$$m $m&$m $r$mҒak$m R$m&t$m Ԓ$m"akx$m $m&t$mԒ$m"akZ$m Rv$m֒$m$r$mҒak8palpal8palBpal@$m Uv$m֒t$mԒr$mҒaj`{fa{A ax.Aax&AaxAaxpakpak$m $m&$m$$m"ajpal$m R$m&t$mԒ$m"ajpak`za{0A awAawAawAawpak0pak:$m $m&$m$$m"aj0pak$m v$m֒$m$r$mҒaj pakr`znazA aw6Aaw.Aaw&Aawpajpajpak8$m $m&$m$$m"aiXpak$m v$m֒$m$r$mҒai$m Sv$m֒t$m Ԓr$mҒaid$m Uv$m֒t$mԒr$mҒai@$m S$m&t$mԒr$mҒai`yayA avPAavHAav@Aav8$m/$m/$m/$m rЁ/aJ$m/$m rЁ/$m/$m /a($m Z/$m X/$m rЁ/$m rЁ/a`x><| z x2v20<|4<2<0agA@aTBpai\paifpaidp+@RHx Hx HxHxaHxHx&HxHx|aAPxx*<|d.<alHxHx&HxCHxRa`paipaipaip aiai pai2 HxEHx HxwHx8a6HxMHxHxnHx0apafpaf -afvm0</4<rOae HxHx:HxCHxfaHxHxBHx:Hx]aAV(<Tz8,<D~ai^paf|pafzpafxpafvaf~ At("<afhNBNupadpadA(<z*< |(.<agpaeL6< 0<zt(2<aeNNJfa]^Nprla]nNSWHH/NprnBNprCmBN nBN8]HHgaepad>padHHxHx HxCHx8apadpad(+|EKp AtakNL6< 0<zt(2<ad -2f0At("<aeDA(<z*< |(.<af``a\fNpr +@Nr +@ l+|p(op(+@ o+| fo+|f -VVHH/ -Zgp.NSWHHgh+mV+mZAt("<advNSf,AP$-Z"-Vad^A(<z*< |(.<afpЭZv֭V$-Z"-VaaNUfAt("<ada[vacZpabpabNupas <\*.*a`/aov"HA,NAaqNgdAHaixA(<z*< |(.<aejalAt("<acANai@AHaiJAraYpal>pakpal2A aLakBm <r4<Aahf?aY"a}JfpaXNuRplp+@paXdpaXn -aXjvm0</4<rOaVNu6< 0<zt(2<aXpaXa}dJfa}\gpaXpaX" -aXa}BSf,a}/a}""aXA(<z*< |(.<aZpaXaXbNupaW -aW6< 0<zt(2<aXpaX^A(<z*< |(.<aZa|Jfa|Sfa|Jfa|+@a|+@a|tVVHH/a|vZVHHg4a|R+@Va|\+@ZAt("<aXb -Z&-V$-"-aUa|Bga|Sf2 -Z&-V$-"-aQA(<z*< |(.<aU`At("<aTawUfBA(<z*< |(.<aUpaSJaS"paRXpaRbNupaRJ -aRR6< 0<zt(2<aRpaSA(<z*< |(.<aUFawtJfawlSfawdJfaw8+@awB+@aw(VVHH/aw*ZVHHg4aw+@Vaw+@ZAt("<aS -Z&-V$-"-aP\avgavSf -Z&-V$-"-aP:`At("<aRA(<z*< |(.<aTxpaR"aQpaQ0paQ:NupaQ" -aQ*6< 0<zt(2<aQpaQA(<z*< |(.<aTavLJfavDSfav<l<<z x2v2pdt}2<0aMnA@a:p+@.Hx HxHxvHxhaHxHx"HxlHx6atA큨(<5*<k,<#~aQHxHx?HxlHx_aHxHxDHxHxYa6HxHxDHxHxYa"Hx,HxEHxHxXaߤA큄(<W*<,<F.<-aQHx.HxGHx`HxVaHxGHxHHxGHxUaA(<W*<a,<F.<.aQFHx*HxEHx_HxXapaNPpaNNpaNLp aNJaNRpaNdEXp aZ4<Tr7aU Eap aZ4<T2<aUpaN0p_a[FC큜aJ"4<1raTA큄$<F"<-aNA$<F"-aN -&<:<a:a8a80i+@& -&a8a]C큊aU"0-S@fp aZ"HA큊aIC큊aUA큊4<T2<A큜aZ amlg&?<NATJgHaT -&a[aG$A큜aG`.HxHxDHxHxYa0?<NATJgaTp aXaFA큜aWp_aXC큜aF/0-rHDa[D"_aF4<1raQ``A큜aWXp_aWC큜aF/0-rHDa["_aF4<1raQV`l`b0-@HlXp-aWC큜aFdC큜aQp_aWrC큜aFN4<1raQ`$vgv gvgrv mv~oangXNupaIpaIpaIp aIaIaBDanr+@" -"VHH/ -"nB "]HHg+m"A큄$<F"<-aJA$<F"-aJr -&<:<a5a4Za3i+@& -&a4aY|C큊aP0-S@fp aVb"HA큊aE<N|:z2x2v20<t2<0aFA@a4p+@Hx2Hx:HxHx@aZHxHxZHxRHxnaHxpaUl4<rGaOpaU\4<rIaOpaU:4<32<3aNpaH px+@pd+@/-/-pЭ/pЭ/ap(ѭ Topѭ  oA*(<*<x|P~_aJXN/N>Nu -`xEjpAaNp+@ -`Lp+@`p+@`p+@`xp+@`pp+@`hp+@``p+@`Xp+@`Pp+@`H g g g g g g g g g`$EqpAaN,p+@ -`Xp+@`p+@p+@`p+@`~p+@`vp+@`np+@p+@``p+@`Xp+@`Pp+@`H g g g g g g g g g`dEypAaMlp+@ -`Lp+@`>p+@`4p+@`xp+@`pp+@`hp+@``p+@`Xp+@`Pp+@`H g g g g g g g g g`E~pAaLp+@ -`Lp+@`p+@`p+@`xp+@`pp+@`hp+@``p+@`Xp+@`Pp+@`H g g g g g g g g g`EăpAaLp+@ -`Lp+@`p+@`p+@`xp+@`pp+@`hp+@``p+@`Xp+@`Pp+@`H g g g g g g g g g`H ti2<aEp+@ -aC`RR -a)@aN.CaEn0-S@fp aK"HAa9CaEN -`>A4<rkaD`|A4<2<aD`hA4<2<aDz`TA4<2<aDf`@A4<2< aDR`,A4<2<3aD>`A4<2<[aD*`A4<rkaD`A4<2<aD`A4<2<aC`A4<2<aC`A4<2< aC`A4<2<3aC`A4<2<[aC`zA4<rkaC`hA4<2<aCz`TA4<2<aCf`@A4<2<aCR`,A4<2< aC>`A4<2<3aC*`A4<2<[aC`A4<rkaC`A4<2<aB`A4<2<aB`A4<2<aB`A4<2< aB`A4<2<3aB`zA4<2<[aB`fA4<rkaBz`TA4<2<aBf`@A4<2<aBR`,A4<2<aB>`A4<2< aB*`A4<2<3aB`A4<2<[aB`A4<rkaA`A4<2<aA`A4<2<aA`A4<2<aA`A4<2< aA`zA4<2<3aA`fA4<2<[aAx`Rvgvgvgvgvgvgvgvgv gv g&v g2v g>v gJvgVvgbvglvgxvgvgvgvgvgvgvgvgvgvgvgvgvgvgv g(v!g4v"g@v#gLv$gXv%gbv&gnv'gzv(gv)gv*gR -ưo"]Nua^`a]+@a]+@ /^HH/ emBpmB ₖ]HHgNYL -`* -`Hx7Hx>HxDHxJaB`R` v?mvIo`p -`LHx`2Nu><|2z(x2v20<TtI2<0a5A@a"nBp+@Hx(Hx2HxHxa̪HxHx[HxHx.aAT(<+*<|^.<a9Hx7Hx7Hx{HxPaHxHxaB4<L2<a<>EĬpaA4<IrEa<(EıpaA4<prza< NXj`pHxOHxrHxcHxa0peAla>NXj`JHxgHxrHx{Hxa pfAla>jNXj`$v8mvJovPmvbovhmvzo`x -`rHx7HxHxKHxapgAla>NXj`pHxOHxHxcHxaphAla=NXj`JHxgHxHx{HxajpiAla=NXj`$v8mvJovPmvbovhmvzo` -`rHx7HxHxKHxapjAla=vNXj`pHxOHxHxcHxapkAla=PNXj`JHxgHxHx{HxaplAla=*NXj`$v8mvJovPmvbovhmvzo`8 -`rHx7HxHxKHxavpmAlaHxOHxHxcHx.apzAla:0NXj`v8mvJovPmvbo`J -`Hx7Hx7Hx{HxPa?<NAT/z(-"maS a<aOfg*p+@6a6*-6(-"maRa)R6p 6l`HxHxHx/HxHxCarpa(6pa(4pa(2p a(0a(8pa(JEpa4t?r]a/Epa4tirMa.0p+@ -a(`\(-"maHz(-"maHp+@(- m/0H*-("maH*-(-"maHbRp lR -o]Nup+@p+@+mz(-"maHZCxa)BpraBz(-"maH8r'a=z(-"maH$a1aDdgAxz(-"maG`p+@pfp raBz(-"maGr'a<N|:z2x2v20<t2<0aA@a`PHx/HxIHxeHx{a -f6ANa$(aANa$.><|2z(x2v20<TtI2<0a4A@a`Hx/Hx}HxeHxab -.f6A큺a#avA큺a#><l<<z x2v2pdt}2<0aA@a,`Hx/HxHxeHxa -RfxA큮a#aA큮a#><| z x2v20<|4<2<0aA@a`RvmvEovJmvzov~m o. m op` 0m doXaA8JfBBNuApaH@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu``a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu40rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi ?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<,>CEdGH@0r`xJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riR?0i?`?<`"_K0MTI_O:HQ <-H*,`N,Zd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nu`@a8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa la:`x`tpeahp`(p?a(adabaHz?< NA\?<LNAfCR2A0A82r22a^"<l0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` NlfHz ?<&NN\Nu9gNuWNuaaa NuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<atgBAp`BNuNu?<OA`d?<IA`Z0<H IaDLt Ig Og Ug Ag Rg*afNup`ap`+00afHRa>Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< BhalB2"pNu$_AF Ge><QBAFpNuahgzp=` a\gzpa@aRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da"`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.aJFkSFk4a^Qa~`&HaFFaFQ&8*L/a,H܆jDBJ.:gtBn:Nu @$@JfS a&`QNu$Aa`QBNuHz Ja `Hz @aH `HPHQ0(ika $I _aIUd4Id4Id$Id `$$$$Q _Jf,aId4Id4Id$Id `$$$$Q @NuSafIdIdId`Q @Nup `$T/ a.$I> _a$G` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANu/HP0(X@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `#ajYAfNuag`af`ae `ac` acpNuadpNua6SAkEF$p VfWANuAG` AI`AJH|=@ `x8z0<n\n^=E=@Hp rt=|D`z`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`n\n^648HH`prt`n\n^n\n^8HH`prt`Z"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|wH-|wL`nNu-HNo?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na D222-IfHVMF,_Nup `T np` ??/ a :, > _a 04$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a2HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg Aр[RBNu0ftNuB H@"jNu Lx6oFCe0FC BdЄe!Nu B/dHDDdNAXOJkpNu0< aF`0< CF2p`p a0`p CFp`aCF"p`Hza `Hz"J`B.@=|DNua.@FpAR@C` B.@=|DNuB.@a=GDgNup`8a`aCF"E p`4Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?.D<jRGg>VGg:TGjp`HPa0CF$IpR@  f _aHd2Hd2`"QNu`<.DHSGFaAEg f< &_Nua`Nu.dfaB=n`r>.D<jRGg:VGg&TGjp`l<.DaAFa$JkNup#`P z fa2a` z f a"alAFa  f#JkzNu0:g0.D<jRGg(VGgTGjp` <.Da&` z faa` z f aaAF "g pR@0 ,g  g  fHp`:pR@0  g  g "fR@0 ,g  g  fHpRU@"_  f#$H _a`QNupR@0 ,g"  g  fa~ (fR~Nua ~ `a~NuaJkHQ ! gRf _NuXX~Nu0j z\@??<NMXJk .dgp Nu` <.DHSGFa ,g gAEf< &_Nu ."Ff +"g ,g`#HrYapYaLapY` :/rYapYaHyp?o?<?NAO JkpY`L/a ` HU2<.,HdY=ANu?<*NAT.p a Ha INu.k2@a.0H@av.`2H@af/0@aZ/Yda@HA``jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuaBgNu4.rf?HyaHNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<aHnnoS@f nhfSnl=Ah=FnNup` papq4.rf?HyaݮNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a`QNuHPp?ap a| _2<|0`HP$ZXAB6<Q _NuHz`HzA *FM3x?Fc>֞VSGk Vf>FNuTNuHpr,.܆އ܄ޅ܆އ(sh*sx<3h>3x?Fc>֞VSGk66Vf >FLNuTLNu,.܆އ܄ޅ܆އ*sh'xh'x:sh7xh7xNu,.*rh%xh%x܄ޅ܄ޅ*sh'xh'x:sh7xh7xNuC&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0atp Ce`&g4 Fga:JBjaRgPAe CbRa R@Sf0Nu FgRag JBjaAeaJAg RP0 pNu`. Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8alJBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`B9`$H EaA AerQBL@͉H Ia"H _/ aa` _/ ?aVAF-H AerQB2"_A&-H A e ` \gQBa9gaZe -|p[`pZaӄajAF"H0.g "Hg \f`A&fS !.gR EF _a`QNuHz?<&NN\ @Nu x NuA@Bh`\A@af n@!|}Nu(aD؀.dfa6jNu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??papYa0a0`.pETgP`LJg&B.C`a8aD*9 fap-I,=|p4aєHz*9 g ENp9`R _a &nO:NMTI_K0$<Nu[1][Error +111][Return]E. g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNuaJANuag `af`apNuapNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`:JAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaP n2L6(n\n^HHHNua0 n20(n\HNua n20(n^HNua n20(HNuaf:ffNuarNua J[HHNu:nfa@ z^0NuJg6$:Pf,H?<"NNT&@p/&ra :,ga &Lr`r??Q@HyNM\0Nu#Nu؄*؄؅CH`И؅X`$_  IaHR"H @`̘؄*؄؅AHNu؅X`$_ IaHR"H` n"d$HJf-HS Nup"`HPa _a`QNua JH aL0Nua`p`p-@Nu035032018585858588017017017017016008585858588017117418623416008621910918188017525525525516009073361452160169361467316008800121601680011600952552552552160169361467316008936146732160175255255255160089361467321601693614673160095255255255216016936146731600893614673216017525525525516008936146732160169361467316009525525525521601693614673160089361467321601752552552551600893614673216016936146731600952552552552160175255255255160085858585880170170170170160085858585880-104204101170170170170170160858585858564170170170170170160858585858564171250170170170160872538585856417525417017017016087253858585641752511701701701608724785858564175238170170170160872201178585641711842341701701608511322185856417022715817017016085877985856417017423117017016085921152138564170171572341701608587156245856417017120612217016085852316185641701702431581701608585121207856417017018823117016085859411521364170170175572341608585871572136417017017120610616085858523011764170170170248106160858585120536417017017019112216085858587253641701701701702501608585858512564170170170170174160858585858564170170170170170160858585858564170170170170170160858585858564-10470440117017017017017017085858585858517017017017017017085858585858517017017017017018687858585852451711701701701712508724585859518117125017017019058872558585248531712551701712245887255245951285317125525019005887255255248053171255255224058872552552240531712552542480588725524825405317125522425512858872551282552245317125402552485885248025525424517122402552552348712802552552131740025525525092002552552451720025525525092002552552451720025525525092002552552451720325525525092015255255245172062191255250920253952552451723234171255250921521385255245172621701701912509225385859524517523417017017125095213858585245174170170170170186938585858585170170170170170170858585858585170170170170170170-104903201858585858585640170170170170170170128085858585858564016000002128079255255255255255640168000061280720000764016800006128072255255255255135640168128000134128072255255255255135640168000061280720000764016811911911911961280721191191191197640168119119119119612807200007640168292212212211981280722922122122119964016829221221221198128072000076401681191191191196128072119119119119764016811911911911961280720000764016800006128072000076401680000612807925525525525525564017525525525525525412808585858585856401701701701701701701280858585858585640-103903601858585858501701701701701700858585858501701701701701700840002101612552552551380870002290165000170086248243116501651000371060861632551981650165960510608616006165016596051060861612551341650165972551331060861612551341650165972551331060861612551341650165972551331060861612551341650165972551331060861600616501659605106086160061650165960510608619125525416501658585851060861701701701650165858585106087255255255229016000010085858585850170170170170170085858585850170170170170170085858585850-109209201000000000000000000000000000000016000000000001200000000000125200000000007252000000000063254000000000025525500000000032552550000000001519212712800000000600151920000000124803224000000072242551932240000000311932552402400000000127199255240120000000325513525519225200000015255143254325400000063633124815254000000252633122412722300000722463311292553112800003112863287255311280000126063163125531192000124812630127254312240007224601271312552543124000063192252127135255252632400002551952521271952552486324800325520725212722425524012718800125525524812724063192254600002552552481272480324030002255255248255254071921270061272552482552551926312551280763255248255255255248152551920719125524825525525522463255192072232552482552552551286325522407207255248255159254063255240072312552402541524830312552400724725524124815224127152552480152432552412243122525572552520152492552411281272472551352552540152522552401255255255195255254015254255240719525525522525525501525512724030025525524025525512815255632401200255255240255255128152551592412401201272552481272551923125522324722525225525525263255224312552072552272552552552526325512831255231255199255255255254312540312552432551992552552552551524819231255251255199255312552551432311283125524925519924032552551913112863255252255199128125525525212712863255254255224012552552412550632552551272243240255255207255031255255632486324825525463254015255255159255255248255248255254072552552232552552482552272552540725525523925525524825514325525203255255231255255241254632552520125525524325522319324125525524801255255251255142319925525524800255255249255015312552552480012725525225512860127255255240006325525412722422725525525524000632552551272551432552552552240031255255632546325525525522400152552551592482552552552551920072552552231992552552552551920072552552396325525525525519200325525522825525525525525512800125525524125525525525525200002552552432552552552552400000255255247255255255255192000012725523125525525525500000632552312552552552520000063255239255255255240000003125520725525525512800000152552072552552540000007255223255255248000000725515925525522400000032551592552550000000125519125525200000001255632552400000000025563255192000000001271272550000000006212724800000000062127224000000000302551280000000001225400000000004248000000000051920000000000100000000000000000000000000000000-1035034011701701701701600858585858001701701701701600858585858001701712541701600859525521380017025232341600852240117800171192058160087128029800171001416008600780017400616008600780017200316009200380017200316009200380017200316009200380017200316009200380017400616008600780017400616008700138001711280301600851920618001702240122160085124324580017019125517016008587253858001701701701701600858585858001701701701701600-1033034011701701701701600858585858001701701701701600858585858001912552552541600952552552558001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001840061600880078001912552552541600952552552558001701701701701600858585858001701701701701600-10350330117017017017016008585858580017017017017016008585117858001701702341701600858524585800170170250170160085851578580017017115417016008587138580017017114170160085867858001701746170160085923858001701723170160085881213800170184117016008511202138001701760234160085960117800170224010616008519205380017019205816008512802980017112802616008700138001710014160086007800174006160095255255255800175255255255160085858585800170170170170160085858585800-10300290185858584170170170170858585841701701701708587255244170170026858625521217017012890858612884170170128908586128841701701289085861288417017012890872542552121722026852552552441732551701708525518184173255170170852551818417325517017085255181841732551701708525518184172042170872552458417017017017085858584170170170170-1| Monochrome only! database.datBlockEraseErase screen?Form FeedLine FeedJanuaryFebruaryMarchAprilMayAugustSeptemberOctoberNovemberDecemberPrintAddDeleteA B CD E FG H IJ K LM N OP Q RS T UV W XErase?Yes Exit?ALTERNATIVE INTERFACE1991, DAVID BECKER, v1.1 0 zfPLLLDlbjB>V:V,0Xt&&T&&T&&T&&T&&T&&T&&T&&T&:V6> N$TTTTTTTTT4 t\((@P$p| 4*$v' ZeST Interface Demo ' 1991, David Becker ' ------------------------------------- init draw_gadgets monitor_mouse PROCEDURE init ' check screen resolution rez=XBIOS(4) IF rez<>2 THEN ALERT 3,"| Monochrome only! ",1,"OK",ok% ENDIF ' fill entire screen with desktop pattern CLS DEFTEXT 1,0,0,13 DEFMOUSE 0 BOUNDARY 0 DEFFILL 1,2,4 PBOX 0,0,639,399 RETURN PROCEDURE draw_gadgets ' call procedures that draw gadgets ' by passing upper x position, upper y, lower x and lower y zest_button(100,50,300,100) zest_info_box(100,150,300,250) zest_text_box(100,300,300,380) zest_window(340,50,600,280) ' call procedures that draw lines zest_line_box(340,300,600,370) zest_vert_line(30,40,30,300) zest_horiz_line(50,120,250,120) ' insert text GRAPHMODE 2 DEFTEXT 1,0,0,13 TEXT 178,80,"Button" TEXT 168,200,"Info Box" TEXT 168,345,"Text Box" TEXT 447,170,"Window" TEXT 439,335,"Line Box" GRAPHMODE 0 RETURN PROCEDURE monitor_mouse DO ' test mouse button IF MOUSEK=1 THEN ' test mouse x position SELECT MOUSEX CASE 100 TO 300 ' test mouse y position SELECT MOUSEY CASE 50 TO 100 ' mouse lies within button - press the button zest_button_press(100,50,300,100) ENDSELECT CASE 345 TO 358 ' test mouse y position SELECT MOUSEY CASE 54 TO 68 ' mouse lies within close button on window - press the close button zest_button_press(345,54,358,68) ENDSELECT ENDSELECT ENDIF LOOP UNTIL MOUSEK=2 END RETURN PROCEDURE zest_button(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 DEFFILL 0,2,8 PBOX upper_x%,upper_y%,lower_x%,lower_y% DEFFILL 1,2,4 PBOX upper_x%+1,upper_y%+1,lower_x%,lower_y% LINE upper_x%+1,lower_y%,lower_x%,lower_y% LINE upper_x%,lower_y%+1,lower_x%,lower_y%+1 LINE lower_x%,upper_y%+1,lower_x%,lower_y% LINE lower_x%+1,upper_y%,lower_x%+1,lower_y%+1 RETURN PROCEDURE zest_button_press(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 GET upper_x%-1,upper_y%-1,lower_x%+1,lower_y%+1,button$ GET upper_x%+1,upper_y%+1,lower_x%-2,lower_y%-2,shift_button$ PUT upper_x%+2,upper_y%+2,shift_button$ LINE upper_x%,upper_y%,lower_x%,upper_y% LINE upper_x%,upper_y%,upper_x%,lower_y% COLOR 0 LINE upper_x%+1,lower_y%,lower_x%,lower_y% LINE upper_x%,lower_y%+1,lower_x%,lower_y%+1 LINE lower_x%,upper_y%+1,lower_x%,lower_y% LINE lower_x%+1,upper_y%,lower_x%+1,lower_y%+1 COLOR 1 DO LOOP UNTIL MOUSEK=0 PAUSE 3 PUT upper_x%-1,upper_y%-1,button$ RETURN PROCEDURE zest_info_box(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 DEFFILL 1,2,4 PBOX upper_x%,upper_y%,lower_x%,lower_y% LINE upper_x%,upper_y%,lower_x%,upper_y% LINE upper_x%,upper_y%+1,lower_x%,upper_y%+1 LINE upper_x%,upper_y%,upper_x%,lower_y% LINE upper_x%+1,upper_y%,upper_x%+1,lower_y% COLOR 0 LINE upper_x%+1,lower_y%,lower_x%,lower_y% LINE upper_x%,lower_y%+1,lower_x%,lower_y%+1 LINE lower_x%,upper_y%+1,lower_x%,lower_y% LINE lower_x%+1,upper_y%,lower_x%+1,lower_y%+1 COLOR 1 RETURN PROCEDURE zest_text_box(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 DEFFILL 1,2,4 PBOX upper_x%,upper_y%,lower_x%,lower_y% LINE upper_x%,upper_y%,lower_x%,upper_y% LINE upper_x%,upper_y%+1,lower_x%,upper_y%+1 LINE upper_x%,upper_y%,upper_x%,lower_y% LINE upper_x%+1,upper_y%,upper_x%+1,lower_y% COLOR 0 LINE upper_x%+1,lower_y%,lower_x%,lower_y% LINE upper_x%,lower_y%+1,lower_x%,lower_y%+1 LINE lower_x%,upper_y%+1,lower_x%,lower_y% LINE lower_x%+1,upper_y%,lower_x%+1,lower_y%+1 COLOR 1 DEFFILL 0,2,8 PBOX upper_x%+2,upper_y%+2,lower_x%-2,lower_y%-2 RETURN PROCEDURE zest_horiz_line(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 LINE upper_x%,upper_y%,lower_x%,lower_y% COLOR 0 LINE upper_x%,upper_y%+1,lower_x%,lower_y%+1 COLOR 1 RETURN PROCEDURE zest_vert_line(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 LINE upper_x%,upper_y%,lower_x%,lower_y% COLOR 0 LINE upper_x%+1,upper_y%,lower_x%+1,lower_y% COLOR 1 RETURN PROCEDURE zest_line_box(upper_x%,upper_y%,lower_x%,lower_y%) DEFLINE 1,1 COLOR 0 BOX upper_x%,upper_y%,lower_x%,lower_y% COLOR 1 LINE upper_x%-1,upper_y%,upper_x%-1,lower_y% LINE upper_x%+2,lower_y%-1,lower_x%-2,lower_y%-1 LINE lower_x%-1,upper_y%+2,lower_x%-1,lower_y%-2 LINE upper_x%-1,upper_y%-1,lower_x%,upper_y%-1 RETURN PROCEDURE zest_window(upper_x%,upper_y%,lower_x%,lower_y%) ' title bar GOSUB zest_button(upper_x%,upper_y%,lower_x%,upper_y%+20) ' window area GOSUB zest_button(upper_x%,upper_y%+22,lower_x%,lower_y%) ' close button GOSUB zest_button(upper_x%+5,upper_y%+4,upper_x%+18,upper_y%+16) RETURN