`IBM np@ o  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$$$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&&m&o'q"'sB'ub'w'y'{'}'("(B(b((()")B)b)))))*"*B*o****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ-٢---.".B.b...../"/B/b////0#0C0c00 0 0 01#1c1o  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$$$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&&m&o'q"'sB'ub'w'y'{'}'("(B(b((()")B)b)))))*"*B*o****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ-٢---.".B.b...../"/B/b////0#0C0c00 0 0 01#1c1FRANCINT dkOVERSCAN ekSTUDIO_2 fk. vgk.. vgkFRACTINTPRG (sREADME +X . vgk.. vgkINSTALITDOC VLATENEWSDOC VOVERPIC1PI3 #V"}OVERPIC2PI3 2VJ"}OVERPIC3PI3 BVj"}OVERPIC4PI3 IV"}OVERPIC5PI3 YVK"}OVERPIC6PI3 fVk"}OVERROM DOC V0OVERROM LST OVERSCANDOC t ,ZOVERSCANPRG OVERSCANS t>OVERSCANTXT @Vb^SAMPLE C m . wgk.. wgkSTUDIO_2CFG ,STUDIO_2PRG 3,\gSTUDIO_2TXT [,IThis is how to install the Overscan : Copy the OVERSCAN.PRG to Your auto-folder on Your harddisk or if You don't have a harddisk copy it to Your boot disk into an auto folder. Copy also the VIDEO50.PRG to the auto-folder to make sure Your ST will start with 50 Hertz picture frequency in color mode. If You still have the old ROMTOS from 1985 inside Your ST, then copy also a BETA-RAMTOS 1.4 or the Developer-RAMTOS 1.4 to Your boot disk into the root-directory ! This disk has to have then a bootable sector, so that it will boot automaticaly the TOS.IMG-file (BETA- or Developer-RAMTOS 1.4). (If You already have the Blitter-TOS or the new (EP)ROMTOS 1.4 inside Your ST, then You only have to have the OVERSCAN.PRG and VIDEO50.PRG inside the autofolder and don't need an additional RAMTOS) Switch the Overscan-switch to OVERSCAN and boot the disk or boot from Your harddisk. If You press the CONTROL-, SHIFT-, or ALTERNATE- key, the Overscan.PRG will come up with an installation menu. From this menu You can fit the screen resolution to Your monitor size and still can save this, so Your ST will start up with the right size the next time. With key "P" You get the "Physebase"-emulator, so Calamus DTP works now also ! In color mode: If You want to change from lowres to midres go to the "change resolution"-menu from the GEM SHELL and click "okay" while depressing the CONTROL-,SHIFT-, or ALTERNATE-key.Then the OVERSCAN-installation menu comes up again and You can change to midres and the other way around. Use the arrow keys and the + - * / keys to modify the size of the Overscan screen. The HELP key brings You back to the menu. "S" saves the new screen size and "Q" quits the menu without saving to (hard)disk. Have fun with the Overscan, Stefan Hartmann. t und Technik zu haben sein. Nach einigem Hin und Her haben wir uns doch wieder mit dem Verlag vertragen. karSTEN 22:17:48 am 05.07.89 P.S. : Bei Fragen einfach Post an Kar Wowwww! After 2 days of tracing my monochrome monitor SM124 circuit with my scope it's done now: I have just been modified it, so the SM124 now does display the "more than HERCULES"-resolution of : 720*480 pixel without distortion. It's now possible to emulate the full Hercules standard MSDOS graphics resolution of 720*348 pixels with the OVERSCAN ST. I hope Avantgarde Software will include it soon into their PC-DITTO ! West-Berlin on the 10th July 1989 Stefan Hartmann 69 jC:9UEbTg*f 0QNu QNu*HD*f$I00 MQNu$I0000 MQNu*HD*f$I&J(KD0000 MQNuD$I&J(K00000000 MQNuH0B4B69҂@L Nu Overscan Version 1.6 K.Isakovic | installed. B.Gebauer | | | Hold Shift-Key for Setup NOT aktivated. B.Gebauer | NOT installed. B.Gebauer |  Only wpwppwU33ss00p0000p0030q03030c0?33300330333000cp33 330303030000ð33>;>6 633303010300p0033???>?;?? ???33300300p03000103333003?33 33333300300003000103330803?30k k33333333?00?3730k? k33?1q3s1300033730k3 k330300033330c3 c330? ?0???33?0c?c??? 0>330cc00 000 0p0 30pq0χ30p0c033003303 cpư330303 0ðư8p3330301 00p00` 33300300p 100003330p 333003000 10001330` 330333` 1q30333333331À101f>f~f`f`f<< ~pf~| ~8ff`ᙙ fff`q fff`918fff`30f~f`333080f~>f~a3330pf|f>a33p`~1`|1`?????? 5  5  ? 8 80 0p   x ?     ? x 0  0  0  0   0   0  0  0  0  0  0  0  0 LJ 0 0? 0? 0 0 0` 0p 080 00 8 03p`   03`p   0608  Ç 0680 Ç 0<pǃ 0<`ǃ 06 ̓ 06 ̓ 03   03   01 01 0`0p0800`00 80`00`00`80`0`0`0`0`0`0`p0`8 0` 0`? 0` 0` 0` 0`=< 0`p 0`p 8   0  0  0p  0 0  0 0 0x8? 08? 0 0 0? 08? 0x 08 0 0 0 0 0?p 0> 0 00 00? 00 ? 0> q 0>? ??< 003 3  003 3  00?3 ? 0033 09 0033 03p 0????3 0>?` 0`` 0㱘`a 0~ᙘc`a 0f`acY`a ?f`aca` ?` `  f`f` 3 f`f``0O 0v>?xf``fa0I 03330 30f`ff`a00I 03k33 ?0a0 33c33 00``> c>>080330300`3330 0003300330 0003030 0s033030 `03033030 g030 ff01!0 fff00 cf00 fc00 0"0 0c0 0A0 0A0 00 0>0 00 00 0 0 `0 `0 `0 ``0 ``0 `` 0 `` 0 `` !0 `` !0 `a0 `a0 `a`0 `a`0 `0af!0 `0ao!0 `p ai0 `p ύah0 `0 ala0 `0 ad!10 `0 a`10 `0 3a`;0 `0 3a`!;0 `0 s0331a`!?0 `s0331a`!50 `00a`!50 `00ao10 `030ao10 `33030a`10 `33030a`10 `330s0a`10 `3a`0 `3a`40 `an0 `a0 `a0 `a0 `ao0 `aa00 `a0 a0 ` p0 0` 0 0` 0 0` 0 0`p0 ?`0 ?`0 ?0 0 0 `0 ``0 a`0 a0 a0 a?0 300 60<0 `>? ?`03 3a`03 3a`0?3 ?``?033 0033 0????>gga`f`fff`a`ff`agaffaffgc`aaaaaaa      ǃǏ           ǏǏ χ ??????<>88<<~8<<~~8~8|>~8~~ff~`ff0~ff`>ff0~ff`~ff000`ff`fff1118<<`ff`fff1~f~~~8~~|~~<<~~<~f300330ffff`ff|<><<>><>`|<#$(ث#`F# $`:#$`0#$`& 䀒#$`J$l й$#$ofxɹ$Թ$ Ы"+mD.k&BD// ??<JNA ND/9/9@/9DNd (<`/?< NA\Ox??<LNAXOLNuH80&ot$kXJ& xƄ$C#"k,Jgf Af< )Rf4 )Gf, )Vf$ )=fBXBJf#@$XJf`$XJf )=fAJgJfBRI`BXAH2H"J&IopԀPJ#@$v ԃJoD  g  f8RHSJn`.  g  f`  g  fSRHJnB`gSJnBBv#DJg$RDXJfJfB XL NuN\NuH0 6/??<LNAXOL NuH8(/BBBA0H&烲Bf0H D!?8B8`0H DB8B8RA AoRB BoLNuNVpH?<(n&n *nBE0HBBBD0H,Eh0H"Ћ-@ t"t " "nAh/(///NP$&*////NQ$%ARD Do0HE"$*/3d/3`//NQ$%ARE EoRBD0H v"v++RD DoB@L<|N^NuNVH?<-nv֮*C 9<"9@/-///NS,,.BB//NSZJmLE0R/GTvNXO nPH-HQ !A(n0R/NXO()A0R/NXO*+Ap`$<,vւ&C n "(EP/+///N-@-Av֮(C BP "(/,///NKS,///./.N-|N//// nN nPH-HQ !A n "(/+///N-@-A B-P-h/,//./.N///./.N//// nN n !AB@L9HG3@>9G3ByhByJyg$< yXH/ETvNXO&(K/NXOGN////NIS,/9 /9//N"B"#A$<&<8 yXH/NXO-@-A/NXO///./.N"C,.)&(////N"B"#A`nG yPH-P-hES,/9 /9/./.N&'AG yPH 98"9 yRg#@Y B`0E 29tH Ё @2P/ NTvXO$%A.9#RBy=By ytn3Jyg0E "*B/<@_//NSZJo $@_BG "+BB//ESZNJgI,.+()G,+.+ ##,+.+## "+BB//NJl~ 98"9NPO$/9NXO"B,.)$&////N//NPO$E/9NXO$9 &9////N//NPO$n$K$<xE/ITvNXO"B,.)$&GP////N//NT>PO*K$< /NXO"B,.)$&////N//NT>PO*#Et2HG ЁA#J~L3~0 hFNJ@gD2H Ё sdNByd29(ydmEIdM429RoK0H y"0$0##BCylG0H y"0$0,-BN:J@g Np`?9H?9/- /-/-//9/9/./N8$??? SN\OJy(gJTf?2RA?? SN\ORCymf09(R@R29RnRT29(TlNB@L|NuNVH?9ymz3HEB/<@o@:y/ NTvXO//NJ//NT>PO4@3=Jyf(APH09H"y,1.1 !G`AXH09H"y 3@>9@ymN:J@gp`Jyf"BB## `BBByByp:8Jyxg,BLBNTvXO#~$#~(#@j}B~09tH"Ҁ A PNARP>9оPoI29tH Ё @ PNJ@fJyxgPJygJLf9RG3 Jy=g@Jyf?9=yHn0Jy~0g&09EfFJyf#AXHC `-y-ySDf0@:REx`Jyf 9"9ES,/,///N//GLN$& 9"9 /9/9//N//N////NQ/9/9 //NSZJl<`0..螹/EN$..잹/NԀPOl 3ARP>9оPn29H09аAoyn3A3=Jy=gN=3H09yl ybf3Jy(gJygvEI/GTvNXO$%A/9NXO$&*KN////N$$/NXO$%A/9NXO$&*////N$%AG "EP////N$&,.+&F(G/ / / / N////NQ#~$#~(?9//NAV3 m Nytl D` Jy|o bBDByJygzAXH lxD A lRDD y|o DAC" oRD " y|o D/9ITvNXOGP/NPO#/.NXO/NPO#/.NXO/</NPO#/.NXO/<NPO#/.NXO/< /`29RAA3DRPJDn y|fy>9|ytlRy` yRgJyg*G/INEXOmf/+NXOld`XI/,/NLGxPO/+///ESZNJm$/, /,NLPO/+///NJl 3R>9оyHn y<xf>/9~/9}NLB/<@R//NP//NT>PO3PO`: y=xf 3 `$09Hm3` yHf 3Jyg y H3E?9?9?9 RN\OJy(g^JydfV?9>9RG??9 RN?9?9>9RG? RN?9>9RG?>9RG? RN09(R@yyd3>9@@lb09(R@yyd3>9@lRyd>9(ydl0B@LGH???E4bN?09D@?0B@?Ny SmL NuH884/8/6/ 09H@BodIGH???E4bN?0D@??N??0B@?N?0D@?0B@?Ny 0@BnLNuH8 4/6/8/???E4bN?09C@??N LNuH8 4/6/8/???E4bN??09HB@?N LNuH8 4/6/8/???E4bN?09C@?09HB@?N LNuH884/6/8/ ???E4bN?G0C@??N??IH0B@?N?0C@?0B@?NLNuH8 4/6/8/???E4bND290DHH@R@?09C@??N LNuNVH<<:.8. 6. fL???E4bN?G0D@??N??IH0E@?N?0D@?0`09lR@@T@Co29lRAA0@4@`09lR@@y2A4A???E4bNG0@20A0HH@R@?I0D@??N??KH0E@?N0@20A0HH@R@?0D@?0E@?NL</4:/6? ? G4NXOJ@fN@69P2G?E N42E?N@H//NY^PO&29N??N4??N@RBB"C& nv09t0@n@6H?? ? N4b\OL. 8n :nELRR0@ @fN:J@gSR`80 n @n 0 G @o <.LF:ME=F8??G4NXOJ@fN@69P2.L?E N4BgN@H//NY^PO&29N??.N4?? N@RBB"C& nv09t0@n@6H???.N4b\O=L8?? G4NXOJ@fN@69PBgE N42M?N@H//NY^PO&29N?? N4? ? N@RBB"C& nv09t0@n@6H???.N4b\O=F8 ? ?G4NXOJ@fN@69P2.L?E N4BgN@H//NY^PO&29N? ?.N4? ? N@RBB"C& nv09t0@n@6H???.N4b\O=n8??.G4NXOJ@fN@69PBgE N42M?N@H//NY^PO&29N??.N4? ?.N@RBB"C& nv09t0@n@6H???.N4b\O??E4NXOJ@f ytoJy|g0BgBgBg?<Nq`?<Ng HyENep`EP 9"9B/<@ //NP//NT>PO4 9"9BB//NSZJn4 9"9B/<@Y//NSZJm3 PJyɈfEDBNa`4XO?9DNTO ytfN9f yto 3N`0 yto 3N` yto 3N`3NENGt2HAIN2A`R@?BgBgK4bNN2HA2A`R@?Bg0yH?NN2HA2A`R@?M0V?0yH?NN2HA2A`R@?0V?BgN0V?0yH?BgBgN3 N:J@fB@`pL|NuH>NsJ@fABB(B(v,<:<x?0HU2HU4H FB@A4BUH FAB(4BH FB(@ED?RC CUoBNs?<BgNmPOL|NuNftJ@g$ @og @Ogp`Nf4ry=3=B@NuH<0"/$/ 8/$ y防m209HH倲n"09H y倴m nJy|gB@` y EY/9/NPO6G0H @ /9/NPO24@JCmryHljJBmfBobC0 @nT Df@H yR1RQ0H1RQ??N4:9@???N4b `???N4b\OL ./9 /9/ / ESZNJmN/9(/9$/ / NJn4/90/9,//NJm/9NPO8K0U/NTvXO-@-A/90/9,//N/9/9//N///./.N//NPO4JDmxyHlpJBmlUlhC0 @nZ GfFH-yR n1RQ0H1RQ??N469@???N4b `???N4b\OL;Np ,@N6`N?.N6TO`B?.?.N6XO`2?.?.?.N6\O`?.?.?.?.N6PO`p`Nj*Jy`gtԎ/Na`/Nk$@B*POJn gHy=/NtPO?9?9?9H29tH ЁA// Hy=/EtN/NTvXO//NUPO/ y~LNNftJ@g @og @Ogp`Nf4rR4B@J@g 3(p`&Symypyml3(ByhL<N^NuH8 69=09R@CmnE@ylN4`>yHl0y=fRf??N48XO`??N4XO@gp`&y09@R@Bly 09R@ClB@LNuNVH?<&n(n 4.AZJgTBByHByJ 9g /NndXOAJg*EHyHx?9?9H/NvH$yl0T@H/NTvXO//NUPO(/NVFXO//NT>POJ@oB/PO/ / NA$&/NXO//B/<@NJT////NN$&B/<8//NSZJo//NUPO(`x/GVFNXOBB//NSZJo/NXO//NL//EUNPO(I/NXO/, /,//NP-T-lGS,///./.NB/POAH24HCx3(RA029HPfP 9g/ ?/Nx@ ByHAJRP>9Pf E/Nz/NndBB9PO/NVFXO//NT>POL`FG8E, "+-|Q/*///"nN//KLN$&(*+&D(E-|S,/*// / "nN//N-|P/PO4POSl3@3@G8E, "+-|Q/*///"nN//KLN$&(*+&D(E-|S,/*// / "nN//N-|P/NPO32y/ NTvXO-@-A/90/9,/./.N/9/9//N///./.N//NPO23 ng.09t@y??.?.??9Nȼ `(09t@y??9?9 yN\O=y=y` =|=nEP/./././.N,././././.N$&/./././.NIQ//NPO(*/./././.NGQ////N(*/./././.NKS,////N-@-A///./.N///./.N,././././.N//NPO(@*A///./.N/// / N$&///./.N-@-A///./.N-@-A///./.N-@-A`LNPO-@$</NXO"B-Q-i///./.N//NPO-@$</NXO"B-Q-i///./.N//NPO-@$<,/NXO"B-Q-i///./.N//NPO-@$<$/NXO"B-Q-i///./.N//NPO-@$<8/NXO"B-Q-i///./.N//NPO-@,-F.Kt2HI ЁC$ /NXO//NUPO"B$//NWpPO/GVFNXO//NPO-@2H Ё/4NXO//NPO$2H Ё/4NXO//NPO-@2H Ё/4 NXO//NPO-@EY^/./NPO-@/./.NPO-@/./.NPO-@KI~DRn noBnRU69tUn:N:J@gp`PololEY/.&/NPO3G/.&/NPO2@3 ng*09t@U??.?.??9Nȼ `$09t@U??9?9 yN\O=y=y` =|=n?/./E2N*?/./.N&?//.N(?/./.N$(?//.N(?//N?//.N*?//N܂ٮހ(`LPO'(RC CoRD Do y-P|GH0H-px y-PpE0H-pt 9Hx/NYPO-@l|~2y/ ITvNXO//NUPO/NVFXO$&2S/ NXOGPB/<@//N(*2R/ NXO////N////NB/N^J@fp`Byd29(ydmEGdKM429RoI0H y"0$0,-BBDylh0H y"0$0*+BN:J@g N_p`fN_6??? TN\OJy(gJSf?2RA?? TN\ORDym09(R@R29Rn`RS29(Sl>N_B@L|Nu Not enough Memory for array with %d orbits (%ul Bytes Required)demmdemjH 0G0R@4HE/N4$XOfPOHtH@POL NuNVH?<:|A-yBB"n#@#A "n"#A-@-A!n!n !n-n-n-n-n89иMob.< 9"9IQ/9/9//NB/<@j//NSZJl 9"9/9/9//NS,"G/)///N-@-ARM4 H&yPKEPB/<@/./.N/././/N/9/9//N-@-A&'n y-n-n !n/./././.N##/./././.N##89иMnA "(/( /(//NQB/<@j//NSZJoABB!@!A !A8|BGMlf4H y-P-hEP/9/9/./.N-@-A y ("( /9/9//N///./.NS,B/<@//NGQB/PO4f409H @((*(##BCylE|I0H y/0/0Nl49POoLG0H R20g JTg29H`JAf JTg290H RBp??? SN\OSBJBnN:J@g /Np`RCymp/9|NB@XOL<&o((o,*PO24@Bep0 y|RPRDye< n8. G*,&'FE*,($%Fg*,+"n"#F*,*`"n"?BBB"n#E#F DgtKI"nPI-I 9"9EP////N$& ",////NGS,////N*+A 9"9B/<@//N/,///N()A*,-##g "-"n/)///N$& ","n/)///N////N*+A"n ")/9/9//N$& ","n/)///N////NQ"n"#A*,-"n"#FDfL<|N^NuNVH8< n6. 8.0Hr@#\ByG&E$g "n"#R`0Hr"n"BCgKIG".X-A?//E2N$?//N*?//N&09fz(gP?"n//E2N$?"n//N*?/"n/N$?"n//NԀ"n""n"(Cfp"nJfJf309L<N^NuNVH?<-n By n/(/NLPOB/<<//NSZJlp` n "(-|P//// nN$&(nPL ",//// nNGQ////N//NA&<`B/$<"B/)/B/EG  yDА#I~D?A/(/K2NMXN yDXHА,?/9/9N$?//N&В#Ll(Jm$/9GNEXOn /NXOop`##B@L|NuNVH E~D?MD V/I/G2N#L? VXH/K/N#? VXH//N#I? V//N"($9 Ё(k A"V 9L Ђ`*A"yD 9LЙ 9Бй EG~D?M//I2N$K?/9/9N*В#Ll(Jm$/GNEXOn/9NXOop`##B@L|NuNVH<EG~D?$<"B//I2N&?,BXN//N"B$"Ҁ$K?//N"V*?/MD V/N$(?/ VXH/N#?/ V/N$?/ VXH/NMXNԀ,?/9/9N$(?//N*В#L l(Jm$/9GNEXOn /NXOop`##B@L| NuH>CA""$I $C8"o$`C8"9o A"EG~D?M//I2N$K?/9/9N*В#Ll(Jm$/GNEXOn/9NXOop`##B@L|NuNVH<E "+B/<@//NPB/EG"R#8I~D?A/(/K2NM8XN,?/98$<"B/N&?//9N yD֐#?/"B/N$(?/98/9NMXNԀ yDXHԐ,?/9/9N$?//N&В#Ll(Jm$/9GNEXOn /NXOop`##B@L| NuH >EI~D?G//K2N$?//NЂ$Hn/NXOlp`BG~D?E/IHK"/M2N%@?/"/N$B@L|NuH >MEG",I~D?A/(/K2N#?//N$?/9/9N&В#LlJm/GNEXOn/9NXOnAM"$. !BEG "yDБ,I~D?/(/K2N yDXHА#?//N$?/9/9N&В#Ll(Jm$/GNEXOn/9NXOop`##B@L|NuNVH?PO?G/ Nm~A/ / / / A/ / / / "KN"~ ",EQQ./[//N yd/(///N()A$ P*B "-/+///N ydPH/(///N*+A(<L-T-lGP/./././.N*D*+AIX*B,.-$&////N()AG~$*D,.-(*////N&'A*/9/9 //NSZJmp`AC B@LG~D?E/ ?9HyNon J@g2Hp%@$M yD$Ֆ$չEG~D?//I2N$K?/9/9N*В#Ll(Jm$/GNEXOn/9NXOop`##B@L|NuNVH?G~D?E//I2N#LM?K//N,$<?//N""B"JoA 9L `ZG~D?I/KD U/M2NE"9L䒹Ҁ$&9$?/ UXH/NђEG~D?M//I2N$K?/9/9N*В#Ll(Jm$/GNEXOn/9NXOop`##B@L| NuNVH<K/ G/ I/N/&</$<//9N2(E~D?"C//G2NM,"?"B//N#K  yDАі?/9/N yDXHАѹ?//N*?/9/9N#Е#L(l(Jm$/GNEXOn/9NXOop`##B@L| NuNVH?<*<,/I/ HyN"HyHy$<P/N#(<&<LEX*C "-/*///NS, ydGQ/(///N-@-A ",IP/9/9//N///./.N*D*+A 9"9B/<@//N*B/-///N ydPH/(///N-@-A*E-U-m/9/9/./.N///./.N##*D "-////N*C*+A 9"9////N$%AE~$,.-&(////N$%A/9/9 //NSZJmp`AC B@LPO(I8XL/NXOor/ETvNXO$&G/NXO////NN/98/94//NK$&/NXO////NP//NT>PO(I/ $<//98N/E/ K/ G8XK/N/?9~D/"B/I3TN-|"nXI-IYБ#8"?9~D//N"nБ&/98Noz/98ETvNXO$&G/NXO////NN/98/94//NK$&/NXO////NP//NT>PO#8I8XL/NXOor/ETvNXO$&G/NXO////NN/98/94//NK$&/NXO////NP//NT>PO(HyE/ G8/I/NHyK/ /NG~D?/I>/K2N"y#"?//N"9# 2f809HtH@R@?//9N:F##`E?9~DA//N2$ E?9~DGI//N2$й#L l$Jm /GNEXOn /NXOop`##B@L< N^NuNVH?PO$/NTvXO*B,.-$&////N//NT>PO$`.A09H"y 09H"y LPO$/NTvXO*B,.-$&////N//NT>PO$ACE*Y *Q LPO$/NTvXO*B,.-$&////N//NT>PO$`.A09H"y 09H"y KG~D?E//I2N*K?//N*LPO$/NTvXO*B,.-$&////N//NT>PO$`09H y#JyxgAC 3`ACE*Y *Q KG~D?E//I2N*K?//N*LPO$/NTvXO*B,.-$&////N//NT>PO$`09H y#EAC,ܙ$,ܑ%F09 @o"?9~DHy@?/ Non ` yf^G~D?E//I2N$?/9/9N-|*nXM-MY*?/9/N*n*`@ yf##` ynA09~DH| BKG~D?E//I2N*K?//N*L>Jyg, yg"At PBf0`At PCf0Jyf, yg"At Pf0B`At Pf0CE/9/9NT>PO4 @n43xKHxETvNXO$&G2S/ NXOIN////N*+AKp0@H/NXO$&2S/ NXO////N*+ABy(K,2S/ NXO///<1iP/3G0 @o$ElH/N4$XOf$~\6` #~\lBFylKMl4H/ETvNXOGP/PO4 y5tfJ@n4 y5tf9g ?PO4 y6tfJ@n4 y6tf9g BgNEjTOId( yGtfjEG +"+B/PO4 y3tfJ@n4 ytf 9g y3tf9g ?PO4 y4tfJ@n4 y4tf9g BgNEjTO#Dp$_NuH >E/9/9NT>PO4A#DC"$("#B @o?9~DHy?/ Non `l yfDG~D?E//I2N$?K//NM,?//N,` yn##pL|Nu/By~0A8t 29~DHp p$NuBy~0Ad ?B ?BpNupNumandeljulia*newtbasinlambda*mandel*newton*juliaplasmaGraininess Factor (.1 to 50, default is 2)*lambdasine*lambdacos*lambdaexptest(testpt Param #1)(testpt param #2)(testpt param #3)(testpt param #4)sierpinskibarnsleym1barnsleyj1barnsleym2barnsleyj2*mandelsine*mandelcos*mandelexpmandellambdamarksmandelmarksjuliaunitymandel4julia4ifsifs3dbarnsleym3barnsleyj3bifurcation*mandelsinh*lambdasinh*mandelcosh*lambdacoshmandelsinelambdasinemandelcoslambdacosmandelsinhlambdasinhmandelcoshlambdacoshmansinzsqrdjulsinzsqrd*mansinzsqrd*julsinzsqrdmandelexplambdaexpmanzpowerjulzpower*manzpower*julzpowermanzzpwrjulzzpwrmansinexpjulsinexp*mansinexp*julsinexp*popcornpopcorn*lorenzabclorenzlorenz3dnewtonnewtbasincomplexnewtoncomplexbasincmplxmarksmandcmplxmarksjulformula*formula*sierpinski*lambda*barnsleym1*barnsleyj1*barnsleym2*barnsleyj2*barnsleym3*barnsleyj3*mandellambdajulibrotH00G~H&#}#&S6+RC36+RC33L Nu Use the cursor keys to select values to change Type in any replacement values you wish to usePress the ENTER when finished (or ESCAPE to back out)%g  NVH?<>. oG~H&#}#&S8+RD38+RD33?<Q?<NlBgHy ?<?< ?<ElNBgHy;?<?< ?<NBgHyl?<?< ?<NBFBE(EoB2F0H*n upJgRJfc0H*n upJgRJf<REEnF FAo|ABEEoG4H *nI/,/Hy֢Hx/NY^PO-@& ր/Nu8 NB(Bg*n /5(?<?<4.E?ElNBg/?<??N(REEnBE6|Bn(-DBgHy֥?<p8D?4.E?ElNBgHx:E/ NY^PO @(.HpH?<p??NNftJ@gNf46BgHyֶ?<8D?4.E?ElNBgHx:E/ NY^PO @(.HpH?<??N C1gnT Cgn" Cgn C g` C g` C/gn C,n C#l` C0gZ` C9ghn C5g4n C3g@`v C7gP C8g`h C\gn C[g"`X Cug CyfL6|0@EoRE`6|JEoSE`6|BE`6|:E`=|`=|`| C-g C+g C.g C/o. C9n(x Km"Hx:E/ NY^POARKB0 Cg Cg C;f$oSKHx:E/ NY^POAB0Jngm>BEEo8E4HHx/NY^PO @HpNj*n+(+(XOREEn0.L. *noG~H&#}#&S<+RF3<+RF33?<Q?<NlBgHy ?<?< ?<ElNBgHy;?<?< ?<NBgHyl?<?< ?<NBEBD(DoE2H ЁA df./(/(HyHx/NY^PO @HpNu8`z2H ЁA sf&HhHyHx/NY^PO @HpNu8`:Jyg6BgBgNl2H Ё5H??HyNtNf 2E0H(n tpJgRJfc0H(n tpJgRJf:RDDnE EAozABDDoXGBg6H (n /4?<?<4.D?ElNBgHx/NY^PO @Hp?<??NRDDnBD6|Bn,-FBgHy֥?<p<F?4.D?ElNBgHx8D/ NY^PO @,.Hph?<p??NNftJ@gNf46BgHyֶ?<<F?4.D?ElNBgHx8D/ NY^PO @,.Hph?<??N C1gnT Cgn" Cgn C g` C g` C/gn C,n C#l` C0gZ` C9ghn C5g4n C3g@`x C7gP C8g`j C\gn C[g"`Z Cug CyfN6|0@DoRD`6|JDoSD`6|BD`6|8D`=|`=|`2H Ё 5dfD C-g C+g C.g C/oX C9nR| KmLHx8D/ NY^POARK`^ Co& C~n Hx8D/ NY^POARK`2 Cg Cg C;f$oSKHx8D/ NY^POAB0JngmBDDoG2H ЁE df&Hx/NY^PO @HpNj%@%AXO`<2H ЁE sf&HxHx/NY^PO @HpHjNej RDDnBgBgNl0.L.G~H&#}#&S8+RD38+RD33=| Gf=|SF4.BCCmP0HH@:.@0Hn=@BgHx28C/ NY^POHu?<??.Nl RCCl?<Q?<NlBgHy?<09@jR@@??<NlBgHyF?<09@jR@@??<NlBgHy?<09@jR@@??<Nl60HH@:.@0Hn=@6|(BgHy?<p8D??.ElNBgHx28C/ NY^POHu?<p??.NNftJ@gNf44BgHy?<8D??.ElNBgHx28C/ NY^POHu?<??.N B0gnF Bgn" Bgn B g` B g` B#m B,o B/gr` B8g:n B5gZn B3g\` B7gV` B\g>n B[g@`p Bug ByfdGCl>HÇHC`6Gj20H2HHA6A`RCClBC`SCj6` 6|`6|0HH@:.@0Hn=@ghNpl0 `0L to select or to return to the previous screenNVH?HyHx0R@H/HnN BgHy.?<09@jR@@??<NlBDDmfBEE N(nf=D0HH@2HBg N(6H$ԃ/2(?<n?n?Nl RDDl?<Q?<NlBgHyF?<09@jR@@??<NlBgHy^?<09@jR@@??<NlBgHy?<09@jR@@??<Nl8.0HH@:.@0H6.@4|(GBg NB@(H"Ҁ/3?<p??Nl NftJ@gNf44Bg NB@(H"Ҁ/3?<??Nl B0gnF Bgn" Bgn B g` B g` B#m B,o B/gp` B8g8n B5gXn B3gZ` B7gT`~ B\g>n B[g@`n Bug ByfbFDl>HĉHD`6Fj20H2HHA8A`RDDlBD`SDj8` 4|`4|0HH@:.@0H6.@gNp3턴m&?.$NB@*?NXOJ@mB@*`pL<<.3HyN2H Ё @/NdXPOJ@f NJ@mBDE*<0H$69H"҃ E/0NVFXO%(%(RD DoBBIG2H Ё2HE rJgFJBf: R *g `2H Ё 3R/HyfEtNHyN RB BoHy29H ЁCHq??< N J@lp`,n gDByʼABB!@!A!@!A !ABDA0HBBRD Do3KG2HE Ё/2$IVFNXO*+AK 2H Ё/2(NXO*+AK2H Ё/2,NXO*+AK2H Ё/20NXO*+ABD2H ЁG0H"EA/0/0NUPO$RD DoB@L<|N^Nu Enter the name of your Formula File (if not %s) .. .frmrt ?? I Can't find %s ...Press any key to continue.. %20[^ ({]%200[^}]commentNVH8NPO4/./.N4B@L N^NuRadius of inversion (-1 for auto calculate)X Center inversion (0 for auto calculate)Y Center inversion (0 for auto calculate) Please enter inversion parameters that apply. Note that the inversion option requires a fixed radius and center for zooming to make sense - if you want to zoom, do not use default values, but specify radius and center H0 ByʼABB!@!A!@!A !A29H Ё @  *g 8fHx$</&<D/EfNBgBgBg?<Nq`Hx//N Hy EtNHyXNHyNHyNHyHy.?<?< NJ@lp`B@L NuX-axis rotation in degreesY-axis rotation in degreesZ-axis rotation in degreesPerspective distance [1 - 999, 0 for no persp]X shift with perspective (positive = right)Y shift with perspective (positive = up )Stereo (R/B 3D)? (0=no,1=alternate,2=superimpose,3=photo)3D ParametersNVH0??<NJ@mEP/./.GT>NPO3R/./.NPO3T/./.NPO3V/./.NPO3b/./.NPO3d/./.NPO4E/./.NPO4gN jJ@gp`NB@L< N^Nu3D Mode SelectionPreview Mode? (yes or no)yesno Show Box? (yes or no)Coarseness, preview/grid (in y dir)Spherical Projection? (yes or no)make a surface gridjust draw the pointsconnect the dots (wire frame)surface fill (colors interpolated)surface fill (colors not interpolated)solid fill (bars up from "ground")light sourcelight source before transformation)light source after transformation)Select Fill Type Sphere 3D ParametersSphere is on its side; North pole to right180 deg long. is top; 0 deg bottom;-90 deg lat. is left; 90 deg. is rightLongitude start (degrees)Longitude stop (degrees)Latitude start (degrees)Latitude stop (degrees)Radius scaling factor in pctPlanar 3D ParametersPre-rotation X axis is screen top; Y axis is the left sidePre-rotation Z axis is coming right at you out of the screen!X-axis scaling factor in pctY-axis scaling factor in pctSurface Roughness scaling factor in pct'Water Level' (minimum color value)Image non-perspective X adjust (positive = right)Image non-perspective Y adjust (positive = up)First transparent colorLast transparent colorX value light vectorY value light vectorZ value light vectorLight Source Smoothing FactorNVH?+RG3>+RG33Np <"Bg/?< @pJgRJf0yD/BgNlBC N!|4 sJ9gCeTHf` A2H ЁCiAfRC0H"A!|l "Ҁ A|sJ9gACeAf` A2H ЁCiAfRC0H"A!| "ҀEdTJ:y/ NTvXO$%ARC0H"A!| "Ҁ A|sJyPgACeAf` A2H ЁCiAfRC0H"A!| "ҀEdTJ:y/ NTvXO$%ARC0HA!| HnHn ??<N J@lp`.v yg Yf `B92H ЁA(RC yg Yf `B9E2H ЁA/(/(RCNT>PO42H ЁA(RC yg Yft`BBE2H ЁA/(/(NT>PO4AJg`B9A Pn0`A Po0JBgAPJPf0`JBfAPJPgBPNzAJPlBP`A Po0Jyg3Hx2HyGpIY^/ NejHx2HyHx2HxNPO$@HrNej/ Hy/ HxNPO @HpNej$/ Hy9/ HxNPO @HpNej/ Hy\/ HxNPO @HpNej/ Hy/ HxNPO @vHpNej$JyPg&/ Hy/ HxNPO @vHpNej `THx2HyEpGY^Hx2:C/ NPO @RCHpIejNHx2HyHx2:C/ NPO @RCHpN|x z <Bg/?< @pJgRJf0yD/>G?ElNBg$< /?<?< ?<NBg/?<?< ?<N&Bg/?<?< ?<N~P$G>RG????Hnp?NJ@ml@4Jyg N jJ@fRNNpJyPg <?Bg/?< @pJgRJf0yD/BgNl <TBg/?< @pJgRJf0yD/?<Nl <Bg/?< @pJgRJf0yD/?<Nl-| -|-|-|-|1` <NBg/?< @pJgRJf0yD/BgNl <cBg/?< @pJgRJf0yD/?<Nl <Bg/?< @pJgRJf0yD/?<Nl-| -| -|$-|-|*:yR/ NTvXO-@D-AH:yT/ NTvXO-@L-AP:yV/ NTvXO-@T-AX:yX/ NTvXO-@\-A`:yZ/ NTvXO-@d-Ah-| G(ED:y\/ NTvXO$%A-|>$E0ID:y^/ NTvXO()A-|?(t8Ԏ(BD:yb/ NTvXO()A-|n,x@؎(DD:yd/ NTvXO()A-|0zHڎ(ED:yf/ NTvXO()A'|b G:y/ NTvXO&'A-|8G:y/ NTvXO&'A%| EG~X:[/ NTvXO$%A-|@E:S/ vNTvXO$%A y`o*B+| E:yh/ NTvXO$%A-|HE:yj/ NTvXO$%A*D+| E:yl/ NTvXO$%A-|1PE:yn/ vNTvXO$%A*E+| HnDHn ??<N J@m*IP/.H/.DGT>NPO3R/.P/.LNPO3T/.X/.TNPO3V/.`/.\NPO3X/.h/.dNPO3Z/.p/.lNPO3\/.x/.tNPO3^/./.|NPO3b/./.NPO3d/./.NPO3fE/./.NPO4E/./.NPO4E~X/./.NPO4/./.NPO4 loF/./.NPO3h/./.NPO3j/./.NPO3l/./.N3nB@L Enter name of .MAP file to use, or Press "CR" or enter "*" to use palette from the image about to be loaded. ==> .mapr Sorry, cannot open %s Hit any key to continueNVH0`N0g @fP?<?<NlHy[EtNHyNHyNHyN/ N}g *fBT`0o @nC Kf?<./ Nd8\OJfC KJgRHJfftԎ// N"EHy/NmN$fN Uf8`h Uf8`\?<Ng / HyEtNHyNNfNp`bE/Ns/Nnd8C CfB@L< N^Nuglasses1.mapglasses2.mapFunny Glasses ParametersInterocular distance (as % of screen)Convergence adjust (positive = spread greater)Left red image crop (% of screen)Right red image crop (% of screen)Left blue image crop (% of screen)Right blue image crop (% of screen)Red brightness factor (%)Blue brightness factor (%)Map File name (if not default)NVH<NPO6G/./.NPO6G/./.NPO6G/./. NPO6G/."/.NPO6G/.4/.0NPO6G/.F/.BNPO6G/.X/.TN6 ygCAfB@L< to end) ==> save your edits in an (.IFS) file, or to end) ==> enter the name of your new .IFS file ==> .ifsw Parameter %2d (if not %6.2f) NV0H? g6G`44.:.6n`&4.>*HnfjFgB/Nndp`?<Hx5|@5|BBjD5EF5BH5KJBjL/NndB@L |N^NuPATHfractint.cfg\\fractint.cfg\fractint.cfgr%x There is a bad entry in fractint.cfg ==> %s ENDNVxH?JBf:JFm6 Fn0 Eo* En$ Do Dn CgB Cg< Cg6 Cg0?<Ng Hy%LEtN/ Hy%vN??*f:2*8k@f02*:kBf&2*kFf2*@kHf2kJg RBy~4my~4mBBy~4lTf2*@kHf2kJg RBy~4mҴy~4mFBBy~4l4IFELHK@?NjTO2*>Tf2Sg RBy~4m޴y~4l0`09~4L<NuH8.N62m Ao A op`0R@3 xd3p`3R@3R@33ByЪByШBnBn,<xE$&F6RA=AK=|8.d=D`dJBlB@`~yfn3 :3N,4ygyg4UmBB=B=BSCf ?/ yФN\OJ@mNftJ@f&F6`20BnlRy2.ym$ICA0H21Pl0yl&HA=AA1RU=B29Un09 @ nA3R@3 $c>IФSCf*?/ TN\OJ@mHNftJ@g?<Ng p`0&F6$bN,4yfB@Cg C?/Nk4L`^Jy@gHy0NtXOE4Hy0Hy0NmN$POf0?<Ng TOJy@gHy0NtXO3@p`A@09H8:9vd0JyRVAAgRPBBy@dpCA@0B1RBPeBBydzG4E@/8R/ HxHyNrP0RcD?<Ng TOJy@gHy1NtXO/NndHy0Na3@pPO`2RBye3|383>By:3gxJy:gN8lE@0HG>2S/ /NY^POBg/I4/Ns/2R/ HxHyNqt6Jy@gNrP?Hy5@Nt\O2yr3t029v`AB@?N8TOL NuWriting Line %4d... H< 8/6/:/JDmyHlJCmylJ0gAgzJy:gN8l49HH2C/ /NY^PO$Bg/E4/Ns/2y@/ HxHyNqt3>Jy@gNrP?Hy6Nt\O2yr3t029v`?EB@?N93:B@XOL/ /NY^POBg/G4/Ns/2R/ HxHyNrPBy:B@L Nu// ytoB@`$B@r29tARpAb40h$NuH8/6/ yto0`.B@t49tABp(2yRAb80(iALNu.frarwb ?? Couldn't create file %s GIF87a,;.gif!fractint001 File saved as %s ** INTERRUPTED ** File %s NVH?<&."CAfC9\AfBntԎx؎`&0n 0.fCH Bf NB(Rn2nApJgRJfbARP Po.tԎ/ND~ BXOpJgRJf/Hn/Nej CAJgRHJffJyg*EHy9aHnNmN$POg/NndXO`EHy9ctԎ/NmN$POfJygZ/Hy9fNt`HB.=yt noR.0.lR@@=@ nnAB@.R@0 ytfRP29Ap`3R@3Bn=| yto =|=|9f=n=n=nE/HxHxHy9GrPN/HxHxHyHN /HxHxHyN.A/HxHxHnNBn /HxHxtԎ/N/HxHx/N09t @fHA g?/NBX\O`.Bn nn"$<?</NBX\On no09t @f?HyNBX\O09t @f?HyNBX\O09t @fA g`Jy<'RGymH?9EC,N?9NBnG/HxHxtԎ/ErPN/HxHx&<9/N$Hy9HnNdXPOJ@g/HxHxHy9N=|/HxHx/N=| /HxHx/N/HxHx Hy9N=| /HxHx/N/HxHxHyNBn /HxHx/N/HxHx/N /9NndXO G'n$BgNg TOJyg>HnHy9Nt`,?<Ng TOJygHnHy9NtPONf4L9G3(3CtA2J9Pg2H ЁAJh4g.` Ct2H ЁAJh4f 0(: @g23BDIG*<6H$ 4("4(/</PO*B*/NXO///./.N-@-A$</./.NT>PO*B*/NXO$9&9 ////N-@-A$< /./.NT>PO*B*/NXO$9$&9(////N-@-A$</./.NT>PO*B*/NXO$9,&90////N-@-A$</./.NT>PO*B*/NXO$98&9PO$-y-y -y$-y(-y,-y0-y8-y6`8 Bfg BFfAPJf`B9P` Beg BEfNp~N`?<Ng TOJRmBn y03=|?9~TNjAL=h48(66(84(:C2<3>H3@3BtA|BPTO Q f0HxHyHyDNf3E JRg NmBR`????.Nq`POByJng&HxHyDHyNf?<BgNm=|J9ghJyf`Jyg #zФ` #k4ФJyfHy(Nb=@XOJnf BgNg TO nfNftJ@gNf409H>HǏ(=G29>HǏ(=G @f A^f =|=| yHf y\f =|=| yxHf yf =|=| yHf yf =|=|09H2A@09@Af =|=| yHf yf =| =| yHf yf =|(=| yHf yf =| =| yHf y\f =|=| 49t0H"Ҁ A3=| y g BfBnA-X-X-P-h/9NTvXOIP///./.N-@-AE/./.NT>PO$/9NTvXO///./.N-@-AE/./.NT>PO$/9NTvXO$9&9 ////N-@-AE /./.NT>PO$/9NTvXO$9$&9(////N-@-A/./.NT>PO#E,/9NTvXO,.*$F&G/// / N-@-AE/./.NT>PO$E8/9NTvXO,.*$F&G/// / N-@-AE/./.NT>PO$ y~Do 9$"9(ES,/9 /9//N/<Q/<@//NSZJoX/9NTvXO$9$&9(////N-@-AB/<@Y/./.N//NT>PO# y~DoE, 98"9PO$ 9 GH2AIYH//NPO# 9E2AH//NPO#$< 9$"9(IS,/9 /9//N(*0@H/NTvXOGN////N*B*+A 98"9,.)!F!G,.*!F !G0tRD DovG2.H Ё$ S (""(&/9(/9$//ISZNJf S (*"(./9 /9//NJf S (2"(6/9/90/9,//NJfX SE ("(/*///NJf2 S ( "(/* /*//NJf S>9tPgRn nfBn2.H Ё y,9$.9(!F"!G&,9.9 !F*!G.,98.9C,.!F!G,.)!F !G0tJy|g By(ByJ9gAJPf0`3CFAfE5y5yt ,9.9 %F %G,9$.9(%F%G,9,.90%F%G ,98.9<%F$%G(,9.9%F,%G0,9.9%F4%G8AL5h4<5h6>5h8@5h:B5h<D5h>F5h@H5hBJGL6/9/9IUNPO# /9/9NPO#/9/9NPO#/9/9NPO#/9/9NPO#5yɈd5yDb5yHh5yj/9/9NPO#(/9/9NPO#,/9/9NPO#0A|5Xx5Pz5yRf5yT|6BDC:AP0H3RD DoA1y1y1y1y1y1y1y1y1y1y1y1yBDAr0HBpRD Dc3NJ@f BgNg TO y fNrPHyFNtXOBy3By>9HG34By>9G3By ytf333zJyf"3NftJ@gNf44By`A Pfts0`t Bbg n> BBg n B-g n@ Bgnn B g B g~`: B+g Xn B gx`$ B,g` B3g >n B.g B1l ` B>gn B Bag|`2 Bg n Bng 8nN Bfgrn" Bdgln Bcg` Beg` Bign Bgg ` Blg ` Brg n" Bpg n Bog ` Bqg` Btgn Bsg` Bg` B7gnN B2gn" B/g n Bg`V B0g`J B5gn B3g^`4 B6g`( B[gn" B:gn B8g` B;g` Bugn B\g` Byg0`493?9tNTOJ@m|3~T3`hAPJf`B9P3h3t3~T## #$ #(#,#0#8#<BDCA0H,0.0##RD Do`NpN`NpN ` NpNNmBE`NV`29tHG Ё s6gBB/./.ESZNJftBB/./.NJf\29tH Ё36t 9$"9(EQ/9 /9//NINB/<@//N-@-A 98"9#,#0C,(.("#GE,( .($%G3t-Q-i-R-j=|`NpHyFNtXOJng no"HyGEtNHyG[NHyGN NNm` 490@ 29аAnB3>9y490<}B29аAmB3EJRgZBRN#`4`JBgN8`G34By>9G3TOJygH @/(ETvNXO-@-AI/NXOGN///./.N#$#(-y*n/NXO-@-A/NXO///./.N## y/NXO-@-A$<8/NXO///./.N*B*+A09H @/(NXO-@-A/NXO///./.N#,#0`l y,.(## 09HH,0.0#$#(09H y,0.0#,#0,.(#8#33 Brg BRf ByBy49JygNpHyGNtXO`(3BgBgBg?<Nq`HyGNt AJg/HyH NtPO`HyH"NtXOEɼB/ N}XOJg"JAf3`٪B3(By`<3(3`(ByN#``3` N` N^NftJ@f BgNg ` ?<Ng Nf4` Jygr/9ETvNXOGPB/PO(&</9(/9$NT>PO*C*GE,/*/NT>PO&$</9PO*B**C&-|Y/9/*nNPO/NTvXO#$#((T/9/ NPO/NTvXO## *B$/9/*nNPO/NTvXO#8#<&S/9/ NPO/NTvXO$%A`XI:yH/ ETvNXO-T-lGP///./.N$&I094TR@H/NXO-|N////*nN-@-A$9:T/ NXO///./.N*B,.-$&IS,////N## 09H@H/NXO///./.N$9&9 -|Q////*nN#$#($<:y/ NXO*B,.-$&////N$&09yR@H/NXO////*nN-@-A$<8(9:y/ NXO///./.N*D,.-(*////*nN*B*+A09@H/NXO///./.N,.-$&////N#,#0`B3BgBgBg?<Nq`PO`ҨBn` nfA0o@0y4` nfA409H@2AoRy`P nfA0o@0y` nfA09@2Ao|RyRA0`n nfdA0 @oT@0y4`B nf8A409H@2Ao Zy`T nfA0 @o@0y` nfA09@2AoZyZA0` nf294y0.@nΰAlCA642B0.@n̰Alr yHf"09 @^fJBf@Cf B0ZC2 yHf009 @\f$C4fA@2Af B2\A0 yHf209 @f&C4fA@2Af B2A0>.yy4>.yܟy` nfG8nmE409Hn6CozC4nmlA09n2AoVn6n4n2n0` Please select a video mode with which to view this image by pressing the appropriate function key (or press the ENTER) key to bail out without displaying this image). You can also press the 'h' or '?' keys to get help on the available video modes) NVH?/09HAT/0Hy|*NHy|LN"Nf yg Yg ng Ng f ng Nf$3` yfJyg3 yfJyfHy|tEtNHy|NHy|NHy}3N3NftJ@gNf42By<9~4yo&AEѨC~40H〲rgRP<PnA<9~4PfB90309m ?NjTOJymC|AL<(>iFf <(@iHg$< 9 "9ES,(B/,///N(*8y/ GTvNXO-|P////(nN(*8y/ NXO-|N////(nN(B,.,$&////NQ# #$<(B ",/9/9//N(*8y/ NXO////(nN(*8y/ NXO////(nN(B,.,$&////N##09g @f 9 "9ES,/9/9//NB/<@//GSZNJn8 9"9/9/9//NB/<@//NJo3BBJymJyg3BBNPJ@m3`?<Ng 3B9LAJg4?<\/Ne @\OgHh`HyHy*/Nt 09H @g?Hy2/Nt yTfHy=`V yTfHyM`D yTfHy]`2 yTfHyn` yTfHy`JyTfHy/NtPOJygHy/NtPOJyɈg?9DHy/Nt Jyn409tH"ҀA P *g/`09tH"ҀA"PRI/ Hy/Nt oD o8/9/Nt J9PgHyL/NtPO09R @g?HyW/Nt JyVgHyd/NtPOGtJg&Hy`Hyq/EtN/ Hy/NJyoHy/EtNPOJygAJg/Hy/N GPJSgJHy/EtN?+?+Hy/N?+?+Hy/N ?+ Hy/N 09`g?Hy/Nt A~XJPfJhgA~X?(?Hy/Nt J9g>Hy/EtNPOJ9g Hy /NPO?9Hy/Nt Jyg|GPJSf2?+?+?+Hy#/EtN?+ ?+Hy6/NEP?* HyF/GtN?*HyT/N?*Hyb/N?*?*Hyr/N* jo?*?*?*Hy/NAP0(g ho?Hy/Nt JyfJyg?9?9Hy/Nt 09gr?Hy/EtN?9Hy/N?9Hy/N?9?9?9?9Hy/N.?9?9Hy/N Hy/NtPOJg /NndXOL NuSHELLNo SHELL to invoke. HyN}`XOJfHyNtpXO`B/BgN` NuNVH05h8@5h:B5h<D5h>F5h@H5hBJGL6/-/-IUNPO# /-/-NPO#K/-/NPO#/- /-NPO#/-/-NPO#5yɈd5yDb5yHh5yjK/-/NPO#(/- /-NPO#,t/-/-N$6BAC:AP0H3RA AoA1y1y1y1y1y1y1y1y1y1y1y1yBAAr0HBpRA AcL< N^Nu.frarb.gifNVH EJfHytԎ/Nd?<./Nd80@0HfTHy(/NdHy-/NmN$g /NndXO`$HytԎ/NdHy0/NdEHy-HnNmN$POfp`*/9HxHxE/ NqtJf409LN^NuGIF87arNVH<> The default list has been replaced by a FRACTINT.CFG file. CommentsVideo Adapter & Mode %-25s Resolution Colors %-25s %-6s %-25s%5d x%4d%5d %1s %-25s NVH>0xp *U,<GL @ g @f/ 0HAT/0HyNtRBy~4m6C Bm6C /NtXORBBlHy3Ne?9~TNjNf4\O`L |N^Nurbtmppotnormal vector error #2 NVtH?POD`f ."./././/NS,$&:yb/ NTvXO////NPB/<@Y//NN//NT>PO#,E,G$/NTvXO$%AI/NTvXO#4#8/9,NTvXO$%A.z&.(.9,#,JyPf4$</-|Q/./.*nNPO//:y/ NTvXOES,/. /.//N/."/.//NGNB/<@//N//:yH/ NTvXO/././/N/.*/.&//NB/<@//N//INHyd/./.*nNPO//:y/ NTvXO/. /.//N/."/.//NB/<@//N//:yH/ NTvXO/././/N/.*/.&//NB/<@//N//N8/BB09D@H/NTvXO//:y/ NTvXO//NBnt,<IBC0.tH"&FE0H$(2*2 "B/<@//NP//NT>PO'(RC CoRnt nto`X:yV/ ITvNXOEP/. ntbG/./NW0PO$p09/NTvXO//EUNPO//NXlPO&$<H/.IVFNXO//ND//NPO*B*#@$<<&<D/.NXO//NF//NPO*C**B*$<P-|VT//.*nNPO/NXO//ND//NPO*B*$<L//.*nNPO/NXO//NF//NPO*B*$<8 /NXO//NFB/<@//NP//NPO*B*09HlR@@yH#09lR@@yH#E:y\/ NTvXO-|P/<3333/POD/NTvXO-@-A:y/ NTvXOB/<@//*nN-@-A/./.NQPO$&/./././.NQ////N//N<:E0//ND/././/*nN////NS,$%A/. ntcT$<GTIEZ2.tH Ё"*B U 0X T C Rnt>. ntb 9g /NndXOEHyXHy[NmN$PO|BFAT-X=PCZA ?. /9f/.N&>9HǏ3 J9f y`fD09@29$Ag00HH@J@g 09` @g @f2 y$f&n d~ގ-GX-G..P-G y`f 09H@Fg0HH@J@fZ0HBA*n5=A yf-pJAo*09^Ao =@H/NTvXO//NUPO-@JyPg0H y-p y-p 9@/</NWJPOJm 9"9BB//NSZJlNEI/.NVFXO-T|-l///./.|NP(**$D&E/// / ` 9"9BB//NSZJot 9"9/9/9//NS,$&E/.NVFXO(**$D&E/// / NP////NQ-@-A`-y-yJyg/9/9NQPO$&/.GVFNXOEP///./.N(*/9@NXO////N////NS,//NT>PO-@B/NTvXO/94/90//NSZJn /9NTvXO$&/.NVFXOIP/9/9//N/././/N-|Q|////*n|N//ET>NPO-@:/9NTvXO$&-|Wp/9 y`o\B/<@/./.NN$& 9~6@/ NTvXO-@-A/.NVFXO/9/9//N////N///./.N//EUNPO-@/ NTvXO-@-A/9y=@J9Pf Jyg@$</.:ETvNXO-@-A/.>NXO-@-A/.BNXO-@-A/NXO-nt-nxGN///.x/.tN-@-A/NXO-nt-nx///.x/.tN-@-A/NXO$.&.////N-@-AHnN .".GQB/NPO=@ .".B/NPO=@/9NXO$&/9-@>Jyg0/.NVFXOB/<@//NP//NT>PO` /.NVFXO//NT>PO-@B~-@B?<Hy$ :/Hn.Hy/N> @gR .:~y=@ .>y=@ y`o/..GTvNXO//EUNPO-@/KVFNXOINB/<@//N//NPO-@/.2NXO//NPO-@/NXOB/<@//N//NPO-@/.6NXO//NPO-@/NXOB/<@//N//NPO-@J9Pf Jyg2:F/ ETvNXO-@-A:y$/ NXO-@-A/.NVFXO-@-AtԎ/Hy/N /./.EUNPO-@/./.NPO-@/./.NPO-@ Jyg /N XO:y/ GTvNXO$.&.EQ////NB/NPO=@:y/ NXO$.&.////NB/;NphJFg82.09Al*>9H@0Ao?.?.?.?.?Nȼ Jy$g 2H Ё y629Cl n4(Bl d09HACo V09ABo H?.?.?.??`?.?.?. y` 4.yHl0JFg,09Bl"2.Al?.?.?.??Nȼ =n=n`Jy$gJFg Ff?./.?./.?.0H"Ҁ y/(?N`JyPg4Jyg 9~=@ 9`=y=y`0H-@:29$H-A>BB~-@:-A>?<Hy$ :/Hn.Hy/N>J@g"AT-X=PCZA ` .:~=@ .>=@JnlBn09Hnn@=@JnlBn09nn@=@?.?.?.?.?.Nȼ `LJy$gBJFg<:y/ NTvXO//IUNPO".//GWJNPOJm:y/ NTvXO//NPO".//NPOJm2H Ё$$yPJ:y/ NTvXO//NPO$R// NPOJm y`fZ-|?BBB .EW0/./NPO/GVFNXO-@-ABB-|?B y` y`f I2H Ё$$TPJ:y/ NTvXO//NUPO$R// NWJPOJm .EW0/./NPO/GVFNXO-@-A ././NPO/NXO-@-A ././NPO/NXO-@-A T P/./NPO/NXO-@-A T (/./NPO/NXO-@-A T (/./NPO/NXO-@-A$</HnHnNt/N VJ@g4ATXH:P/ NTvXO//NUPO*n*/NVFXO`JynoJ.g8A(*(-Dv-Ez((*( -D~-E((*(-D-EB.E,:yn/ GTvNXO$.v&.z-|P|////*n|NI-|Q/,///*nN$&09nR@H/NXO-|N////*nN$%A:yn/ NXO$.~&.////*n|N/9/9//*nN$&09nR@H/NXO////*nN#4#8:yn/ NXO$.&.////*n|N/9/9//*nN$&09nR@H/NXO////*nN#<#@(**()E#4#8#<#@/ N VXOJ@gJyoVHybNtA/ / / ENG0H$Ԁ S / / / N B/ / / N(Nf:yt/ NTvXO//NUPO*n*/NVFXO//NT>PO=@A,(*(-Dv-Ez((*( -D~-E((*(-D-E09t@H/NTvXO$&IKj ",EP/-///N(* ,", /- /-//NGQ////N(* ,",/-/-//N////N//B/PO=@l=|09tnn@=@ Fo y$o09H@Fo9PnbE g /NndBXOJ9gM^A.JGlJ.WA.? E N4?NXOBlo: 8 <`:8< ?E N@8@? N6 @?N4? N@BPOJ.g0EmE?.?? RNRE\OJCmRDB`LEl`ļEmE?.?? RNRE\OJCoSDB`LEl`JGo: 8 `:8< ? E N@8@?N6 @? N4?N@BPOJ.g,DmRE?.?? RNRD\OJCmREB`LDl`*Dm&E?.?? RNRD\OJCoSEB`LDlLNPO$/,/NPO&Q./ZNPO(/*/NPO?.????Nȼ LN^NuNVH?<$. <@B n !A n !A n !A <B n" !A n !A n !ABBBBBBIH0@H/ETvNXO-@-ABBBB0@H/NXO-@-AG0@H/NXO-@-ABBBB0@H/NXO-@-ABBBBBBK0@H/NXO-@-A0@H/NXO-@p-AtBxB|0@H/NXO-@-A0@H/NXO-@X-A\0@H/NXO-@`-Ad0@H/NXO-@h-AlB@BD0@H/NXO-@H-AL0@H/NXO-@P-ATpЎ///E NpЎ///NpЎ///N$pЎ///NpЎ///N p///N$ X///N @///N .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .p".t n/(///NSZJn,.p..t n !G .X".\ n/(///NSZJn,.X..\ n !G .@".D n/(///NSZJn,.@..D n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .x".| n/(///NSZJn,.x..| n !G .`".d n/(///NSZJn,.`..d n !G .H".L n/(///NSZJn,.H..L n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .". n/(///NSZJn,... n !G .h".l n/(///NSZJn,.h..l n !G .P".T n/(///NSZJn,.P..T n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .p".t n/(///NSZJm,.p..t n !G .X".\ n/(///NSZJm,.X..\ n !G .@".D n/(///NSZJm,.@..D n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .". n/(///NSZJm,... n !G .x".| n/(///NSZJm,.x..| n !G .`".d n/(///NSZJm,.`..d n !G .H".L n/(///NSZJm,.H..L n !G .". n"/(///NSZJm,... n" !G .". n"/(///NSZJm,... n" !G .". n"/(///NSZJm,... n" !G .". n"/(///NSZJm,... n" !G .". n"/(///NSZJm,... n" !G .". n"/(///NSZJm,... n" !G .h".l n"/(///NSZJm,.h..l n" !G .P".T n"/(///NSZJm,.P..T n" !GJn gJyg:HnE NHnNHnNHnNHnNHnpNHnXNHn@N I0T/GTvNXO$.&.EQ////N-@-A0T/NXO$.&.////N-@-A0T/NXO$.&.////N-@-A0T/NXO$.p&.t////N-@p-At0T/NXO$.&.////N-@-A0T/NXO$.X&.\////N-@X-A\0T/NXO$.&.////N-@-A0T/NXO$.@&.D////N-@@-ADI0T/NXO$.&.////N-@-A0T/NXO$.&.////N-@-A0T/NXO$.&.////N-@-A0T/NXO$.x&.|////N-@x-A|0T/NXO$.&.////N-@-A0T/NXO$.`&.d////N-@`-Ad0T/NXO$.&.////N-@-A0T/NXO$.H&.L////N-@H-AL|܎-FPO$,.PO&/+/NT>PO(, P-F4 F/(/NT>PO?????Nȼ I/+/NT>PO$ F/(/NT>PO&/,/NT>PO(, P-F0 F/(/NT>PO?????Nȼ K/,/NT>PO$ F/(/NT>PO&/-/NT>PO(, P-F, F/(/NT>PO?????Nȼ /-/NT>PO$ F/(/NT>PO& nPO( n8/(/NT>PO?????Nȼ |܎-F(,p-F$z n(/(/NT>PO$,.(P-F F/(/NT>PO& n$/(/NT>PO(,.$P-F F/(/NT>PO?????Nȼ ,X-F n$/(/NT>PO$ n/(/NT>PO& F/(/NT>PO(,.P-F F/(/NT>PO?????Nȼ n/(/NT>PO$ F/(/NT>PO&/*/NT>PO(, P-F F/(/NT>PO?????Nȼ /*/NT>PO$ F/(/NT>PO& n(/(/NT>PO( n /(/NT>PO?????Nȼ z nPO$ n8/(/NT>PO& n(/(/NT>PO( n /(/NT>PO?????Nȼ z/+/NT>PO$ n4/(/NT>PO& n$/(/NT>PO( n/(/NT>PO?????Nȼ z/,/NT>PO$ n0/(/NT>PO& n/(/NT>PO( n/(/NT>PO?????Nȼ z/-/NT>PO$ n,/(/NT>PO&/*/NT>PO( F/(/NT>PO?????NȼLPO$. P-G<"G/)/NT>PO&/,/NT>PO(. P-G8"G/)/NT>PO?????Nȼ ~ގ-G4.p-G0=|"n4/)/NT>PO$..4P-G,"G/)/NT>PO&"n0/)/NT>PO(..0P-G("G/)/NT>PO?.????Nȼ ~ގ-G$/,/NT>PO$"n8/)/NT>PO&"G/)/NT>PO(..$P-G "G/)/NT>PO?????Nȼ KX"n0/)/NT>PO$"n(/)/NT>PO&/-/NT>PO(. P-G"G/)/NT>PO?.????Nȼ ~ގ-G"n$/)/NT>PO$"n /)/NT>PO&"G/)/NT>PO(..P-G"G/)/NT>PO?????Nȼ /-/NT>PO$"n/)/NT>PO&/+/NT>PO(. P-G"G/)/NT>PO?.????Nȼ "n/)/NT>PO$"n/)/NT>PO&/*/NT>PO("nPO?????Nȼ /+/NT>PO$"G/)/NT>PO&"n4/)/NT>PO("n,/)/NT>PO?.????Nȼ z/*/NT>PO$"nPO&"n4/)/NT>PO("n,/)/NT>PO?????Nȼ z/,/NT>PO$"n8/)/NT>PO&"n0/)/NT>PO("n(/)/NT>PO?????Nȼ z"n$/)/NT>PO$"n /)/NT>PO&/-/NT>PO("n/)/NT>PO?????Nȼ z"n/)/NT>PO$"n/)/NT>PO&/+/NT>PO("G/)/NT>PO?????Nȼ z/*/NT>PO$"nPO&/-/NT>PO("n/)/NT>PO?????NȼLNPO8H/NXO//09@H/NXO//NJ//NPO64 BmC0H Q00RBBlE$BgG?9??9?9KȼNBg$<?9(B??9?NBg?9?9?9?N$~ 4Bm,E??0H R?(??Nȼ RBBl#B@L</,/,PORCCb`:BCCc4x0H$3/NTvXO//NUPO+(RCCb`p`B@L< .mapw 0 0 0 %3d %3d %3d NVH?<=n 9g ytn?<Ng ` A=P0By=|BE:|Bn<<BNa`?N\OJnf N=n=|=n=|Jnl =n=n=|~ގ-G8.H.-G`.JEoBCnl .ЄGI04.@JBn 0S@4nnm 0R@4nRFnoZ|EN2AHA*@@R@=@B@=@B@+=@B@=@N~ `=@N`=@N`4@2H ЁA0.nH.0.nH.@0 nH.@RCnm no=n?.?.NmXONftJ@gNf44AJPg B g Bcg BCgBP Bag0n BBgnH B-gJn" B gtn B g` B+g` B1m B9ot BAg` BMgn" BDgn BCg"` BGg` BSgVn BRg` BXg&`x BxgnN Bggn" Bcgn Bbg`N BdgF`B BrgFn BmgX`, Bsg` B0g~n Bg B,n B#l` B5gn B3g0` B8gf`BE=|>.G=G=n<<`.G=G<<`3 ynRy`3 yoSy`B=B`:EJyG?(>G?>G?Hy*/NtRD Do/Nnd`HJyfHyHyNPO B?fHy#HyNPO B@fHyHyNPO BAfHyHyNPO BBfHyHyNPO BCfHy#HyNPO BDfHyHyNPO BEfHy HyNPO BFfHy HyNPO BGfHy#HyNPO BHfHyHyNPO BIfHy#HyNPO BJfHyHyNPO BKfHyHyNPO BLfHyHyNPO BMfHy#HyNPO BNfHyHyNPO BOfHy HyNPO BPfHyHyHyN BQfHyHy#HyN BRfHyHy HyN BSfHy Hy#HyN BTfHy#Hy&HyN BUfHyHy&HyN BVf <//HyN BWfHy HyHyN BXfHy <//N BYfHy HyHyN NJnf3L<`N^Nu/AJPgBP`fA40A?|?|??<BgNmXONftJ@gABB(B(?<BgNm33XO$NuH>0&o $o$x,<BC2H Ё"FBB:<D0C0002AHRC CoRD DoL |NuH?8(o(&o,v.<BD0H"Ҁ$GBB<<C0@:H0D0002Aj@@ Ѕ0D"G0002Aj@@RD DoRC CoLNuNVH?<..v,<BD2H Ё*FBBzVC0D$n 0"n2AHU0@UH"Ҁ(FGx02AHU0@H"Ҁ$F02AHURD DozRC CUoZL 9gJyTf4|C0H"Ҁ ERJ~Jl`bSSf64|2H Ё E2H Ё"ERJ~Jl>Tf&4|C0H"Ҁ ERJ~Jl?<BgNmXO`lXyARP09HPn@0`xyASPjfBP`byASPjPBP`LXyARP09Pn4@0`,ARP>9tPnBP`ASPj >9tG0?<N2TO` CfBCJDfx CfvJDfx CfvJDfx CfBCJDfx CfvJDfx CfvJDfx?9?9N44H"Ҁ2C E1XO @f?2H Ё2C E 1fB1?<BgNmvBDXO`BFJFfBgN23By3TOL|NuNVH00JygBCE0]@4@ CoVB Bo&yHlAB@??9?N4b\ORC C oBCE0]@4@ CoVB Bo&ylAB@???9N4b\ORC C oABPJng"0A3C3E??N44BCXOGE$<0C2H Ё"BRC Co3BCE0]@49@ CoVB Bo0yHl(??N4A?9??N4b RC C oBCE0]@49@ CoVB Bo0yl(??N4A?9??N4b RC C oL N^NuNuNuNVH?<>.(*.,.(n *n$BBBD`ƾDoEP////N$&/ / / / N////NS,GQ/. /.//N$&B/<@//N/ / //N/././/NRD*,(@*A////N$&/ / / / N////NB/<@//NSZJm"Dn8.*0LN4bJ.g?n2.RA>N4bRoN4bSWN4bRnJy@fN29nSA?A2.Jytg DAyHSA>N4bSoN4b2 Lower or Raise the Iteration Limit (display with Tab key) * n or N or l or L Select Normal (the default) or Logarithmic Palettes b or B Add the current fractal description to FRABATCH.BAT o or O toggles 'orbits' option on and off during image generation Home Redraw Previous screen (you can 'back out' recursively) Tab Display the current fractal image information Control-Enter 'Zoom-out' - expands the image so that your current image is positioned inside the current zoom-box location. * e or E Edit the parameters for the Barnsley IFS fractal-types (this option ONLY affects Barnsley IFS and IFS3D fractals) Hit any of these keys while drawing a fractal to immediately do the command. If the screen finishes before you hit a key, it will beep and wait for you. The useful keys you can hit while this program is running (the commands marked with an '*' are also available at the credits screen) are: i or I apply inversion to the current fractal image * f or F toggle the floating-point option ON or OFF. The TAB key display will indicate so if it's ON. See FRACTINT.DOC for details. q or Q apply Decomposition (2, 4, .. 256-way) to the current fractal image. See FRACTINT.DOC for details. a or A Convert the current image into a fractal 'starfield' (the 'astrologer' option). * Insert Restart the program (at the credits screen) * d or D Suspend the program and enter a shell * Delete or Esc Exit the program Hit any of these keys while drawing a fractal to immediately do the command. If the screen finishes before you hit a key, it will beep and wait for you. Command Keys that are available in Color-Cycling mode (which is the mode you are in if you have hit the 'c' key and are now paused in Color-Cycling mode with a white overscan (border) area, or you hit the '+' or '-' keys and the the colors are now cycling on your screen). Commands marked with an '*' are available only on VGA systems (the others also work on EGA systems). Help Enter help mode and display this screen + or - (re)-set the direction of the color-cycling Right/Left Arrow (re)-set the direction of the color-cycling (just like +/-) Up/Down Arrow SpeedUp/SlowDown the color cycling process F1 thru F10 Select Short--Medium--Long (randomly-generated) color bands 1 thru 9 Cycle through 'nn' colors between screen updates (default=1) Enter Randomly (re)-select all new colors [TRY THIS ONE!] Spacebar Pause until another key is hit (the overscan area is set to white as a visual indicator of a Color-Cycling pause) * SF1 thru AF10 Pause and re-set the Palette to one of 30 fixed sequences * r or g or b or force a pause and Lower (lower case) or Raise (upper case) * R or G or B the Red, Green, or Blue component of the fractal image Command Keys that are available in Color-Cycling mode (which is the mode you are in if you have hit the 'c' key and are now paused in Color-Cycling mode with a white overscan (border) area, or you hit the '+' or '-' keys and the the colors are now cycling on your screen). Commands marked with an '*' are available only on VGA systems (the others also work on EGA systems). d or D or a or A pause and load the palette from DEFAULT.MAP or ALTERN.MAP m or M pause, prompt for a palette map filename (default filetype is .MAP), and load the palette from that map file s or S pause, prompt for a palette map filename (default filetype is .MAP), and save the palette to that map file * x or X Enter Cross-hair palette-manipulation mode, where you can modify the screen colors a palette at a time (see the Cross-Hair Help screen for details) (any other key) Exit Color-Cycling and return to main command level Command Keys that are available in Cross-Hair mode (which is the mode you are in if you have hit the 'x' key in Color-Cycling mode and are now looking at a screen with a white overscan (border) area and a Cross-Hair cursor on the screen). Cross-Hair mode is available only on VGA systems. Help Enter help mode and display this screen Cursor Keys Move the cross-hair cursor around the screen. The Control-Cursor keys move the cross-hair around faster. A mouse can also be used to move around, in which case holding down the right button speeds up cursor movement r or g or b or Lower (lower case) or Raise (upper case) the Red, Green, R or G or B or Blue component of the palette color of the pixel in the center of the Cross-Hair cursor (and all of the other pixels that use the same palette value) + or - Change the RGB values of the palette of the pixel in the center of the Cross-Hair cursor (and all of its sister pixels) to that of the next higher (or lower) palette value. Useful for 'erasing' bands of color. Command Keys that are available in Cross-Hair mode (which is the mode you are in if you have hit the 'x' key in Color-Cycling mode and are now looking at a screen with a white overscan (border) area and a Cross-Hair cursor on the screen). Cross-Hair mode is available only on VGA systems. PageUp or PageDown Change the palette value (color) of the Cross-Hair Cursor. Useful when the cursor gets 'lost'. Holding down the Left mouse-button and moving the mouse forward and backward also changes the cursor color. Enter 'Do-Nothing' key, added just to keep from accidentally exiting Cross-Hair mode by pressing both mouse buttons simultaneously (any other key) Exit Cross-Hair mode and return to Color-Cycling mode Using FRACTINT with a Mouse Left Button: Brings up and sizes the Zoom Box. While holding down the left button, push the mouse forward to shrink the Zoom Box, and pull it back to expand it. Then let go of the button and move the mouse around to 'pan' the Zoom Box (with no buttons held down, you are in 'fast-pan' mode). Right Button: When the right button is held down, the 'panning' operation switches from 'fast-pan' to 'slow-pan' mode, giving you better control over the location of the Zoom Box. Both Buttons: (or the middle button, if you have three of them) Redraws the area inside the Zoom Box over your full screen. Zoom and Pan using the mouse typically consists of pushing in the left button, sizing the zoom box, letting go of the button, fast-panning to the general area, pushing in the right button and slow-panning to the exact area you want, and then (still holding down the right button) tapping the left button to perform the Zoom. If FRACTINT locates a file called 'SSTOOLS.INI' in the PATH, it reads initialization variables from it. These variables can also be initialized on the command-line as arguments, or from other files referenced on the command line using an '@' notation. The variables currently available are: @filename Read more cmd-line arguments from 'filename' (this option only available on the command-line) [filename=]filename Start with this saved file (one saved by FRACTINT or a generic GIF file [treated as a plasma cloud]) ('filename=' is mandatory inside '@' or .INI files) savename=filename Save files using this name (instead of FRACT001) video=xxx Begin with this video mode (Example: Video=F2) See the video-modes HELP screen for a full list type=fractaltype Perform this Fractal Type (Default = mandel) See the fractaltypes HELP screen for a full list params=xxx[/xxx[/xxx]]... Begin with these extra Parameter values (Examples: params=4 params=-0.480/0.626) corners=xmin/xmax/ymin/ymax Begin with these X, Y Coordinates (Example: corners=-0.739/-0.736/0.288/0.291) The initialization variables available, and their formats are: passes=x (x = 1, 2, or g) Select Single-Pass, Dual-Pass, or Solid-Guessing potential=nn[/nn[/nn]] Continuous Potential options (see FRACTINT.DOC) logmap=yes Use a Logarithmic palette map rather than the default (Continuous) palette map maxiter=nnn Maximum number of iterations (default = 150) iterincr=nnn Iteration inc/decrement stepsize (default = 50) inside=nnn Mandelbrot Interior color (inside=0 for black) map=filename (VGA or TARGA) get the color map from 'filename' warn=yes Tells FRACTINT to avoid over-writing existing files batch=yes Batch mode run (display image, save-to-disk, exit) batch=config Batch mode run to generate a 'fractint.cfg' file cyclelimit=nnn color-cycler speed-limit (1 to 256, default = 55) float=yes For some functions changes from integer math to fp ifs=filename Define an IFS map for the Barnsley IFS fractals Read the IFS section of FRACTINT.DOC for details printer=type[/res[/lpt#]] Set the printer type (HP-Laserjet, IBM, Epson), dots/inch, and port# (1-3 for LPTn, 11-14 for COMn) The initialization variables available, and their formats are: 3d=[nn[/nn[/nn]]]... Generate 'filename' (above) as a 3D image using 'nn/nn...' as default answers to the 3D prompts preview=yes Turns on 3D 'preview' default mode showbox=yes Turns on 3D 'showbox' default mode sphere=yes Turns on 3D sphere mode longitude=nn/nn Longitude minimum and maximum latitude=nn/nn Latitude minimum and maximum radius=nn Radius scale factor rotation=nn[/nn[/nn]] Rotation about x,y, and z axes scalexyz=nn/nn/nn X, Y, and Z scale facytors roughness=nn Same as Z scale factor waterline=nn Colors this number and below will be 'inside' color filltype=nn 3D filltype perspective=nn Perspective viewer distance (100 is at the edge) xyshift=nn/nn Shift image in x and y directions (alters viewpoint) lightsource=nn/nn/nn The coordinates of the light source vector smoothing=nn Smooths rough images in light source mode invert=nn/nn/nn Turns on inversion - turns images 'inside out'. transparent=mm/nn Sets colors 'mm' to 'nn' as transparent The initialization variables available, and their formats are: coarse=nnn Sets Preview 'coarseness' default value stereo=nnn Sets Stereo (R/B 3D) option: 0 = none, 1 = alternate, 2 = superimpose, 3 = photo interocular=nnn Sets 3D Interocular distance default value converge=nnn Sets 3D Convergence default value crop=nnn/nnn/nnn/nnn Sets 3D red-left, red-right, blue-left, and blue-right cropping default valuess bright=nnn/nnn Sets 3D red and blue brightness defaults, xyadjust=nnn/nnn Sets 3D X and Y adjustment defaults, rseed=nnnnn Forces reproducable Plasma Clouds. The 'rseed=' value is listed as part of the display decomp=nn[/nnnnn] 'Decomposition' toggle. First value 2 to 256, 2nd is bailout limit. See FRACTINT.DOC for details biomorph=nnn Turns on Biomorph Coloring (use with the mansinzexpd and Julsinzexpd fractal types) bailout=nnnn Use this as the iteration bailout value (rather than the default value of [for most fractal types] 4.0) symmetry=xxxx Force symmetry to None, Xaxis, Yaxis, XYaxis, Origin, or Pi symmetry. Useful for debugging. formulafile=filename Find the 'type=formula' fractals in this file instead of the default file (FRACTINT.FRM). formulaname=formulaname Have the 'type=formula' fractals use this formula (instead of the first one in the file). askvideo=no Disable 'Is This Mode OK?' prompt if you have a FRACTINT.CFG file restricted to legal video modes. ; indicates the rest of the line is a comment (IE, 'fractint type=plasma ; use plasma clouds') sound=off (nobody ever plays with fractals at work, do they?) Fractal types supported include (see FRACTINT.DOC for full descriptions): mandel = 'Classic' Mandelbrot fractals using 32-bit integer math for speed. z(0) = 0; z(n+1) = z(n)**2 + C, where C = Xcoord + i * Ycoord. Two optional params: real and imaginary parts of z(0) (if not 0). julia = 'Classic' Julia set fractals using 32-bit integer math for speed. z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)**2 + C. Two params required: real and imaginary parts of C. newton, = Newton Domains-of-attraction (only the coloring schemes are newtbasin different). First param: the power (from 3 to 10) of the eqn. If param=4, the eqn is z(n+1) = (3*z(n)**4+1)/(4*z(n)**3). Other Parameters invoke an 'Inversion' option if selected: the Radius and X/Y location of the Inversion point plasma = plasma clouds - random, cloud-like formations. Requires four or more colors. One param: 'graininess' (.5 to 50, default = 2) mandelsine = 'Mandelbrot-Equivalent' for the lambda-sine fractal. Use the Space-bar to select LambdaSine fractals a/la Mandel/Julia. z(0) = Xcoord + i * Ycoord; z(n+1) = z(0)*sine(z(n)). No Parms. Fractal types supported include (see FRACTINT.DOC for full descriptions): lambdasine = lambda-sine fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = lambda * sine(z(n)). Two params: real, imag portions of lambda. mandelcos = 'Mandelbrot-Equivalent' for the lambda-cosine fractal. Use the Space-bar to select LambdaSine fractals a/la Mandel/Julia. z(0) = Xcoord + i * Ycoord; z(n+1) = z(0)*cosine(z(n)). No Parms. lambdacos = lambda-cosine fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = lambda * cosine(z(n)). Two params: real, imag portions of lambda. mandelexp 'Mandelbrot-Equivalent' for the lambda-exp fractal. Use the Space-bar to select LambdaSine fractals a/la Mandel/Julia. z(0) = Xcoord + i * Ycoord; z(n+1) = z(0)*exp(z(n)). No Parms. lambdaexp = lambda-exponent fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = lambda * exp(z(n)). Two params: real, imag portions of lambda. barnsleym1 = Michael Barnsley's alternative 'Mandelbrot'. z(0) = 0; z(n+1) = (z-1)*C if Real(z) >= 0, else = (z+1)*modulus(C)/C, where C = Xcoord + i * Ycoord. Fractal types supported include (see FRACTINT.DOC for full descriptions): barnsleyj1 = 'Julia' corresponding to barnsleym1. z(0) = Xcoord + i * Ycoord; z(n+1) = (z-1)*C if Real(z) >= 0, else = (z+1)*modulus(C)/C. Two params required: real and imaginary parts of C. barnsleym2 = Another alternative 'Mandelbrot'. z(0) = 0; z(n+1) = (z-1)*C if Real(z)*Imag(C) + real(C)*imag(z) >= 0, else z(n+1) = (z+1)*C, where C = Xcoord + i * Ycoord. barnsleyj2 = 'Julia' corresponding to barnsleym2. z(0) = Xcoord + i * Ycoord; z(n+1) = (z-1)*C if Real(z)*Imag(C) + real(C)*imag(z) >= 0, else = z(n+1) = (z+1)*C. Two params required: real and imaginary parts of C. barnsleym3 = Another alternative 'Mandelbrot' from Barnsley This one has a formula that's just too long for this puny little help file - see FRACTINT.DOC for details barnsleyj3 = 'Julia' corresponding to barnsleym3. This one has a formula that's just too long for this puny little help file - see FRACTINT.DOC for details Fractal types supported include (see FRACTINT.DOC for full descriptions): sierpinski = Sierpinski gasket - a Julia set that produces a 'Swiss cheese triangle'. z(n+1) = (2*x,2*y -1) if y > .5; else (2*x-1,2*y) if (x > .5); else (2*x,2*y). No parameters. mandellambda= 'Mandelbrot-Equivalent' for the lambda fractal. Use the Space-bar to select Lambda fractals a/la Mandel/Julia. z(0) = Xcoord + i * Ycoord; z(n+1) = z(0)*(z(n)**2). No Parms. lambda = Classic Lambda fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = Lambda*(z(n)**2). Two params required: real, imaginary parts of Lambda. marksmandel= Mark Peterson's variant of the mandel-lambda fractal. z(0) = 0; z(n+1) = ((Xcoord+i*Ycoord)**exp)*z(n) + (Xcoord+i*Ycoord). marksjulia = Mark Peterson's variant of the julia-lambda fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = (z(0)**exp)*z(n) + z(0). unity = Mark Peterson's 'Unity' fractal type. Truly Wierd - See FRACTINT.DOC for the description of this one! ifs = Barnsley IFS Fractal (a fern unless an alternate IFS map has been defined using the 'ifs=' command-line option). Fractal types supported include (see FRACTINT.DOC for full descriptions): ifs3d = Barnsley 3D IFS Fractal (a fern unless an alternate IFS map has been defined using the 'ifs3d=' command-line option). mandel4 = Fourth-power 'Mandelbrot' fractals using 32-bit integer math. z(0) = 0; z(n+1) = z(n)**4 + C, where C = Xcoord + i * Ycoord. Two optional params: real and imaginary parts of z(0) (if not 0). julia4 = Fourth-power Julia set fractals using 32-bit integer math. z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)**4 + C. Two params required: real and imaginary parts of C. test = 'test' point letting us (and you!) easily add fractal types. Currently, the 'Distance Estimator' M'brot/Julia Set algorithm. two optional parameters - if none given, uses the M'brot Set If given, they are the the same as the Julia Set parameters. mandelsinh = 'Mandelbrot-Equivalent' for the lambda-sinh fractal. Use the Space-bar to select LambdaSine fractals a/la Mandel/Julia. z(0) = Xcoord + i * Ycoord; z(n+1) = z(0)*sinh(z(n)). No Parms. lambdasinh = lambda-sinh fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = lambda * sinh(z(n)). Two params: real, imag portions of lambda. Fractal types supported include (see FRACTINT.DOC for full descriptions): mandelcosh = 'Mandelbrot-Equivalent' for the lambda-cosh fractal. Use the Space-bar to select LambdaCosh fractals a/la Mandel/Julia. z(0) = Xcoord + i * Ycoord; z(n+1) = z(0)*cosh(z(n)). No Parms. lambdacosh = lambda-cosh fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = lambda * cosh(z(n)). Two params: real, imag portions of lambda. mansinzsqrd= 'Mandelbrot-Equivalent' for the Julsinzsqrd fractal. Use the Space-bar to select Julsinzexp a/la Mandel/Julia. z(0) = 0; z(n+1) =z(n)**2 + sin(z(n)) + (Xcoord + i * Ycoord). No Parms. julsinzsqrd= Julia Biomorph fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)**2 + sin(z(n)) + C. Two params: real, imag portions of C. manzpower = 'Mandelbrot-Equivalent' for the julzpower fractal. Use the Space-bar to select julzpower fractals a/la Mandel/Julia. z(n+1) = z(n)^m + C. Parameters are real pertubation, imaginary pertubation, exponent m. julzpower = Juliazpower fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)^m + C. Two params: real, imag portions of C. manzzpwr = 'Mandelbrot-Equivalent' for the julzzpwr fractal. Use the Space-bar to select julzzpwr fractals a/la Mandel/Julia. z(n+1) = z(n)^z(n) + z(n)^m + C. Parameters are real pertubation, imaginary pertubation, and exponent m. julzzpwr = julia*zpower fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)^z(n) + z(n)^m + C. Three params: real, imag portions C, and the exponent m. mansinexp = 'Mandelbrot-Equivalent' for the julsinexp fractal. Use the Space-bar to select julsinexp fractals a/la Mandel/Julia. z(n+1) = sin(z(n)) + e^z(n) + C. Parameters are real pertubation, and imaginary pertubation of z(0). julsinexp = julia sinexp fractal. z(0) = Xcoord + i * Ycoord; z(n+1) = sin(z(n)) + e^z(n) + C. Two params: real, imag portions C. popcorn = orbits of x(n+1) = x(n) - h*sin(y(n) + tan(3*y(n)) and y(n+1) = y(n) - h*sin(x(n) + tan(3*x(n)) plotted for EACH screen pixel and superimposed. If symmetry=none, plots Julia set of same equation. demm, = Mandelbrot and Julia fractal images generated using the demj 'Distance Estimator' method. Same fractal types, same input parameters, different coloring schemes! Bifurcation = 'Bifurcation' fractal. Pictoral representation of a population growth model. The model is: Newpopulation = growthrate * oldpopulation * (1 - oldpopulation) complexnewton, = Newton's fractal type extended to complex numbers. complexbasin Newton's fractal uses (z**n + 1) - these types use (z**a + b), where both 'a' and 'b' are complex numbers. lorenz = Lorenz attractor fractal - orbits of differential equation x = x + (-a * x * dt) + (a * y * dt) y = y + (b * x * dt) - (y * dt) - (z * x * dt) z = z + (-c * z * dt) + (x * y * dt) Parameters are dt, a, b, and c. lorenz3d = 3D Lorenz attractor with 3D perspective. Run this while using the transformation option of the E(dit) command to change your perspective. formula = Formula interpreter - write your own formulas as text files! See FRACTINT.DOC for instructions on using this one. julibrot = 'Julibrot' 4-dimensional fractals. Read FRACTINT.DOC for an description of these fractals (and a description of the prompts involved in invoking them). Virtually all of the FRACTINT authors can be found on the Compuserve network in the COMART ('COMputer ART') forum in S 15 ('Fractals'). Several of us can also be found on BIX in the GRAPHIC.DISP/FRACTALS area. In addition, several of the authors have agreed to the listing of their home addresses at the end of the FRACTINT.DOC file. New versions of FRACTINT are uploaded (as self-extracting archive files) to the Compuserve and BIX networks, and make their way to other systems from those points. The latest version of the program can usually be found in the following locations: FRAINT.EXE - (Executable/Docs) Compuserve: COMART DL 15 and IBMNEW DL 5 BIX: GRAPHIC.DISP/LISTINGS and IBM.PC/LISTINGS FRASRC.EXE - (Complete Source) Compuserve: COMART DL 15 and IBMPRO DL 3 BIX: GRAPHIC.DISP/LISTINGS and IBM.PC/LISTINGS (What's the latest version? Well, THIS one was, way back when we uploaded it!) %s//HyeNtr/Nn NuH8 x/?< NA\O&8/?< NA\OLNuH0 v??<NMXOHL NuH0 A0gBP`(v??<NMXOJ@g :ovL NuNVH8 69f|x??<NMXOJ@glA0gBP`(x??<NMXOJ@g :ox6 CJf ygByN6` C fN^BC30LN^NuNVH80JyDg2VAH Ё1S>YI5Q@1Q@BDGɜz6H???<NN\O78RD DopL<06/ 8/"zBF???<NN\O Cg( DQg"C D G>CD/ ?< NA\O`BE???<NN\OL |NupqNVH?06n >. 8.: vBF???<NN\O ng(vQKg"D E G>DE/ ?< NA\O`BC???<NN\O Gpf&<l/?< NA\O&./?< NA\O Gpf&<l/?< NA\OL N^NuNuNuNuH?<694V CoJg3C` ByBy,</?<NN\OJCm& Co Cg`?<NNTOCfv yg0|?//?<NN .94Z*y|?/ /?<NN AL"y~HE1R>3HYI1Q@3JCg Cg4`bA1|1| 1|0A21|1|1|`0A1|1|@1|@A21|1|01|7(<3`. yf.94Z*y|?/ /?<NN (<4BF???<NN\OA4X"y~H00 @gn @g `$ @g`3`3`3<9F3lJygJ f|/?< NA\O* y#BC yPl0EG C0H RJf& `RC QPmJ ftE0H/N4$BCXO yPl*IGE0H T"S!RC RPm0H y!Ј# "y"T/?< NA\OJyg3 93B9L06.*<rj/?< NA\O8zBF???<NN\O Cg D G>D| / ?< NA\O`BE???<NN\OG~Hzړ E60 *<rm/?< NA\Ozړ E0*<rp/?< NA\OL |N^NuH<0JygNByx/?< NA\O&CJgU y /NXO` y B/?< NA\O?<Nh~G?<NNTOTOSf6x:9?//?<NN L (/0HyHnNdXPOJ@f Bo Bn3`HyHnNdXPOJ@fCAf`HyHnNdXPOJ@ffBCy~4lBtԎ0HAT"p Bf/NHn/NdX J@g RCy~4m¶y~4f/ N!3`hHyHnNdXPOJ@f~BC?<=/ Nd8(@\OE(< Cn*RL/ Ng4HH/RCNTvXO%(%(XO`RCRL"L Df?<// Nd8(@\Ofvc Co`HyHnNdXPOJ@fVBC?<=/ Nd8(@\OERL/ Nj4H%(%(RC?<// Nd8(@ fvc Co`hHyHnNdXPOJ@f3?<=/ Ed8N(@GRL/ Nj&'A?<// N(@f / N!XOE RL/ Nj$%A?<// Nd8(@ f / N!XOERL/ Nj$%A?<// Nd8(@ f / N!XOEHlNj$%A`zHyHnNdXPOJ@ft3BC?<=/ Nd8(@\OEPRL/ Ng2XO o /g 0H5JCfNz?<// Nd8(@\OgRC Co`HyHnNdXPOJ@f$ yf 3P` nfByP`Hy HnNdXPOJ@fbBC?<=/ Nd8(@\OERRL/ Ng2XO o /g 0H5?<// Nd8(@\OfvcRC Co`>HyHnNdXPOJ@fbBC?<=/ Nd8(@\OEXRL/ Ng2XO o /g 0H5?<// Nd8(@\OfvcRC Co`HyHnNdXPOJ@f 3\`Hy(HnNdXPOJ@fJBl/ N!3^`zHy2HnNdXPOJ@f Bm Bo/ N!3``FHy;HnNdXPOJ@f`BC?<=/ Nd8(@\OEbRL/ Ng2XO o /g 0H5?<// Nd8(@\OfvcRCJCo` HyGHnNdXPOJ@fbBC?<=/ Nd8(@\OEdRL/ Ng2XO o /g 0H5?<// Nd8(@\OfvcRC Co` XHyOHnNdXPOJ@fbBC?<=/ Nd8(@\OEhRL/ Ng2XO o /g 0H5?<// Nd8(@\OfvcRC Co` Hy[HnNdXPOJ@fJBl/ N!3n` HyeHnNdXPOJ@fbBC?<=/ Nd8(@\OEVRL/ Ng2XO o /g 0H5?<// Nd8(@\OfvcRC Co` .8E6.:NftJ@f2yHl"$N*@A@??N4*@XORCRBBnSEjBBBo4L0B"nNPO((y4XL ."./-///N//N(`3L<N^Nu"y4A/ / / / N7NuNVH< y4/ETvNXOKGN/-///N-@-A y4XH/NXO/-///N-@-A N/ / / / CN7/./.ILNG/+///ESZNJl~/./.NPO/+///NJl^(y4 .".EP/-///N//GT>NPO((y4XL ."./-///N//N(`3L<N^NuH0E"RG4pГ @/ / / / A/ / / / N"~ L NuNVH< y/ETvNXOKGN/-///N-@-A yXH/NXO/-///N-@-AI4 T/NXO/-///N-@-A TXH/NXO/-///N-@-AA/ / / / N/ / / / CN"~ /./.ILNGPO/+///ESZNJl~/./.NPO/+///NJl^(y .".EP/-///N//GT>NPO((yXL ."./-///N//N(`34L<N^Nu3 Nu NVH<<-n:. BCy$dNGx8$SHx/NY^PO$r(f"?/. S/Ng J@f Ђ`4RCy$eEG$p0*R-|Y^Hx/(nNPO+p0*RHx/NPO;p0*RHx/NPOKp0$RHx/NPOBB%%*+B(nHAhf .frC&p0"Ҁ A(hf SQSSyvrAh2(n4H0f2 .fRC`p0(n 4,fHyHtNe@RCr24HAhPO0f -f4H0gp0(nHtNjH/NTvXO-@-AXOrAh2(n4H0f2 .g2 -fRC`p09$$yHx/NY^PO5`BB/.NjH/NTvXO-@-AXO09hg @g6`p09$$yHx/NY^POCA"XI"""`EG$p0*R-|Y^Hx/(nNPOI-LK .".-|P/-///(nN//NT>PO(n(p0$RHx/(nNPOE ."./-///(nN//NT>PO$p09$$yHx/NY^PO%GE$p0Hx/NY^ГRRL<HHxXNH#Hx@NH#HK~HxNH*HxNH#GHxN0@&Jg bJg XJHg NJg HJg >g 609hg @g`j##:##"#L#H#@##N#(#F#B#p##$##`:9~DE3####j####:##"#####l#,#By$ y$bdKG$v6$UHx/NY^PO26$I%(6 t(tJgRJf6$UHx/NY^PO5RS Sc09hg @gZ`< yEC*,)%E%F *),) %E%F,*),)!E!F *),)!E!F`Ezڒ-EG "+KP/9/9//N//NT>PO(E(z ڒ-E| +"+ /9/9//N//NT>PO(E(z2ڒ-Ex +"+/9/9//N//NT>PO(E(z6ڒ$E +"+/9/9//N//NT>PO$By&By~@ByByByBy(By 33By*p09*(nJ4gDtKHy49*(nHt(Ney*3*4 LPOJg34H0@pЈzTbd:;NPXNXXXXXXXXXX$tXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXRyJUf3`JygSy`3JUgA(04""G24BQ`09@nf&JUgBySySn0.H=v`jJUf30.H=RnA&24 Ђ"y"4092nrzA2RP=@Ry`Jyg A(04""G242RPJUgBy`:A&24"y ЂEB44RP24 Ђ"42RPByBnr`|Jyg A(04""G242RPJUgBy`:A&24"y ЂEB44RP24 Ђ"42RPByBnr3' `JUgBy:A&24 Ђ"y"409nrz@2`JUg:A&24 Ђ"y"409nrz@2`dA&24 Ђ"y"409nrz@2`nJUgBy:49*(n 4=(f$Ry*49& Ђ y `49& Ђ y A&4 Ђ"y09nrz@3E`JUgBy:A&24 Ђ"y"409nrz@2`PJUgBy:A&24 Ђ"y"409nrz@2`JUgBy:A&24 Ђ"y"409nrz@2`JUgBy:29&4 Ђй @]H 409nrz@0A~@0H"y~ESR2H$y#RPRnr`H69*4(n4(HAhf 4 .fr89*2(n4HAhf2 .fRy*`JUf3BU092A:9*A=Et4$n=EvHyHrPNeE4PO 2((f`BDvG6  spJgRJf0nvf,?.v/ 6 /3Ng J@f6  s"`RD Dcr`r69&4 Ђ y g`4zf A(04""G242`.A&4 Ђ"y09nrz@3ERP:`?.t49(nHt(N$ @C0H$y*\%RQC&24 Ђ$y$ 409nrz@4RQ09h@3*\O`.JUgBy:A(04""G242RPE6m"A(04""G242RP4Ry*49*(nJ4(fA&r2 Ё"yB2RPJyoA(p0"G2*2RPBy*:9(y*cG*x,Jygp0(G042HAn/0?Hy/EtN/.Hy/NBCt49* 倶td$t/?< NpH\ORC49* (GteHy/NtPORS:9(SbbJy(fRBy"3& 3$ 9jg /NXOEjp09&/N40@0H$XOf"JygHnz,/Ntp` :9&y"cKE"4p0"Ҁ UJg8RR6H y Ѓ"p0$Ђ:0pl9tnn=|E29~DHp$$</ITvNXO"B. i$&GP////N//KT>NPO-@$</NXO"B. i$&////N//NPO-@BE"<0HA!|@!ARE EoHn\ENXOJygHnNXOBEBD0H"Ҏ.-G-@\-A0H.(G,ܮ$F\-@/9NTvXO..$2x&2xGP////N//KT>NPO..)xJyg>$F/9NTvXO..$2x&2x////N//NPO..)xRD DoRRE Eo Jy|g,BgBgBg?<Nq`?<Ng HyENep` jE/9NTvXO. j$G&HKP/// / N//NT>PO-@E$/9NTvXO. j$G&H/// / N//NT>POE8/9NTvXO. j$G&H/// / N//NT>POE,/9NTvXO. j$G&H/// / N//NT>PO-@,9-F&FE "*BB//ISZNJo@ "*/PO-@EPJ "*BB//NSZJg/*/NT>PO(`x~$G "*BB//NSZJg/*/NT>PO&`v~$G "*BB//NSZJg/*/NT>PO$`tEY^/./NPO-@/./NPO-@/./NPO-@-FP-nT-KX>9(-GB .Rc Rn ncBnRn>9tnn=|N:J@gp` ,.P-nT&nX?9~D/./E2N*?9~D/./.N&?9~D//.N(?9~D/./.N$(?9~D//.N(?9~D// N?9~D/ /.N*?9~D//N܂-FPخ-DT-KX(?9~DHnDHn$P/E|NJyg?9~DHn8Hn\/N~deBE0HA"(DEܲm0HE貒o$RE Eo~dfBB..䞮/ETvNXO$&2yb/ NXOIP////NGNB/<@Y//N//NT>PO-@ .D/NXO$&/9NXOB/<@//N////N(* .D/NXO$&/9NXOB/<@//N////N$&2y/ NXO-@-A 9$"9(-|S,/9 /9//"nN///./.N-@-A2yH/ NXO///./.NKQ////N(*2y/ NXO-@-A 98"9NPO..)xJyg>$F/9NTvXO..$2x&2x////N//NPO..)xRD DoRRE Eo 09bg~dd yg @cnBE0H"E A/(DGTvNXO$%A0HE /9NXO$&*////NN$%ARE EoHn N BEXO0H"EDG /9NTvXO. k&G(H/// / NP//NT>PO$RE EoJyg BE0H"E A/(8GTvNXO$%A0HE /9NXO$&*////NN$%ARE EoHn N BEXO0H"E8G /9NTvXO. k&G(H/// / NP//NT>PO$RE Eo`6?9~DtԎ/HnDEN Jyg?9~D/Hn8N Jyg3~dd .DEY/./NPO6yG .H/./NPO>@04yJCmlyHldJBm`ylX n g(09t@n??. ?. ??Nȼ `09t@n??? yN\O=C =B ` =| =n Jyg3 .8EY/./NPO6yG .@04yJCmlyHldJBm`ylX ng(09t@n??.?.??Nȼ `09t@n??? yN\O=C=B` =|=n .Re .>R>c Rn ncBnRn<:9tneBBB0HA&(((E/*///NSZJm"0HE/*///NSZJo$%DRB Bozd>fBB#4#8#,#0 .".GS,/././/N$&zP E2P/ NTvXO-|P0////"n0NENB/<@Y//N#<#@KQ/./.NPO/././/NB/<@//N-@(-A,/./.NPO/././/NB/<@//N$&2y/ NTvXO,. 9$"9(/9 /9//N////"n0N,.2yH/ NTvXO////NIQ///.,/.(N-@(-A,2y/ NTvXO,. 98"9dHnE NXOJygHnNXOzd>dJyg3 .".ES,/9 /9//NKN/9/9//N$&2y/ GTvNXOIQ////N//NT>PO82y/ NXO$& ."./90/9,//N/9/9//N////N$&2y/ NXO////N//NT>PO4JDmlyHldJBm`ylX nLg(09t@nPO82y/ NXO$& ."./90/9,//N/9/9//N////N$&2y/ NXO////N//NT>PO4JDmlyHldJBm`ylX nHg(09t@nR>Be2B@L<N^NuFirst image (left eye) is ready - hit any key to see it Then hit any key again to create second image Second image (right eye) is ready - hit any key to see it H 0&oJyg 3`ByN#PN4AJPg ygBP`09gJBf @fLNpHyEtNHyNEfNNmNAL?(:?(8?(6?(4Nq`3N#PN4f, yf NpHy&NtNfNmXO0L NuNVtH?9(-GB .Rc 6pgN:J@gp` NH/NTvXOB/<@//NN*,/9NVFXO&(BB`hRBEY^Hx42B/ NPO @.</0x0NVFXO////NQ&(0R@Hx4H/NPO @ 0x0/</NWJPOJg////NSZJmHx4H/NY^PO$@/GVFNXOIP/././/N$&/*NXO/././/NKQ////N$&/*NXO/././/N////N$&/*$NXO////N$&/* NXO/././/N(*/*NXO/././/N////N(*/*NXO/././/N////N(*/*(NXO////N(*/*NXO/././/N,./*NXO/././/N////N,./* NXO/././/N////N,./*,NXO////N-B-C-D-E-@-AHnHnP$/E N JygHnHn/N ~debBB0HA&(((E/*///NSZJm"0HE/*///NSZJo$%DRB Bo~dfBB#4#8#,#0 .".GS,/././/N$&~P G2P/ NTvXO-|P|////"n|NENB/<@Y//N#<#@KQ/./.NPO/././/NB/<@//N(*/./.NPO/././/NB/<@//N$&2y/ NTvXO-@t-Ax 9$"9(/9 /9//N///.x/.t"n|N-@t-Ax2yH/ NTvXO///.x/.tNIQ////N(*2y/ NTvXO-@t-Ax 98"9PO82y/ NXO$& ."./90/9,//N/9/9//N////N$&2y/ NXO////N//NT>PO4JDm:yHl2JBm.yl&??N4R@XOytl??? yN\OJyg>3 .".ES,/9 /9//NKN/9/9//N$&2y/ GTvNXOIQ////N//NT>PO82y/ NXO$& ."./90/9,//N/9/9//N////N$&2y/ NXO////N//NT>PO4JDm:yHl2JBm.yl&??N4R@XOytl??? yN\O .ReB@LNPO-@$</.NXO"B,.)$&////N//NPO-@BETO"<0HA!|@!ARE EoHnENXOJygHn\NXOBEBD0H"Ҏ.-Gz-@v-Ar0H.(G.ޮv-GN$G-@Z/.NTvXO..Z$2x&2xGP////N//KT>NPO..z)xJyg>$nN\/.NTvXO..Z$2x&2x////N//NPO..r)xRD DoPRE EoJy|g,BgBgBg?<Nq`?<Ng HyENep` 2BE&<BDHx42E/ NY^PO"Ҁ&A\$C4H/.NTvXO//NUPO"2(//NWpPO/NVFXO//NT>PO'(RD D oRE EoI/.GTvNXO,.,(F*GEP/// / N//IT>NPO-@$<$/.NXO"B,.)$&////N//NPO$<8/.NXO"B,.)$&////N//NPO$<,/.NXO"B,.)$&////N//NPO-@Hx/.NYPO-@~BBB>9(-GB .Rc pgN:J@gp` N/.~H/NY^PO(&.BBo:RBEY^Hx42B/ NPOA֨0R@Hx4H/NPOAJgn?./.Hx4H/NY^POE\/G2N$?././*N&?././*NԃԀԪ$?././* N&(?././*N(?././*Nքր֪(?././*N(?././*N*(?././* N؅؀ت,-B-C-D?.HnHn$/E|NJyg?.HnHn/N~deBE0HA"(ܲm0HA貐o RE Eo~dfBB..䞮/ETvNXO$&~P G2P/ NXOIP////NGNB/<@Y//N//NT>PO-@ .D/NXO$&/.NXOB/<@//N////N(* .D/NXO$&/.NXOB/<@//N////N$&2y/ NXO-@R-AV 9$"9(-|S,n/9 /9//"nnN///.V/.RN-@R-AV2yH/ NXO///.V/.RNKQ////N(*2y/ NXO-@R-AV 98"9NPO..f)xJyg>$nN\/.NTvXO..R$2x&2x////N//NPO..^)xRD DoPRE Eo~P G0g~dd yg @cnBE0H"EA/(GTvNXO$%A0HE/.NXO$&*////NN$%ARE EoHnN BEXO0H"EG/.NTvXO,.+&F(G/// / NP//NT>PO$RE EoJygBE0H"EA/(GTvNXO$%A0HE/.NXO$&*////NN$%ARE EoHnN BEXO0H"EG/.NTvXO,.+&F(G/// / NP//NT>PO$RE Eo`2?.tԎ/HnEN Jyg?./HnN Jyg3~dd .ĐEY/./NPO6yG .Ȑ/./NPO>@04yJCm:yHl2JBm.yl&??N4R@XOytl??? yN\OJyg3 .EY/./NPO6yG ././NPO>@04yJCm:yHl2JBm.yl&??N4R@XOytl??? yN\O .RelB@L<$N^NuH 8$//Nd/EP0j/ITvNXOGN/<ʖ/<@L//N//N/0j/NXO/<ʖ/<@L//N//NR/0j/NXO/<ʖ/<@L//N//N(LNu309o @n 3`ByJ9PgHyp`HyNbXONu309o @n 3`ByJ9PgHyb`HylNbXONuH86/8/4/g29tB4lVBBt??N4XO yfyo6yTl.` yf"yoy~PlB@???N4b\OLNuH04/ 6/??N42XO yfpJAoAgpyo>yTl6`& yf*yo"y~PlpJAoAgp???N4b\OL NuH86/8/4/g29tB40H4RB??N4XO yfyo6yTl.` yf"yoy~PlB@???N4b\OLNuH04/ 6/29to yf 0CfyoNyTlFA?`4 yf60Cg,yo$y~Pl0@29tAA???N4b\OL NurNVH?<09 @g @g`.#XP`, ytf #P`#ZP` #4bPG=IEP2j/ NTvXO$&2yH/ NTvXO-|P////"nNKNB/<@Y//N//NT>PO86GI2j/ NTvXO$&2y/ NTvXO////"nNB/<@Y//N//NT>PO86JygtE2y/ NTvXO$&2yH/ NTvXO////"nNB/<@Y//N//NT>PO4ETpdyH/NTvXO$&2yH/ NTvXO////"nNB/<@Y//N//NT>PO4E2y/ NTvXO$&2yH/ NTvXO////"nNB/<@Y//N//NT>PO4E~PpdyH/NTvXO$&2yH/ NTvXO////"nNB/<@Y//N//NT>PO42y/ NTvXO-@-AB/<@Y/./.N-@-A2y/ NTvXO,.B/<@Y//N,.09 @g @g`2y/ ETvNXO$&2y/ NXO(*IH2T/ NXOGP////NKNB/<@i//N////NQ//NT>PO3$<09yH/NXO&(2T/ NXO////NB/<@Y//N//NT>PO"B22y=/ NXO$&2y/ NXO(*2T/ NXO////NB/<@i//N////NS,//NT>PO3=$<09턐yH/NXO&(2T/ NXO////NB/<@Y//N//NT>PO"B2`BG2S/ ETvNXO$&2y/ NXO(*KH2U/ NXOIP////N-|NB/<@i//"nN////NS,//NT>PO6G09턐yH/NXO$&2U/ NXO////NB/<@Y//"nN//NT>PO6`^E2y/ GTvNXO$&2yH/ NXO////NPB/<@Y//NN//NT>PO4E2y/ GTvNXO$&2y/ NXO////NP//NQPOB/<@Y//NN//NT>PO4 y f,HyHyNmN$/Ns/Nnd`6 y f ytfZBB&<2H Ё C0l@@2B0 0H"Ҁ CB(TH0l@@RB Bo`BB&<2H Ё C0lV@@2B0 0H"Ҁ CB(TH0lV@@RB Bo`f y ffBB&<2H Ё C0@B(B(RB BoBB&<0@H"Ҁ C0@@B(BRB BoBNsXOJy g09 @g @f yf< ytn2A|?B(B(B(B(|?|? B( |? BB(<BC2H Ё$D2C/ ITvNXOGP/././/N//KT>NPOTJ2C/ NXO////N//NPORB Bo?<BgNmXOL<09~DH|/GTvNXO#>#BI6(@BEx$9$&9($%C-|Pt//// ntN//NT>PO#n 9"9 %@%A /9B/9>// ntN//NT>PO#rKf 98"9<%@%A/9B/9>// ntN//NT>PO*Kj 9,"90%@%A/9B/9>// ntN//NT>PO*$<^K "-%@ %A$/9B/9>// ntN//NT>PO B $<b -"- %@(%A,/9B/9>// ntN//NT>PO B $<V -"-%@0%A4/9B/9>// ntN//NT>PO B $<Z -"-%@8%A// ntN//NT>PO B /9NXO-@-A/9NXO-@-A/9NXOKN/,///N-@-A/9NXO/,///N-@-A/9NXO/,///N-@-A/9NXO/,///N-@-A/9NXO/,///N-@-A/9NXO/,///N-@-A/9NXO/,///N-@-ANp/ Hy?<?<N: m .x".|#$#(/9B/9>// ntN//NT>PO#r .".## /9B/9>// ntN//NT>PO#nйrjR#zEj .".#8#GP/,///N//KT>NPO$$<f .".#,#0/,///N//NPO B ВjR#vK .".*+AI>EP/,///N//GT>NPO#b .".+@+A /,///N//NPO#^ .".+@+A/,///N//NPO#Z .".+@+A/,///N//NPO#V/./.NPO#K/./.NPO*K ."./9:/96//N//NPO* ."./9:/96//N//NPO#$< ."./9:/96//N//NPO B $< ."./9:/96//N//NPO B $< ."./9:/96//N//NPO B $< ."./9:/96//N//NPO B $< ."./9:/96//N//NPO B $< 9^b-|Yp/9/ npNPO B $< 9VZ/9/ npNPO B #D$<R .".-|S,l/.|/.x// nlN-|Nh/./.// nhN/,///N//NPO B $<N ."././.// nlN/./.// nhN/,///N//NPO B $<J0yH/ITvNXO&.(.//// nhN/9:/96//N//NPO B $<F0y/NXO&.(.//// nhN/9:/96//N//NPO B 9lR,9# 9lR#~D#AC~BB 9#@!@#@ !@ E .".B/<@`//NP//NT>PO4Nm EW@L<|DN^NuNVH /(#$##b#Z09yg #L` #~L09tH"Ҁ A PNBy20y2lMK4,#A  N:J@gp`pIE~D?//G2N(I?/9/9N(BU0Ul,E29tH Ё r>NJ@f RU0Um0Uf092H/9/NYPO63,29490BgxC??? yN\O`L?</909,Hx/N23,@89Θ@??9?9 yN3.`LA(9ِA(9ِ(9ٹA(9ِRy20y2mdB@L|NuH<8z89DDkIHGEBy. 9&DBBTlT64//NPOJ@m00S@609R@4"D/"D/NPOJ@lp`"RBֹJTmJy.g SDFJDlB@L n !A/*/N@f n !A$nN^NuH80(POPORBye y B` ?<Ng TOL Nu//NTvXO//NUPO/NVFXO//N,//NT>POPONuH00#?PbM,#0By~0E "*BB//GSZNJfP *"* BB//NJf6 *"*BB//NJf *"*BB//NJgA4C$)&) !C$)&)!B!C E$$&$$$&)$%C/ / / / CN6@E~8B/PO60H/NTvXO////NS,//NLPOB/NPO8I *"*B/<@Y//NNB/<@//NP//NPO(IH/*/*NPO8By49yo^EGBR`8N:J@gp`B??N4?9t?N h???N4bRR49HRnRS49SnB@LNu%s: OVERFLOW error NVH?<,... /<9/<@.B//NSZJo^=|$<-B-F-GHnNNXOJ@f/Hy,z,/Nt3?-|B-|0w;v`^/NPO=@///NENB/<@0//N-@-A/./.NPO4BB//NSZJl*0D@HAT/0/0B/B&/lFD(/lFD0HD:HC2HDt&ڄdR6HCЃdRHBHE4҂4/ vm 0H@BAHAvm 橔g BЃJfJgD` p3L|NuH>B$/lFDvz /!pm 6BBHBHCpm ચg Bր"/lFDx!z p㈲nlRSfJgDL|NuJyg:0|293F9gA`A22|@LHNuJyg9f Nu g<R0|293NuH<:/ y~H0/2vCAHڀBD6FC4/2z0: @o0 @fJBgDBXB zBA00XCgD1XTJRAIm zBA00XCgD1XTJRAImLBB`BB//NSZJf BB`B/BB`D/<^V/-D-E`:EP////N//Hy4?<NL$////N-@-A .".L-|B-|0w;v`6Hn//NZ\EP/ &.(. *.,.BB//ESZNJnBB//NJfBB//NJo`//NT>PO$/NTvXO////NSZJfnEQ//NPO//NA////NP//N,gBBL|N^NuNVH< $.&. (.*.BB//ESZNJoBB//NJn`BB//NSZJl "` //NQL 4.*.,.0H$n &(*`*////NP/*///NQ&(QJ0SBJ@n "L|N^NuNV. .". N^NuNV. .". N^Nu%s: DOMAIN error NVH?0$.&. BB//NSZJf BB`BB//NSZJlPBn-|-B-CHnNNXOJ@frHyHzxHyNt3>BB`HHn//NZ\*,EP/<9"/<@UG//NGQ/<6/.@0l/.HǏ?//Nl-@-A .".L N^NuNVB@N^NuNVH?<-n-n -n-nAC0H@6@0H@=@:|gJnfBB`, B@M BA:@*-hޕʙ"$)x|&<2|BBB캁bec SK~IffTeb8e b0eb*b&0 H倇 (@ $@ .ޑ-@ *f&<RI`JgRfR.gSK0 0 @HPP .!n .".L<,P-FKEBC0HBvRC C ozIGHH0H" n:04H","ЂC KӑӈJCfJDfC$" BCRC C o n n L<|N^NuNVH>0EG2Ip0*2Ip0,JgJfBB` "*$&+HnHn////NPV&.(.gR p rf` І@HRR %D .". L |N^NuAJg /"/NuH> EA$0H<F0H@JFf /$"/(`J@gFoE$A0H<F0H@2@ A5n(*($&*B@@o R@@n pJgD@ pJgD@օՄEJl D@`Jf JfBB`VBAJm RAJlB@R@ @ o %C2F0A @HRR /"/ L|NuNV/./.NQPO///. /.NQN^Nu/CA p$ pe\bRJgCA2Ip0$2Ip0e$b*$ eb$) (dp` cp`p$NuH8A p&2Ip0$" ( oJgp`x xҀ < LNuA pJg////NSD`////NSPONuNV/ .AfBB`NJlD`" <JoSJn@HPP t t!A .".$.N^NuNVH0 CA p2Ip0fp`z2Ip0@HPP ")v$@E$ f2Ip0R@HPP  .L N^Nu////NTPONuNV/CA2Ip0fBB`` p2Ip0@HPP pt!@ .".$.N^Nu//NUXONuNVH? .g|$~". g&~JjDJ jDm **`**BЁg@jD~gRfS`~|Jg`B` . LN^Nu /g NuJg NVT /Nu /"/jJj n mBNungpNupNuNVH? .g". g|$~&~BJj J j (*-DB(*|ٮ(*ٮ(*ٮ .fS`ԃ~|Jg `BLN^NuNVH? .". |$&BJj J j B*<kf fS`JgLN^Nu"Bp2/ g4/gHBBB 4/gЁ2/g4/gHBBBЂ$ NuNVBn . jDRn/ .jDSn/NY$PJngDN^Nu B"Cp$/gN"/gBe>pJ/fQJ/f QJ/fQVvfփԂ`pegf$& Nu`NVBn . lDRn/ .lDSn/NYPJngDJ.jDN^Nu////NY PNu////NY PNuH0"oA 2Ip0 rP6C2Jf fJfBQBB`"PPB/Hx////N[L NuH<0&o$A2Ip0$ bBB /"/ ` 2c"o$o &'JBB` p* "(xvR 2c/@/A B////,//,N[&'AJf JfBB`"/C/D B/Hx//,//,N[L (.*.E$.&. .Jf JfJg`dR ff SgJlpJm|Ɔ`RdR`Jn///Hy[Nttvzx` o///Hy[Nt0@HRR %C .".L|N^NuHxLHyNg0"n,. BEE"&)Jgo8 cRE b (BBRB BoքӀRES`SE g-A-Cp0.=@tvB@2HA60RB Bo".&.SER`p"#CB/.Hx3/)/N[-@-A2Ip0&@ @HRR .".L |N^NuNVH<0$n&n BBBCBBBD  g  fRJ`Jfg$&` -g +f -fvRJJfg&` 9n /n .f4 .fC`$H0@HhHnNgPOJgRBgSBRJ` eg Eg dg DftRJJgn  g  fRJ`JgZ -g +f -fCJg@ 9n /o0@D@@H8A 9o Fg LfRJgD`Dg&BB/./.NSZJfBB`zƅ/H/HnNh:L PONuHxN~,XONuSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec??? ??? ?? ??:??:?? ???? %.3s %.3s%3d %02d:%02d:%02d %04d "ofHyk0HyNdPO`R2) Al???)?)?)0)HA8/00) HA/0HykJHyNu8 <Nu//N/NklPONu0/Ah0g @ Nu0/Ah0g @ NuJog 3`ByNuIllegal file mode. H0 &/ o$oBA49Jgx bgLn +g: ag*`H tg/ NnXOJ@f0?*NTOJ@f B/ /. /.NlX$@ fp`2* ggg gBBBj j LN^NuH0 $oBCg 4* 0@fp`^g / Nn6XO fBBB`/*NBBBXOBj f?*N@TOgp`B@L NuH / g /NoBXO`>BBEHx0B/NY^PO"02 @g/NoBXORB BoB@LNuH8 $oBDg 6* 0@fB@`dJoLg$$B//*?*N g*j@ ` g D?</?*NPOJlxJlj %jB0LNuNVH88(.(D6. SCJCoH$nGBBSk S0R` / NXO* f @ g2 Ag gSCJCnB Affp` LN^NuH< 6/$oBE8* Jlj 0* @5@ 8g`0@PfXf C fv zA"PRR"l  g2 C f,$B%j//*?*N g j@ p`JEg C fv `0L */,/ "/$$o(0* Jl@5@ g@Pfx//NY^PO&$o$b$///*Nfժ؂ڂ JgRd8%j/*/*?*N $ n Jf0<`0<@h `$`//?*N ؀ Jo//NYPO`pL|NuH? ,/ ./$"/($o,z0* Jlj 0* @5@ g@Pf//NY^PO&(*Jgfd ` $//*/NfժՒ f/ NnXOJ@fB(*ڂ܂b//?*N$ gj@ `ڂJo//NYPO`pLNuH0 $o$v2* gg Jg g/ Nn?<B?*N `2g&D`0@fp`$g&?<B?*NPOJlp`ЃL Nu/ $o/ NnBgB?*Nj $_NuH> $o*/ HyvHnEdNHyHnnN ,*f :|BnRLRLAh0Pg0BAAh CfBC0@C@@6A=C0fSLRL?NlHTOxxb8;N@P :|Bn`=|=|`BB`t` t`t`BGEh2g$Eh/."n N6@XOoz2fAh0Pg=|JBfDt BGx%Kft`Tx0Kf0/."n N6@XOoxxKgxXKg tB.v`t`JGf0 B f*x-KW>Gfx+Kf/."n N6@XOo NB(n? Nk?HnnNd8$@POgfZJCf`RSC CgPgJ2B/ /NY^PO"nD,܁/."n N6@XO? Nk?HnnNd8$@POfg4"n$Q GfDJng$`4`Eh2g$Eh/."n N6@XOo2fAh0Pg=|BBEg,<SC Cg~x/Kl x9KmB@`,x.Kfp`"x+Kgx-Kfp`? NlTO @efDp? TOH"0H F pg"A,40/."n N6@XOf|B0HAlJpg4gJ.fBB` HnNjXO"n$QJng $%A`//NUPO$`tg"n$Q4`6.BnB.`ERL ^fRL`=|p ]g -fB@ ]gZBBJg @gnJ@g0`< @g4`4*2AmUJB@Ao B@RAAnp` -W@`B@ ]fB`2Eh2g$Eh/."n N6@XOo2f"n$QJCg2? HnNd8\OoJngJg`J@gJngB`̺g? TO/."n N6@XOo"SCg? HnNd8\OJngJg`J@gghJngBRn`ZSL`BAh0Pg2Eh2g8Eh/."n N6@XOo62f`Kf&/."n N6@XOgXRLJgn|l Jnfp`/.? "nN0.L @fdSJ`BBSk T0R` / NXO+ f @ g @fB @ffp` L N^NuH88&o4+ Bjp`/<32B/ NY^PO&0R@jV@@/<QH/NY^PO$C0T@2lV@@@0g 3~`3~BBkl*I|0H0t/<Q/NY^PORBkm0+@/<QH/NY^PO0+0+8"o$&o(6/,tBFBDHgAh0gRIHfH @+g @-f @-W<FRIJCf v 0f:vRIH @xg @Xf&v` Cf 0fRI xW@f @XfRI C f*< ` Cf*<`*<HgEh2g2A`2grA`raA2A JAmPAoLlxJDf: C f Ђ` Cf ` $0A <lx`(B$ RIHfJFgJDfDJDg3?JFg$<`$<g& L|NuH00$/&/$C6o/ /NZ4POA/ /NYPO$fB/NDXOL NuNV/ ".$n Jl-RD?.//N $nN^Nu0/"/?/ /H/N NuNVH88(n B~,Nj#~,BBByBy TJf ?<NTOJ@gvx???<FNA\OA31|"1|8BB&HE 7B?NTOJ@gR`fRR/ NXORB BotBk RB Bo/./ ?. NE?NX LN^NuNVH 49Bk0H y pNSBjBBEHx2B/ NY^PO"02 @g/NndXORB Bo?.NLTOLN^NuNVJyfHxN4#XO`"09R@H//9N#POJfp`09H y!RyB@N^Nu0123456789abcdef(null)0123456789ABCDEFNVH?<*n-n -|DBnB@&nJ@f0.`\ @%g/.?NpH\O @f8p`:BDBnBnBn|BRB@&nHzxb:;NP$22 |222(0Jf< `D`=]lDnD`<+`R&n *f4`LBBB@&n@f8BA&nGh3g"0@B@@4AR&n0@gSJBlp`0<`PD `HBBBA0@B@@&nRK-KS4A&n0@fGh3f=BS`D`D`D`ITM4|B`<Dg ]`00@$lD<-v `$& F'o"&n gg GfgF=F|'` Ff|BB//NSZJl|-//NQPO$&`B.B.AHh\/B@&n?Hn??//N4@J.g<-J.g ` (@`\g ]6n ` ]0`Dg `2p0$v`$v`(]fIUJFm&6F/ Bg/ NX Jg 4@̼Jl4F` LpJgRJf4@`Dg `2p0$v `*-|\g `2p0$vgJgD@B=FmD(NJfJFgb b H@4@B@H@$&n3Jf` <H//NY$4APO&n3Jf-|Dg Cf 0g<0 2 A4@6 nJgRCgTCnl0.`0<0@0f.Jng(4nl /.?< NpH\O @g.RBnmJg/.H?NpH\O @g g6/.?<0NpH\O @g/.&nH?NpH\O @g0@0 @ f(4nl /.?<0NpH\O @gRBnm4nl /.?<0NpH\O @gzRBnm4 `/.H?NpH\O @gTSBj`/.?<0NpH\O @g6Snjg(4nl /.?< NpH\O @g RBnmnl0.`0n`"/.&nH?NpH\O @gRnR`L.*.,.:|BnHn/. /.NZ-@-AR&E(FSL `~HnB/<@$/./.NN//NZ-@-A/PO0 RnBB/./.NSZJfh0GpЈx"b^8;N@HRhRRRRRRRRRRRRRRRRRRRRRRRRRRRRRHFhJngRLc ܼb`0JBf.g.BB/./.NSZJgJBglHnB/<@$/./.NP//NZ-@-A/./.$KRKNT>PO0 SBgBB/./.NSZJfBB/./.NSZJg/.BgHk/B/./.N^*SB Bg0Q` JngfRLJBf.g.` RLcSBJBfJBf6RLc0BB/.H?Hk/Hn/./.N^*Sn`BB/./.NSZJgv=|HnB/<@$/./.NP//NZ-@-A BB/./.NSZJfSn`/./.$KRKNT>PO0`0JBf.g.BB/./.NSZJgJBglHnB/<@$/./.NP//NZ-@-A/./.$KRKNT>PO0 SBgBB/./.NSZJfBB/./.NSZJg$/.BgHk/Hn/./.N^*SB Bg0Qg.fd #0g .fSKRK??./ NP&@`JBfRBnm@JnfHBB/./.ESZNJg,/<C-/PO0 BB/./.NSZJg`hBB/./.NSZJgRHnB/<@$/./.NP//NZ-@-A/./.$KRKNT>PO0 SBfBB/./.NSZJg/.BgHk/B/./.N^*.gSB Bg 0Q`JFgd #0g .gRK0 ELNAXO8l DD3xVCkh C?nb0HAT"Ҁ$0( B@@ @fJ(g /0(NXO2HAT Ё000B0LNu 9D@NuH?0:/$8VDjp` D?n22HAT Ё0 B@2Ag AW@`~|??/?<BNA &@~BF??/?<BNA Jgn~g3%BC`vBG??/ ?<BNA D?nBJCg 2HAT Ё00`2HAT Ё00 0L NuH< &/8/:/??/?<BNA Jl 6DC3L<.$. 6. CgJn?/?N`?<B?NPOJCf(`(؀?/?N&POgdJl?<B?N&PO*Hx/Ng08/ $/"*/&v&B?NTOJ@f$/ /??<?NA JlD@3p`#j38n?NTO9%gR9%g0H??NXO  fBy8` o ~nRy8RozNJ@gnRK`9%g  f 9(f$9%gH??N8XO&Bv?< `,9)f*9%gH??N8XO&Bv?< NTO9%gr9.f ?NTO9%g@  f*9%g ?< ?EN?< ?NBy8PO`H??N8XORNJ@g|`9.fN9%g?<^?EN?<?NPO?NTO9%g,H??N8XO`9*f@9%g H??N84y8XO`?<?NXO0SBJ@n`  g 9+fR9%g@  f*?< ?ENXO9%g ?< ?NBy8`H??N8XO R`vA&gf&JgZSKS9%gJ??NXO`:9'f,Sk"9%g ??NXOSKQBCSdv`9-f^SKJgN  g  fBSKS9%g??NXO`  g$  gSKS9%g ??NXOJfRK`A,fp9%gH??N8XO?< ?EN?< ?NBy8BynPO9%gF$Bc@9%gH??N8XORJb`9%gH??N8XORKRn2 L |NuH8 8/4/BCJl?<M?EN?<-?NBvPO Bnj B fN098@298A6A9%g4SB Bgh?< ?NXOQ`T?< ?N`D?<^?ENB@?` Bf?<^?EN?<??NTCPO`??NRCXOy80LNuH0 6/2o yj0Jlt`BB o f$ f? /9jN498@\O`TB`RBy8SB Bg&?<?EN?< ?N?<?N QL Nu/ o29n4/ SB Bg0JlTA o f gTA` 0@2RAQ0$NuNV/$.rҎ йcp`"9չ$ $.N^NuH0 &/JgJg /NXO` 9`/?<HNA\OJfpL Nu*.*.ttp.prg.tos.g.sh.batNVH?<,.&n BDJf3(p`P.<p/?<NA\OtԎ//Nc BPOpJgRJf4@0J 6\g~JfD .:f<~Jm~Jl .:gSJB6` 6A7|(~'GB B$B`R?<*tԎ/Id8N\OJf?<?/N\OJg3"p` ..fRD~Jl~Jf ..fRD`BDJDgp&BG?/?<GNAPOJ.ghKl~?/ ?<NNAPO:m\ Df?<ONATO:mHHyHnNdXPOJ@g&3!p`v֎~?/?<NNAPO:m E??*N`'@ '@$'@R'yWJH7G(XOg0<@I`0<@69gSm9gS?<./Ne$\OgjHyp/EdXNPOJ@gPHyu/NPOJ@g@Hyz/NPOJ@g0Hy/NPOJ@g Hy/NPOJ@gHy/NPOJ@fSIJlJy gTv֎BG?/?<=NAPO8lDE3p`&~//??<?NA ??<>NAXO n`fSIA'P j~ '@`'|~'GJ.g. .:f&.HAh0g@`.H@`?<NATO7@Bk7| N7@ N7@'|B@L @?n8HAT"Ҁ$0( B@@ @f/. /0(NPO` 3%p$.N^Nu0/"/0o //?N NuH>06/ (/"*/&9%g?NTOJ@f$//??<@NA JlD@3p`$&Dox  f ?< ?EN?< ?NBy8PO`J  fBy8`, o ~nRy8`  f098@R@38H??NXORKSJn L |Nu/ oBB/ /gBAAf `RHSfp$NuH 0$oGBBSk S0R` / NXO* f @ gL Nu?/N?N]XONuH ?<NATOLNuH ?< NATOLNuNVH< n &S:.x//??<@NA LNu0/3NuNNuNNu4b???~\@!TD- Real Portion of Z(0)Imaginary Portion of Z(0)Real Part of ParameterImaginary Part of ParameterPolynomial Degree ( > 2 )Parameter Exponent ( > 0 )Real part of RootImag part of RootReal part of DegreeImag part of DegreeTime StepReal portion of p1Real portion of p2Imaginary portion of p1Imaginary portion of p2BW ??,Ȝ8 q >?@?,8 @@@?Csɔ*q ?Y?@?K Ѐ*"BW ??0ôΔ** @@@?Bsɔ*2q >?@?04*9@ @@?H7$kq ?>@?&64* wq ??@?(4* ҂q =@ff@?2f4* ҍҒҤҶ@?H fff?ٙfff?ٙJ@Ѳ*BW @?Ln *q ??@? MЀ*BW @?Nn *q ??@?OЀ*BW A@%6<Δ* BW A@ '<Δ* (BW @@@@ 1f<Δ* 3BW @?R *@BW @?B *Lq =?fff@?*W @?p*]BW @? *eq ?? @?Ѐ*l AA0HYp 0A00A0HvBW @?Pn *Ӂq =>Q@?QЀ*^ BW ??H\^q >?@?H\ӌ ?33@@?HjhӘBW A@")<Δ* Ӥq ??333@@@@!*4* ӰBW A@$+<Δ* Ӽq ??333@@@@#,4* BW A@&n *@q ?>@@@@%Ѐ*@BW A@( n *@q ??@@@@'  Ѐ*@BW A@*!n *@q ??333@@@@)"Ѐ*@BW A@,#(n *@q ??333@@@@+$(Ѐ*@BW ??./ **q ?@?-0Ѐ*6BW ??0-ôΔ*Cq ?@?/.4*PBW @@@@2n *@Zq =@ff@@@@1 Ѐ*@dBW @@?45 *nq >?@@?36Ѐ*xBW @ ??63<Δ*ԃq >?@@?544*ԎBW @ ??8,<Δ*ԗq >@@?7,4*ԠBW A@:;Fn *Ԫq @@@@9<FЀ*ԴBW A@<9<Δ*Կq @@@@;:4* @@@ @ >c4* @@@ @ =cЀ*&< @Ap?pApA@HP&< @Ap?pApA?HU`&< @Ap?AAHN @@@?yŰɔ* @?yŰɔ* @@?@?&$*@@?@?(T$*%BW?@?GdVΔ*4q>??@?Fd4*B0VCn@?Id.h**J0VCn@?Hd.h˾*S fff?ٙfff?ٙ $*_q ?Y?@?R4*gBW @?M j<Δ*sq ??@?Lj4*BW @?Ol<Δ*Ջq ??@?Nl4*՗BW @?Q6<Δ*գq ??@?P64*կBW @?K<Δ*ս TzTz>@?,V $?n2 @>@Y@9k4???????????***********????????????89:;<=>?EEEE E EEEEEEE#E'E+E/E3E7E;E?ECEH#$%&'()*+,<=>?@ABCDE????????  (6dFRACTINT ST Release 1.0, from PC V12.0 ------------------ Primary Authors (this changes over time) ----------------- Bert Tyler - Programmer-Type obssessed with mind-numbing speed... Compuserve (CIS) ID: [73477,433] BIX ID: btyler Timothy Wegner - Mathematician-Type obssessed with 3D and endless options... CIS ID: [71320,675] Internet: twegner@mwunix.mitre.org Mark Peterson - Mathematician-Type obssessed with fractal types and speed... CIS ID: [70441,3353] Howard Chu - Programmer-type obssessed with Atari STs... CIS ID: [76406,525] Internet: hyc@math.lsa.umich.edu --------- Contributing Authors (SPACEBAR toggles scrolling off/on) ---------- Please press one of the Function Keys to select a video mode and begin an image (or press the [Help] key now or at any other time for help) ... Steve Bennett - restore-from-disk logic Bob Beyer - [71021,2074] Barnsley IFS, Lorenz fractals Lee Crocker - 73407,2030] Fast Newton, Inversion, Decomposition.. Monte Davis - [71450,3542] Documentation Bret Mulvey - plasma clouds Marc Reinig - [72410,77] Lots of 3D options Matt Saucier - [72371,3101] Printer Support Herb Savage - [71640,455] 'inside=bof60', 'inside=bof61' options Scott Taylor - [72401,410] type=formula 'Scott...' formulas Paul Varner - [73237,411] Floating-point fractal algorithms Dave Warker - Integer Mandelbrot Fractals concept Phil Wilson - [76247,3145] Distance Estimator, Bifurcation fractals The following help screens are available 1 - Commands available at the initial Credits Screen and main command level 2 - Commands available at the Color-Cycling command level 3 - Commands available at the Cross-Hair command level 4 - The SSTOOLS.INI file and Command-Line arguments 5 - Descriptions of currently available fractal types 6 - List of Available Video Modes and the keys that select them ( >>> and if you're at the initial Credits Screen, NO FRACTAL IMAGES are going to get drawn UNTIL AFTER you select a video mode <<< ) 7 - Contacting the authors / obtaining the latest versions of FRACTINT 8 - Using FRACTINT with a mouse Please press one of the above keys (or press ESCAPE to exit Help Mode) )J#=&-*&.37a;s>BGKOTY]#azb. >>ANOTHER HELP PAGE IS AVAILABLE<< -- Press the ENTER key to see it. Press ESCAPE to exit Help mode, or Help to see the help menu. Pressing any other key passes that keypress back to your program. (Notation: F1, SF1, CF1, AF1 == Normal-, Shift-, Control- or Alt-F1) >>ANOTHER HELP PAGE IS AVAILABLE<< -- Press the ENTER key to see it. Press ESCAPE to exit Help mode, or Help to see the help menu. Pressing any other key passes that keypress back to your program. I'm sorry, but because of their random-screen-access algorithms, Plasma Clouds and Barnsley IFS fractal images cannot be created using a Disk-based 'Video' mode. Also, Plasma Clouds can currently only be run in a 4-or-more-color video mode. Either press a function key (like F1 thru F5) that selects one of those modes, or press the 't' key to select a new fractal type. (see the Startup Help screens or FRACTINT.DOC for a complete argument list with descriptions): Thank You for using FRACTINT ># <# ?Y=# # ?Y??Y>L;>k>aG?=\)>\)>>u>G=\)?>8Q<# ?Y?Y=?Y??Y>L;L>L>L>?L=\)L>L>L>L>?L=\)?=w 0 qk< 0 ?C5  TV 0@P`p00000000@@@@@@@@Atari Low-Rez Color@Atari Med-Rez ColorAtari MonochromeLo-Rez 256 color@Med-Rez 16 colorHi-Rez GrayscaleENDY s0F\u(:"NLHFB@p$&,/24<BOUbhv}cPd (;Mbm{ ?@???Xl?r<}Q{?8znub8? 1?ަL4"?6*'?HT)?f;?s?B*?đ?蟙Zӭ?݅R?X?expdnrasin?UUUUR?əuI$[?q`Ew3Ms?E͘a!?8atansinhcosh8 @>$q3$#FmH?r ( @3{ !|*?logA?UmV+^r@܄ ޗ4sADU@,W8@qa8fw?sinA3+wEwܜ(\@<&\ $46A3+wEw@zJ@j6>@>?cosdabssqrtmatherrbchjjjjjjjkkkk kkkkk k$k(k, BBBBBBBBBB DDDDDD HHHHHH @0123456789ABCDEF*>OXcw /usr/locgcc_comp__acc_ma_acc_arg__start1_parsear _setup_hD_argv@_argcD3d.odgcc_compd___hugecalcfracgcc_comp___huge _orbit_c_topZ_save_orR_iV_iparmxP_shiftvaN_plasma_L_Red.0_Green.1_Blue.2"_x.3H_y.4J_cXfractalsPgcc_compP___huge(_dem_sta^_dem_end__dem_pt__orbit_delta_pixelwi_mono_outside_MSetDis`X_DistEst_JSetDiseL_squared_deriv_verhulsl_xt_yt_t2_maxarg.\_lxt_lyt_lt2_tmp1.1`_tmp2.2p_start.3<_lcosx_lsinx_lcoshy_lsinhy_lcosy_lsiny_lcoshx_lsinhx_c_exp_O5.4>_realz0B_imagz0W_realparq_imagpar_newtdeg_exponen_realroo_imagroo_realdeg_imagdeg_timeste&_p1real0_p2realC_p1imagV_p2imagn_lt1prompts.gcc_comp___huge_decomp_"_invert_._ifs3d_p>_ifstype^_Distrib`_Offsetb_Sloped_starfief_starfiev_con _distfacconfig.o"gcc_comp"___hugeИdecoder.,gcc_comp,_navail_Ш_nbits_lЪ_code_maЬ_get_nex,_byte_bu_pbytes_b1_curr_si _top_slo_clear_ending_newcode_slotdiskvid.0gcc_comp0___huge_pixelspx_pixelshv_pixelbib_pixelmaR_notpixeB_pixelofr_diskisg8_emmhand"_memoryp(_memoryv0_oldy>_fp4_bytespe@_linehas:_timetod<_pixeloft_oldexpp$_exppage&_expmemo,encoder.9\gcc_comp9\___huge_numsave_palette_palette_palette_out_startbi_clearco_endcode_codebit~_lentest_lastent_hashcod_numentr_nextent_numreal_bytecou|_bitcounz_block_blockcofractintEgcc_compE___hugegifview.(gcc_comp(___huge_fpin_c.0help.ogcc_comp___hugeline3d.oXgcc_compX___huge_zcoord_deltaph_phi.1_rscale._xcenter_ycenter_sclx.5_scly.6_sclz.7_R.8_Rfactor_m.10_lightm.d_lm.12_lview.1$_zcutoff0_twocosd8_cosphi.<_sinphi.@_oldcospD_oldsinpH_oldcospL_oldsinpP_bad.22T_f_bad.2Z_fpixelsf_light_dj_sinthet_costhet_aspect_persp_rXrscal_localpr_p1_p2_p3_start.2 _fp.27rotate.ogcc_comp___huge _Red_Green_Blue_Black_White _Yellow#_Brown&_fsteps.*_paused_crossha_crossha_crossha_crossha_crossha_crossha_crossha_old_cro_crossha_old_crotestpt.ogcc_compcalcmand8passnum@sign@color@period@ix@iy@x@y@a@b@xx@yy@xy@xxmyy@temp@k@kbdflag@kbdcount@oldcolor@savedand@savedinc@savedmax@savedx@savedy@maskloopVpassloop|yloopxloopdojulia doeither(singlepaHloopchec>nokeyquickkbdorbitkeykeyhitwedoneno16bitcyes16bitcode32bi kloopendcode16binoorbit2coloradjcoloradjloop16biloop16biloop16bi nonmax3 6checkper Nmult32bi @mults1 Vmults2 `mults3 tmults4 multl1 multovfl multovfl mults5 start32b end32bit Fend32bit Hnonmax2 8checkorb checksav |checkdon nonorbit helpmsg. gcc_comp general.egcc_compevideo.oi@gcc_compi@___huge_drawpat._oldx1_oldy2_oldx2_oldy1loadmap.sgcc_comps_palNameD_low16_mapload&f16.ov@gcc_compv@_bufp(_count*_state,cmdfiles{_fg166_jxmaxn_jxminr_jymaxf_jyminj_mxmax^_mxminb_mymaxV_myminZ_xoffsetz_yoffsetv_dmx_dmy_x_per_iR_y_per_iN_inch_peJ_inch_peF_initz_bbase_xpixel_jx_djx_ypixel_jy_djy_mx_my_zpixel2_n4_color,_plotted._blank0_initzy~_initzx_dz_dy_dx_initmy_initmx_initjy_initjxmpmath_cgcc_comp___huge_DistribD_OffsetF_SlopeH_con_f/usr/loc,gcc_comp,___hugeL_fpof2tbT_funcnammath68.o/pifg13invpifg1invpifg3ln2fg16ExitIntS0CosDivid0StoreCos0SinDivid0StoreSin1ChkNegSi1ChkNegCo1(CorrectQ14SinPolar1D_e2y1TCalcExp1hOverflow1NegNumbe1ExitExp02 DivideE2 ShiftE2InvertE2lShiftone2PChkSinhS2StoreHyp2multover3Bmultret3Ndivl13divl23divret3vidstuf.3vbaseh@color0@@vplanes@width@dummy@cmult.o5gcc_comp5___hugeclog.o6@gcc_comp6@___hugecrcp.o6gcc_comp6___hugecexp.o7gcc_comp7___hugecdiv.o8 gcc_comp8 ___hugecabs.o9`gcc_comp9`___huge asin.o9gcc_comp9___huge_funcnamatan2.o;Lgcc_comp;L___huge$atan.o<gcc_comp<___huge,_atan_co4_funcnam|sinh.o>gcc_comp>___huge_funcnamcosh.o@_vidstufR_logA_lwrite___dtofT_dabsL_Sierpin$_Juliafp0_potpara_yyadjus_getchf_delx_dely_clscrp~_fpu_getcolo4_lStkPwrl_lStkSqr"_modK_maxI_jbc_lStkLTE:_old_ltmp_coshx_fkeysT_coshy_open_yshift1_fp_pot_flicker_one_new_fp_svall_iystop_fp_ns,_whichim___fixdfT>_Lambdas_LongLam_isatty_fabsL_pixelpi _calcman8_floatloP__subsf3W0_fp_do_FindForD_getpgrp_bad_val_cexp7_outlnФ_storedam_lStkSub_FPUsinc"_getwd_getpid_askvide$_numpass(_helpmesB_ltmp1,_ltmp20_ltmp34___adddfQ_set_Pla9f_argerro!_switche8_reallye<_getuid_lStkMulj_lStkAbs_t16_putx@_lStkDiv,_MPCNewty_adjust2_helpmes_subDivi3_lStkAdd_helpmes_findpat"_ixstart@__baseD_MPaccur _oldcoloH_videoenL___funcs_MarksCpV_bcopyf_enddisk4_lStkCos__start0H_StkLT_helpmes*_readnam_filetyp_lyarray___divdfN_Mandell _show_or=_longvmu>_xshift1=_oldmax1=__ltoa_lStkExp_getcwd0_lStkNeg_NewtonFs_Exp0861_isfunct_lStkLog_plot3daX_iystart=_calloc_lStkMod_goodbye!_vsprintu~_longvmu|_lxarray=_StkMul__itoaF_StkAbs_StkDiv_getenv}`_fromexth_longper_normali V_StkAdd_MPCpow_strrevD___fonts}__maind_shftwriBX_min_orb}_getgid_Complex(T_StkCos___muldfP_symplot1_helpmes۰_Standar_Distanc\_StkClr_funny_gb_Store~_strtolL_plot_se_testend___divsiY_strtodi>_shell_t_mprover~_StkExp_toextrah_StkNeg_usleep^D___divsfXl_Mandel4_RightEy~_fillplo~ _StkLog_set_3d_z_StkLod _magnitu~$__start_~,_periodi~0_StkMod_interpcV_getegid_vdraw_lT_Barnslej___mulsfWp_gifview(_maxvide~4_TwoPi~8_FPUsinh#_strspne_StoPtr~@_bitshif~D_tolowerl___aline~H_calctyp~L_StkSin_fpFormu˾_intForm*_Barnsle6_helpmes_getakeyf4_blue_lo~P_adapter~T_transpa~X_FnctLis_staticr~\__exitL_modulus\___mulsiY^_isconst$_chk_cro_helpmese_icross_ _cross_pt_strcatd___subdfS,_foldxin`_readcon%_foldxinh_symplot1d_longlorU`_MPCcmp _compilep_getGIFm+l_realloc_StkPwr_StkSqr_cdegree$_StkLTE_strcmpdX_FormNamt_helpmesh_MPcmp_strlwr_NotImpl_strchrd8_strlend_s_StkSto_strcpyd_MPCmod",_startdi1,_o_foldyin_StkSub_foldyin_MPCone_fj_findfil"__initia_geteuid_savenam_longparD_aH_helpmesj_bailoutV_cornersʼ_tempsqrL_red_locT_tempsqrX__addsf3VT_SymStr"_FormFil`_initmod_freopenm_video_s_read_ov}r_sprintfu8_file_tyР_lcoeffi__cmpsf2WJ_initinc_t16_fluz__malloc__unixmo___subsfW0_LogFlag_RunFormb_xblock_tab_sta_get_fra_showfil_symplot0_unx2dosc_t16_opew@_MAP_nam___floatTv___eprinu_printft__getbuf_T_inter6_Barnsle_timerfl`_Validats_multipl2_initifsF_symplot0t_StkCosh_floatpad_Starfie+_potentiAV_writedi6_inititeh_check_m_symplot0_ChkLogF#`_MPCrootl_dStkLT@_t16_crevH_yblockp_symplot08_argerro_movestr>_sscanf}:_helpmes"_fractypt__umodsiZ4_rqlim2x_LeftEye_drawboxk6__filbuf_mpd1ove_graftog__ctypeh_spawnl`_strrchre_crtcols_graflog4^_graflog4Z_make_ba_blue_lo_setfortp_expsign_fullscr_display_z_to_thp___ttymo$_putminm_spawnv`v_fungetc___extenVF_putcolo4b_initbat_mat_mul_Gausian h_inversi_initfra_XXOne_initasme_ParseSt_solidgu?x_red_loc_strncpyej__x_Bit_ ___fixunS_suffix_setsymmEj_helpvid_stricmpgb_fullscr_initifs_prefix_find_fr"2_strlocn_floatflP_FgOne_tmpexp_vbflag_diskget8_Printer\_grafphy_initymi_Lambdas6_LongLam_keybuff_grafphy_lclosen_plot3dsZ_OpPtr_inityma_SinZsqu_plot_or;^_initxmi_blue_cr_scrollurt_grafpal_grafpal2_initxma ___DEFAU__divsi3Y__doprntn_ytrans__heapba_signal\__divsf3Xl_strncmpe _Coeffic_overflo_strcspnd_tmpcros,__scanfv_dos2unxc_complexxX_diskwri8l_MandelSȜ_LowerLiD_bad_cod_FgTwoH__mulsf3Wp_LPopcor_Popcorn_palette4_red_cro_lmagnitL_setuid_standarP_Sierpin__numstr_helpmes@_xtrans_t2T_passesd_helptit_guessinh_get_byt6_rindexe_StkSinh_out_link4_UnityFr__mulsi3Y^_eyesepa_buzzers_andcolol_Complex"~_d1overdp_MPOverf_sinnegx_lcompleyL_verhuls|_normalp_initpas_glasses_LongSinF_FloatSi_LongLam_Lambdaef_helpmesx_sqrmpth_set_sys_set_pal_initcyc_rasterC,_lm_vblipg4_get_ifs_vblipc3__modsi3ZH_crtrows__udivsiY__MyMask_rlebuf_MPC2cmp!_get_staV_f_lastr__ultoa_Juliafp4_dStkSinL__sys_ru_rewinds_localti_setgid_console_plasma7$_Lambdac_kbdkeysѨ_loadPal_keypresft_iplot_o:F_history_ltempsq_ltempsq_LogTabl _yshift_daccoun_SierpinѲ_solidgu_dStkPwr$_dStkSqr(_removea_dStkLTE_setcleap_LoadColt_complexw__start_overlay_ifsgetf_longZpo_floatZt,_strnicmg__umulsiY$_blue_br_lthresh_Barnsle__searchi_preview_asctimekl_red_bri_dStkSub:_orbit_p_xshift_RecSortv_lStkLT_printer_helpmes3_JulialoЀ_fnmapfuc_dStkMul"_iterati_dStkAbs_mlalloc4_dStkDiv_FlickFl__iob_f_xcent_dStkAdd__MyBits4X_mpthres_offscre@_checkbl@_biomorpR_Restores_dStkCosF__app_tzsetX_vprintfu_psignal2_showfpo__binmodl,_block_s_lastrow_cycleli_CustomLs_testpt_diskisa_xxadjus_llambda_roverd_dStkExp_dStkNeg_fprintft_l16trig_f_radiu_loaddacm_rotate8_cmdfile{b_perspec _dStkLogp___tchar&_dStkModN_trans_check_k:_UnitySep_MarksCpd_Standar*_scrub_o=_writeh_twopi4_Std4dFr_unlinka_SinhCos2(_filter__pausero_f_ycent_initpar_spindacm_llimit2_zline_initsol_goodbye#_MarksJu_inittabB_setforgm_qsort _Sierpin@_get_sys_rqlim _setupma_yyadjus_floatZp_integer_funnygl__Curren4V_set_pix&_Complex&_fscanfu_lambdal_malloc4_yadjust_read_in|_SinZsqu_Barnsle_symmetr@_get_3d_P_plasmamE_ifs3dflb__negsf2W"_rseedD_set_pal_set_pal_memsetf_updatesD~_xdotsH_MathTyph_Barnslel_oldxiniL_teststrP_oldxini_Load_blue_cr_get_fra_NewtonSɔ_line3dz_LodPtr_ydots_daclear_putstril_cmplx2M!_red_cro_get_dec_srand_spawnve^~__child__oktopri_SetColoub_sinhx_sinhy_forcesyT_memcpyf_oldyini_oldyini_buzzerg _param_vmult _spawnle`___modsiZH_matherrN_StandalH_Lambdac_LongLam(_lbcopyf_console_get_ifs_xadjust_sleep^ _roots0_disklin_plot3ds_lorenz3p_noplot2___defau_mktime~<_xxmin_draw_li_lorenz3N_EndInit_Arg2_JuliaFr,_saved_xxmax$_clipcol_lcpoweron_yymin,_unixtim`_Arg14_tab_dis^_memchrX_diskput9_putatri_draw_liȼ_yymax8_diskpri@_memcmpf`_mapset _MPCjuliŰ_julia_p_long_ju_soundD___umodsZ4_showbox_movecurl_setpgrp_insideH_bad_che_fromvidj_tovideoj_lorenz3_close_f_jb_per___init_s\_PerL_preview_init3dP_JuliaSe_decoderx_bof_pp6x_calcfra_slowout_plot3ds_diskvid|_timer=_TrigOveɀ_oldphyɄ_Julibro_rflagɈ_mpctmp1Ɍ_oldpalɜ_lbzerog<_temp1ɼ_raise_paletteF_stat_invertʼ_scale_oldrez_decoder-_scanfu_ExpFloa$_cpowerm~_identitd_timezon_lookatm_ld1over___negdfQ_dStkSinH_ftells(_isatext_etext_frexpZ\___truncU_environ_oldlog_fwriterP_Complex$_atexit_oldmax_floatmi_dotmode_lStkSin_bzerog<_intpoteD_ymin_floatma_sav1_fudge_ldexpl_FormStr_sav2_helppag$_hasconf_llimit_ymax_xmin _height_cross_h2_sqrtL_xmax_putsq._indexd8_freadqt_T_clipc_xres_symPIpl/_zrot_ifs3dge_helpmes._warn_yres _ifs3dlol_fseeks_Bifurcajh_timea`___col_p8_symPIpl/V_read_xrot_dstack$___qmultPV_symPIpl/__stksiz$_test_fullscr_maxcolo(_atan2;L_main_roH0_view,_olddacbD_yrotR__canoni_cmdfile~n_mpctmpD_rand___open_T_Printer_vblq_buzz0_buzz1_sys_sig_xxadjus_buzz2_initcor_BaseLog_savetod9_lroverd_sinx_siny__malloc_plot_signK`_setup_s_fputsp_polyL$_get_inv _temp_sbrk._tell___negsfW"_relallo_ifs3dfi_MarksLa_LambdaF _tmpd_croot4_get_for_colorst_makecon*N_rootx_sinh>_decomp|_Formula._errno_lx0_sinD_ly0_helpmod_fputcpH_parm_dStkCosB_creat_oldq_mpt2_powJT_otherju_juliafp_atan<:_cross_asin9_ctimek_modfZ_helpmesf_save_in_row_toupperk_dacfile_help_lStkCos_clalloc_atofj_lold_vfprintt_XXdots_linit_deltaX_pwr_lnew_deltaY_crcp6___udivsY_creal_dx0_atolg_dy0_fstat_maxit_fColors_exitX_atoig_lread _mainE_delayh~_marksmaB_mandel__long_man_labs_gmtimeL_myvbl _init_cimag_free_Print_S^_setvideq`_degree_lseek_ifs3d_SinCos0/_close_initvidir_cmdarg_nvbls_ramvide_form_peh_homerP_fflushn___cmpdfSZ_alloca_norm[_LambdaF_col_kill]_debugfl_LPTNumb_fopenmN_myvblq_edata@_abs _fractal_clockj_otherma<_mandelfô_dacbox_minmax__closenu _YYdots_divide3T_fgetc_endD_boxcoun_Printer_gets}_compare_min_ind ___umulsY$_rowcoun$_potflag(___addsfVT_fclosend_cosx,_cosF_lStkSin_cosy4___adjush:_ifsfile<_LongLam _potfile_console_t16_gety_iymin_delxx_realtim_delyy_videxits_mpcold_color_mpone_iymax_ifsY___ftodU_fgetso_ixmin_basin_clipcolf_cmpextrh_fullscr_mpcnew_thresho,___cmpsfWJ_cosh@f_teststa_cabs9`_cdiv8 _ixmax4_ltemp8_lsbrk._readdis5Z_exp,_get_fun j_cmult5_ixstop@_clog6@_MandelfΔ_minJ   8 :"   < >>V\ L(h((p (h(4J.L.4\ B@RR*8P$".:(::       R.         &   &   . & * $                        6            $$ 8       P N  P N  P N  P N   : *jX *jX *jX *jX               &  $  @. 2 0 0 J 8 $ l  *"@  ,  *  ,  . @8     $(<  r    *  0$ $ |          (        8  ,           <.    .  0 ".t     . ".t  .  ".t     ".t  > Zd  ,   P(.6666>  t40         L DV $      l           X  , ."4 2 8  (l4<   .J 28  ,pd        $ * <  4  T,4d6P2"\<8 Nr  ^&    28  &$$*    0d"",PF>N(6, Z@ ,<(` "$$*  "& $" *          & "  &     &("" & " ",:&  "@<(H&$  "       V2& "          ><H &  ><H &   ><H &   ><H &  . "<H $      8>"., "               *         8$&*     B$&*         &&<&      $**,&$( ""@ D2" & "                         0"  &  8$ &     8$ & $  8& 8$ &    &  8& 8$ &    &  8$ &      & > :  , " F "  H$(      4*       :`$    :`"      :              ,8 :<2R   D &  : P,:H2  N   2 *$  6P:8 T   0( * H"  . "P8"     D    x  R     " "(* 2        & @            6x $ $ *     ^        (          (   8 N      . .&$@ F&$  $  $   6 " N  `   $    8  T &    ,  X $         " " $ $  <  ,  "  "             8       >            \"   * L   " :(    "*       0   >*0   L$  (  "  "8@      &$".. 4 RP    ,    . (      ,          "  $( (  6     (          *" " H*  >                ( $* *   (&&$        2& .              "$$"&0$D *4     ",$**D<  $   ,8     *&*   d                        2         . "8(  ,           $                   "    *  $F  :    $  R 8   (<  :   N 2 ,$     .  B      "&&,",      *BBN >$ " BDD "  "&2 "      "$  " " 4 . $J && (( f  . "($ "    $     ,           " B4D"  Dt,,&  8 $     2 *@4  . "8 "@( 0 " &    8  &"&"2  4  4L. "&<&&&. $   X,00<.,H<8ZЊ66666666666666666666666666666666666666666666666( 6 (R* Lt 6."       B      " & &  J " J &8  ( 0&t* f@Rl   *$      $        `     d(  `P  $      N. .  ::      ,",h0&nRD@.:"8&   V     .@" * 0Pp.$$ 8  $    $ "  (&( ",,*  ( &     6L   6  R*(`4bB(  H&     F xL 0H:       H ,  "            (    "     &    (  (    (  (  (   (  (   &             $                                       , B<d$$   N $ $$ * $ . & , \V,V,0  ^  "X  "<$ (P< P<P< P0...* 40 , 40 , $ &b0 , " p  : 4 2     F  F 22 (   ( L    "  * *            4*$            && (      $* "H  $("  2   $  @\ VF   $$$ 0 >4 & l  B...8, B..0.L, `F,$&$       bB  0L  x44:>. D"* r &  &H v &0 &H     "     "     8  $(  ,  6 D"* n..H r.,.H     "    " 2 ` ^F    00<(H r..8F .0.v 0hH,4(&4("     0 ,,              0  0  0  0  0 ." > @> & B     ZT ,0  4 >*         """"""  * ...":V$&   &                 06.d0$>6(  ,&     `$&$ .$Z@  $ 0 . Z: (  " $ 0   H*&&:(. .4      $  $Ԅ   >J@ <> $L$@>"> T@>>* &.(@N,R" "$6  t * l * d " .  ,< 6  ^<2$ R<<<  6,0@~"  P< FH$r6NL& 2( 8&":0(("4X2 (D4\" $" N$ (P  D* 2&,",$  :$J  (2L  (B.8 .>2& 0   H,|6|Llr$,(&,:R0"("$v ( 0("&F*x*""$n 0N|8 L. ,.f, L0$4$B *"  Z   "$               2$  ,,X V zR. $ ,  f`ff`faaff`ffffc0330c03 3?3>`gf`faaf`fg003000` 303>`cgfaa`f003000` 303f``ffaa`ff10330130 ???f``a`ffaa``ff``10330131} `ga`30c``1 0000133333 1À33 33 30pp33pp 30003300| 88888<>~<<> c8~~~>~~ cf`ff a`lfp>ff a`f<~~f၆`ff`f၆`ff`f၆`<<>>#`B<<|B~~~Bf8ffBcf8fff~<>c f~f~~~aa`ff``ff`f` f|ff`aa`cfff`ffffp1?aaggfff~<01$af`ff0fff`q1$aaf`ff0ff~`?g~~~~>~~?c~~<|>|a~aa1|1a1 p9a?a?p @@@ @@@ @@@ @@@ @@@11000333033000À003301000 p0s030@@@003030000p !00p@@N00 xpxxx0/p|0/00 0 000|000000`00 0`00@@@x<ff 00 f~f~~~ <<?>? ???00 f|ff` <<003 33000ffffp<fl803 33833fff~<<fl0?3 3?70fff`f0f~033 30 >0ff~`f0f~033 30@@@<~~~~>~~~~ ???33??>~~<|>|~< >33>6~3| @@@ 0pp@@@00pp000|p00p0000000000x0000 00000@@@0 00000 `~f~~~ ||ff`@@@~fffpfff~<0fff`0ff~`~~~>~~~<|>|~ |@@@la`a`` 8?@@@8?afffafg>8>|af3303030~8~~>f~~ af33030f`ffff afc303fpf>fffc3s303f~~><||<>>>`~`| @@@fg  `?g@@@ǀ `?mfff  À`mfg LJ À`o` o `a nc  ̀`af ǀ ̀`ag&    `a8@@@  `aǀπǁ @@@ @@@~~< |~~~ ~~ ff~ fff~<> <<~f~~~ <<|ff`~ flfffp ~ flff~<@@@0ff~ff`0ff~f~`0~~ ~>~~0<< |>|~| @@@ @@@ @@@ @@@ @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@xxxxxx@@xxxxxx@@xxxxxx@@xxxxxx?@@xxx@xxx?@@xxx@@xxx@@x@@x@@x@@x`@@xxx`@@xxx``@@xxx`fg@@xxxg@xaaf`f`af@xa`f`fag@xa`g`fa@xaaf`ff`fa`@aaff`ff`g``@`g?`c`   | ` fcxxp08xx fgxxxxp0x0 fffff`80 80 fff`p8|xxx0pxx| 8x| fg`8xx|0px cf`xx 00x0 cff` 0|00000 ` 0x00x000x ``00``0 |||` 00 ``0 xx`|< x||xx|x`x |   ` ` `` `c ǀ><|<<<l cLJ|>`>>f><` ~ |? West-Berlin, on the 2nd July 1989 Stefan Hartmann This article is copyright protected (c) 1989 and 1990 P.S.: I have drawn some pictures with Degas monochrom of the new screen partitioning and we have made some digitized photos, also PI3 format, which shows the board modification and the switch wiring. wpwppwU33ss   ǃǏ    0 0Ǐ 0 000030`30`0`0a0`0a`0a`0a 009a s00a`30`030`0300 300@000@0@0 0` à 0` à 8` @|~~~~~`ff`fffff `?`f`>`fff`f `?`f`~`~f~`~ `;?0`f`f``f``` g2`f`f``f``` g>~~`~~~~f~`~>>>`>>>~f>`>1>x~~8`<0 ? ?0 Ãp Ã?p 8` ` `? ` gg?@ ?~? DE?""`~??DDp3""<3c7sc7s?DDDD@g"?""`f0`  ~`Ƴ0Ȉ??`30DGDDp?1312"#""0131q~33?Ȉ~33DD~DDH|`"">""(p88À?$DDDDODaf""""'&|``|f?Έ8>fDDDDE>af"""""`JDDDDoF?""""'c#QI?DDDDDDDCE?"""""""C#? G1 ~(~ DDDDDDE$~"""""""8"|?p1|8(|dDDDDDDa$@|""""""G"@|1@|8|?4DDDDDDF8@|b"""""",p|Q`|H|DDDDDDDG|""""""|?Q|興8|DDLp8|b""0p>|q! ~|hǁ~|?dDDx||b"#|q8|hp8|dDPp|b"!@|qG<@|hp@|dG<@|b$8p?|qp8~|hp0~|da0|bG8 0|q >>>|k8?? ???????|d8p03 3333333|hp883 3303303|pp3 3?03?0?|a<3 3003000?|gx3 3003000~|o<????03?0?|03?|x>030|??03?x|0030p8|0030`p|703>`8?|?703>ap|3030g8|3030op|3030| |3030x |????p Ϗ?|??`x Ϗ|` |ax |c |g |~||?|p|`<|`p|`|a?g?o?|x?`?`300?`31?`p33?`0330??`030?`3`31``?0`0x`?0c`0c?0cx|xxx?0c|?0c ?0|~xx?x 00?0x0|||0?0?00?~0`0`?0`0>8~<|?0~8~|~0``f0p`f?0<`f0`f0`f0~<~f?0|<>f?0?0?>0~0~0`880`880`?0<<<|<8<>~<<><~??0|>~~~8~~~>~~>~?0`ffff`ff>0`>ffffp>ff>>0`~ff~f<~~f~>0`fff`ff`ff>0`fff`ff`ff>0~~f~~0>>f|><<>>>>0>0>0>0>0``?>0``>0``>0~|<|<<~<~|<>~~~~~~~~~~~~~>ff~ffff~ff>9ff`fffff?>sf~`ffff~>f``ffff`>f``ffff`>f~`~f~f~>8f>`>p>?>9>s?>>>?>8>p1>1>9;?>s;>?>5>5?81?p11`913`s130030000?0303?ps???@@?@?@@~@~@?@??@?@~@@?@??@@@@@H?@@DDG`;b"#P9QHDDDG"b""#Q @H?D@@DDDG"0b""#QHDPDDDG"0""#!hDPdDDG"0""#?? DPp9DDG  "0p9""# ?  DDPpG ""0n m , 4DD_` ?"""""' xxxx xxxx``Ȍ xxxx``DDDDOL` xxxx``"""/. # xxx|<<|>f8<|~~f8~~~~>~~f~ xxxffffff~ffffffLDDG xxxff>`fff`f>ffff ?.""# xff~`ff~`f~fff~ xfff`f<``ffff<` xfff`f<``ffff<`4DD_DLDDG x~~~`~<~`~~~~~"""""""".""# xxxxx|<>`><>`<>|<>1 xxxxx( xxxxx$DDDDDDDLDDG xxxxx x x x x             ` c?`| ?` ?c???`~ ?? 3w0 3`f03aff` 33> ǀw0 3|<<|>f3>03ag 33???>???8 ~~>~~f?3?????>3faf 3333003    k33  ffff~33330 33?7 3330803    k33 6ff>`f|33308 33; 33?00?3   ǃ c?3? 6ff~`fl?3?0 333 300033   c033 ?fff`ff000 33 3 300033   c0?3 0?fff`ff000 333 3 ? ?0???3ǃǏǏc??? ?0~~~`~c? ?0??3? ?  0>3LJǃLJχc> ?0|<>`>c 0>3  ? >  3330 3 3 1   ?wpwppwU33ss_}}u_MwMW_4CE@7}_}}_O}}5}$=MII}M﾿ᄒ/( / oᄊoメ餀-ik k}}}}}m_}6@m }AM=}}}}5_}M_M@@YA_}k& ), o料i ( }m}_}}5Ca]@PKmQM}}M}M5I@SI@%6@E}kﶾ魀h&h Jᄒko` )) /}}}}_}}7_}@@4SY[}}M}_}5@@ A%I4M}}{kﶾi &$ {&￿゙￾連h ) ( }}5}m7I@`@@@%AS_}}_Om'%}A @5I%_￿レK&  @ iﯾokﶀ$om  ')}}}_}}@@P7AI@@_}}}}}}5 M _@S@AMA5￾o6`i (   ᄒ料 K`( ( (o}}}]}uA5mA%AA_}}}7}}m A@S@@@SAII5﮾k呂/ O  i ( &￾iiH-  }}w}}5  4_@QmRA%}m}}@O|M7PA$@Smw}料k/K< k& mhz& ( }}u}M ]}S@@_@PMSM}}_}mPI%7A@kh H) i >'o . ("m}O}`m@A_}}}}?AMM4@AMRA￾H  h 擄ohh  mh)}}OI$M$[}}}}4IP@IRE5﮾/(  J)ﯾ鯾 H&I/}}}}}Am@I@[M$}}M|4A-SM=ᄒ聆)@  H Ki&ﯾ{h  - o}]4K}ǃǏ@_m}}_}H} Md4[}}￾  kmﶾ￾ " !&kk}}t_nj nj}M7}_}_@A|@MI _k 臘i￿ᄒ-h -o}}_iA4S}4E?_}@A7]S@M}_$ 0-맾K￾ -Km}}_}@}<@A}}m_}4m}}B@MMm4￾? Z h&'o￾oZ 餿}}_@ES@Z@@X7M}_}_}}__}ZA_}5I%7mi鯠Z/[Ii鿾k/Z /{i}}}S} ZP7AM}m4}_}}@]m4Z$M_I}MﶿoZ  ? ho?(Z 鯶Ko}}__$@ZI}Mm}}}@7APMZII ﾿ ,Z -O゙/H /Z ($ }_}m}@ @%ZAm _}}OA=MZAO;iﯾ?H @/Zi!0ﯾミ oZ s0 3 }}}_}}x?AM7ZKM>  }7}}M_`ZA%ӿ03 3ﯾkZi 03 ? kタOZI,033 0}m}@OA}_MQE5_>? }}}}}}]?}$_}xZM5}ok Hm: ᄎﯾ($K}}5}M}}_mASM%2}}_}O}A@4AAE_ A}}鯾kK*@H k'o)￾kﯾoh ~ & i}m_}m}}`~P@}OM7}}}}_}4@5bMIm``O￾kᄎ鿾  /  /﾿^/ ڂh 7 o}}m_}mMh6S4I}}_AM}}}5M}A}I[M@@7@_ﶾH!k連 ) Iﯾkoo{>i/@ }}}_}7}AA7 }}]AmK}_}}}}>M}_}M}_x}@A}P6茶okᄌ Kᄎ)樂鯾﮾ih6oタ)}]}mO}m`?@4}AAM7}}}}M}_mM?A5M=﾿ﯾkio  ￶ ᄒkm L)i-}}}}M}m5]}_p?@@OA%}]}_}]}_M}}? N 5AmSM?i&p! i￾kkレ{זּﶚi :/ ) h K}M}m{}@?4YI%}}_}}}}4}I?}[@@`AI$SM￾8xxx0﮾oﶒ鯂﾿//< Jix0i/{i"h $o}p}}}}5I}}@ $uu6@mSM}p_}m}_m5SAAKM@@@M4x0k禮k連m,}K&  h &Kox|0鯾i-o a ) 0_]}}5_A}@EM@@`M}}a 0}M}[}47CTIM4 0kᄎ* 0o{禮i'B }x_}5}}_m5Ami !@}}xxpx_}M}_}7_iJȳ@￾￾料iooi$`Ϫﯾ禮k?}}_}M}[m5Z\gÃ_}_}m_}M}MA7+aa`f`fff`ﯾ￾kkタ-Kaagkᄒﯾk' &aa`ff}}_}M}_}m}_m5N?cc}}_}}=}Mu_@A@+Pϡ料k3@ ￾連o{馾H }_}_}M}_}E@ G@@@@_}}_}Mu?}'Ё@o茶kタ  ﯾ{i馾&  }}}}_mM}_m}_@}}}m_}M}}@A@@@_M}7ﯾᄒ鯾mh   I￾￾ﶾokh  &i-}}}m}_}M}_}P A@@@_}}}}}u_}M4M`4Pt@@@-M7鯾燎 @鍊￿kﯶk)`$  oi}}m}[}M}Md|@P}5}}u_}MuIm\ @@@￾kᄚ J .  /﮾kﶺmi no oo}_}}_}4M}44@@ @I}E7}}}]}}Km4x[@}@@}}_ki i  i￾kik )&h  -/}}}}}m4M|} }}[}}}}}M}M=_}P_}}@M4믾刺io  {駾o￾k믶i  즿}}}|[}M_`PA_}}o]}}4S}}?@@$i7﾿ﯿ/  4鯶?  ki}=S} @}}}5_{}4@o@PIm /oh@  馿-i/@/ K}6@m66D@@I5}_P@5}^@@ u4￾ , @ i/o,` 餞 u4m@lP@I=}_I_A7@A@ t &ih&JoKh/  7[e}P$@` Me@}@}4P@@`OM44i8 /{o/kim& i$}{A7M0M@@A7MA%_@4@AI5{.$H( !/hih " 4}%6|(@@YE@m4X4@$OI/{&H >   @( [h M I-@ @4AM7}}%7R@4@H@@AAᄊ,h i [/8 ()$E_hL4x4@%I}M@}M4p @H4AM5o H  - o/?鯰```/H(mA}}m@ @}SIEM_M4?}@ @ 4RAw龐￾ o& &J Ko?  i&& 0( H)7-?@ _}4|_4P @@[A$_7%A?xE4Y<x5[@$@}4PA5o o  &(/ H/J&o鯲/  8呂` @( & o_7@P5`@M4P AmAMA@ QH_A// ヨ/    &)_& !kタ o@ h i}mA mo>M}K@APE5MA?_MtA}}MAp@AESOO > h{呂 &o. oIi h&hk & _A5}@}S@@-_@ Sm}M7O}7}_@I}@6M%@7I׿k_?/K//i?  &//Kᄒ@m>J($}MM?}}67M@MPIe}}}m}'}My}M>M}}0@'I4ﶿ H $h/ ﴰ  h mo{>{hk 6/&J M}y E_}}@}_`4Am@@E5}}%M}_w 54IW@MM$S   ﯠH   H$O) >h k mm}?C}7 _}_7]@QI}A7}_O7}7}6@5@   H M/h o(@i k頾k7h|- Ki( }mA} }]PM} m[}m}7Ia<A}Mxm4@M}A4oKo%/ /m) io鿷K鴞 o h KM}Km_} _=@Me7IA_}}I}i4>E@}@m}H@ _aYA}oO& ohO  / hh> &$@ `/h }}Qa4M}x7'@@4_AA}m_My=O7 @@I}@Q@鿦K鴾?>  i( [鿦h// /  MA}7A}@=Mw }M@ }PA 7_}I^OA=}@H7@}MOm/ ~oタ   '/ {|Kタ //}m?my=7x<}M} 7C}}t_M%@}wx}S_x@ @54E?뿲ho& ho&  &< '  l ?}_Me^_E?_7@Mem7}}MM_7i}4SA@77@[m$M}@]$K鿦h :?/$h &h) ok￿/h,?>/ k$k kh oC}y5?A`Xx}}7mA%A?[ES_M?oMm7}A?~}M'_}4AM4_A?WA4_@&鼾K鴀' x<﶐h$o i$ /￶ ￾oo'h ozi i/H( }_}}_mm=A}}SE4A}SKM6o4_M@7}p4Mm$7}A5$AM7J/ooi>I o H%k& { kh/Kᴂ/&x/@  2 m }M=_o]}}}_@ @ _A7@A_}I5_o@7}4[A4Ax`M6}}?@M%4C}$会o'?豈  -餾 ᄒ 頾 x.o o?-mem}_EA }p7`WE4]@=Mm?C}w}]}7} p}|A@S@A$K}mh!h >K鼀&h/)  H ii￾oKkm'h ￾ & iH  K( o}@4y?}4AOx _ _m7}`@@Q}%4_M5]5_A7}my}S} x @ }@}IPA]MA?/ii,| o>-hH)  {iI茶ﯾ{[ &￾4</h  -}PA}5I}Mm7} P|7YXA%A6[}}m}$_}{M@}4xO@ 4S}A4SM5￾i?Ko{o'z( Xi J) JHo￲k/# > /&Ji ('K}}o}_?O7}4@}}}4YMAQA7_}}Im7}7Iy<@M_|@ `QM] $_A@}4}%7tﯾ裸o(&4h> m K  oH-k/h> h/& { )}}}`_M'O}@< YM}hImAIMM[mmO}M'H} 4`7M%}A}AOMI5M4ﯶ˯_ >l  i k￾ ok /{m& [h$i/i/_}Mm5IuPE  }_@ @A}}5}47fa`_M_}A<@M@=A5MPAIE7EI}￿Ka/h. ! & i  i&魦ᄎ₩fa _` |  / iKᄎ)Mi}] t@h@H@Mm}%_m4_}M%\O}_A7A4@4XXm%}M6M%4)>   (-裸  .@>  -iIm7`[MO}}A44mAImm?Im}7S4Aux ^\@@MBA%_}5_[I oh($k&( ik漣i)k,>  ()  )km}=}_?Km_IM\lA-^4QAM}uPYm7eym7RA }@M=Y@@PM5M%樂vo ,&! H I)Jii/o > h k)}_[}4A}H ^]SmK@AE%S_MwI_OA`4A6p_}%M5oﯿ[(& h  タo￿ h&h(&& ik)}7We_}7A}}$A}4}R@QM56}}wEuOZM0hA7IMA5@_MI5i/ )& >$  馿~oKoi8$o  }}}wM_mm%A`m7_M5_}5%m}i}6AE[HMRMO}A@A[[ioO k. 鯿)  k-kkko hk¢  $oiMwiu_e}mh =_}M@A[mw}5}O}=@A?xAA7@AA_k鼖)k j Km{{/ ?o )=mMy}6A_h}@PAS}m}__7MA}}A4o@AI}4ֻkozm& ᅠ6& &o믿~鬾 oo& ({   젷_Om%AM7mP A}@54P[my}M_MmLMA@MI7~M?    ?oiK  (( j&7EA]34`A$u_}߿_}y}6y_ϰX@AAA)' '?` )Kmm2 ` )m4OomK}M_ aMSM6_m}M}A7 aAAMM (o?K  a  $i$io' ? AAM}{}_Y}6}P@ϰ\ADI%AM4o_7}OMPA5O}s4@$@M4 -^okレ鼠Kno6:  i)  Kﭿ'oレoyZ(&  AAPI%[m4a=_}A|v[M@AAM@AQA%4[mu}o_}uIPMI54 _}M@AA}4 )[o@/o (&k>/'h)- ))¢鼢?2_)/  ( RAIAA$M@ __ePA'M7 PAM%AA@YI$M}}5I}S}$TOMA?]4Ah  )[m& 鼞oJj&oi&  k裸h $ )Ki/m k&刺 ?  KM$PI%[MPA a4ImQM$G}y _? AA}5II$SA%XI}_M%}U}Au7@M@@AﭶJi&i-iim6$Jg4￾ > $  iKmI[$+$C @h'/&  (x~}M}_m4AmSm5I}$I% AePAx~_}[IA _MeMm4mOx @@PAx~ﯾ鯠)kom$K  h  x~i J)kikj  Hx}PIm4_m5}m4}_}A}ytI@AxSaIe4Sm5I}A?~MAPx駱[h$kmi$oC(& xi-Jmim[H  ( xI _M5Im}@m@Exm4Mm[m5] @Axmi)o&h  x鯶K餶i o ( x}Mm4_M5m7X AEPxM}M}[}AA? 4@}AAx漣mkj   $xi-{m?&h  }}56}_[@hC4AM}}m=Ay%xAA)k $(  ᄒIh$/o(- A}m%@7AA7@46A|I}}mA-4M_MA@@mi H /(&i  mo mK ( I}M7IA4A'HMI ]AAM}_M}$_I}A4A@ik/o %    ￾im@`6( M}}mAmAMA}4PMR@@A_A4}}?C$}mA5Ii4A5@AA4oI)oi!   /﷿車 連h,H/ (&O}u}AEI}%i}4SA6@A@AW}m}_}4A}E}ImPM@AAM 鿾o oi&H($   oi io)' ( i5]}?}_}m}} /iC}5}}ma``_}}5}}7```f`f`ffaf`ioOfcÃffff$m゚i/fffffgfaaf`ff`````c``c_m7}}4ffg` ffa၆f`cga`f`a`a`a`%6_}}}}7mcff` ffaaf``afccfccfacc`kk/` c`gcio4_}_}}7M_}}_}$kkmK﮾ July 12, 1990 Howdy Folks... This is what you might call a pre-pre-Alpha release of Fractint 12 for the Atari ST. Due to circumstances beyond my control, it's going to be a few weeks before I get a chance to finish all the work that remains to be done. I'm just putting this up now because a few people have asked to see the current program, regardless of its incomplete state... First off - most of the fractal types actually work, correctly even. The exception is any type that says "complex" in the name. The complex math routines are still giving me some hassles... So, a list of don'ts: Don't try the complex fractal types Don't try to save the screen Don't try to restore a screen Don't try to print the screen All of the above are almost guaranteed to crash/lockup your ST, if not blow it up. ( }-) ) Some other interesting misfeatures... On the zoombox, only the horizontal lines are drawn. (Don't ask me, I'm still trying to figure it out. Stupid LineA docs...) The mouse isn't supported yet, you'll have to use the cursor keys. The color cycling code doesn't do anything. In fact, none of the palette setting code does anything, you're stuck with the colors I set up when I last compiled the thing. I'm not including the Fractint 12 doc file. The stuff that works is simple enough to deal with without the docs. If you think you need the docs for something, it most likely isn't implemented yet. I've left the symbol table intact on this copy of the program. If you want to play with the color setup, you can tweak the values in the array at "_grafpal" wherever it lives. This is actually two arrays back-to-back, the symbol names get truncated to fit in 8 characters. The first array is the fore- ground palette in the flicker modes, and the second is the background palette. If you're not interested in using a debugger to tweak the colors in hexadecimal, then you can just forget you read this paragraph. The program will work with any resolution, and also works with overscan. Note that it only works with the version of overscan.prg also included in this archive. (This is a copy of Overscan 1.60 that I tweaked. The original doesn't reset the LineA screen parameters when you do a Setscreen, this one does. You need it if you have overscan and want to toggle low and medium rez.) As a point of trivia - I wrote my own pixel set/get routines, because using LineA was too slow, particularly with the flicker modes. They work fine with my mono & color setups, with or without overscan. If you've got some exotic display type that they don't work with, let me know. And trivia for overscan users - don't use physbase emulation, or fractint won't be able to get the right dimensions for allocating new screens. Rambe ramble ramble... Well, what'd you expect for a doc written at 5:30 am. Sigh. I guess I'd have gotten this program done sooner if I didn't stop and play with it every time I implemented another feature. So it goes... I think it's fun, hope you enjoy it. It'll be finished, sometime. -- Howard Chu hyc@math.lsa.umich.edu ~ |?C:\CLIPBRD\******************************************************** * BeispielProgramm das zeigt, wie man sich unter dem OVERSCAN-Modus * eine 2.BildschirmSeite anlegen kann. * * Karsten Isakovic 05.07.89 */ #include long OldPhys,NewPhys; long OldLog ,NewLog ; long Offset; #define V_REZ_HZ -0xc #define V_REZ_VT -4 #define BYTES_LIN -2 main() { int BpL,MaxX,MaxY; long block,*b,len; asm { dc.w 0xa000 ; LineA-Init move.w BYTES_LIN(A0),BpL(A6) ; Bytes pro Zeile move.w V_REZ_VT(A0),MaxY(A6) ; Breite in Pixel move.w V_REZ_HZ(A0),MaxX(A6) ; Hhe in Pixel } OldPhys= Physbase(); /* Alten Werte holen */ OldLog = Logbase(); Offset = OldLog-OldPhys; /* Offset bestimmen */ /* Wenn der PhysbaseEmulator an ist bekommt man bei Physbase den Wert */ /* von Logbase zurckgeliefert, kann also den notwendig`dSAONEd +@*NN N NLN NN NNN8l,EZpNf/EZpNfr"_tN;AN <8N, m]HH/ m]HHg,EZpENf/EZpNfr"_tN;AN?<NNTUVHH/?<NNT[VHHg,E[p8Nf/EZpNfr"_tN;AN?<NATrAЁNp:N/pN"_NC틘NXE[:p NfC틘NCNXE[Gp AJNJE[SpANJE[VpNf"HANCDNXE[^pANJE[ep ANJE[pp Nf"HANC>NXE[zpNfpNE[}p NCPNXE[pA팠NJE[pA팦NJE[pANJE[pA팲NJE[p A팸NJE[pA팾NJENNEW +@EZR +@pJN\CVNXAV "@pJ mNAVNp~A`Nx m`AH +@~ -~+@pЭ~+@p Э~+@p Э~+@pЭ~+@0-@;@0-@;@0-@;@p~ANNx <.IMGNx"mNN2 <.PICNx"mNN2 <.PACNx"mNN2Q퐰 <~ANQtp-trN@up-u&<:<N/??p-u&<:<NN&8:&Ntgx-t mB0H`x-t mHR-t -ȕtc <~A~NBm0-HH@up-u&<:<N/??p-u&<:<NN&8:&Ntg8-H m~؄BpH`8-H m~؄1HRm mo <~AfN~pAfNBm8-H mf HTm mo0-ml0-H~A함N0-H~A해N0-H~A핮N0-H~A핺NBm0-N&`<0-H0mЈ8-H m؄1H0-H0mЈ8-H m؄1HRm0-İkoY`0-H~A함N0-H~A해N0-H~A핮N0-H~A핺NBm0-N&`<0-H0mЈ8-H m؄1H0-H0mЈ8-H m؄1HRm0-İkoYQ퐞Q퐭Q퐡Q퐠QQ퐢Q퐥Q퐦Q퐧Q퐨Q퐩Q퐴Q퐳QQQQQQQ퐹Q퐺Q퐻QQQ퐼Q퐽Q퐾Q퐿QQQQQQQQQQNuNƜ @p(r`WHV/-*pJ-gp?N0VHV-f,E[p.Nf/E\pNfr"_tN;ANBml;|,;|x;|p;|z;|v;|r;|t;| x;| ;| n;| |;|;|>;|;|;|;|;| ;| ;| ;| ;|;|N;|;|6;|8;|:;|<;|>;|@;| B;| D;| F;| H;| J;|L;|N;|P;|R;|T;|V;|X;|Z;|\;|^;|`;|b;|d;|f;|h;|j;|l;|n;| p;|!R;|;|X;|;|;|;|;|;|;|;|`;|;|D;|L;|T;|V;| F;| N;| H;| P;|J;|R;|;|;|;|;|;|;|;|;|;|;| ;| ;| ;|;|h;|;|;|;|;| ;|;|;| ;| ;| ;| ;| ;|;|;|;|;|;|;|p;|;|;|";|&;|;|;| ;| $;| (;| Z;| ;| ;|;|*;|;|$;|;|;|;|;|;| 2;|;|8;|:;|4;| ;|;| ;|;|;|;|;|F;| D;| ;| ;| ;|;|;|;|8;|;|;|;|;|;|;|;| ;| ;| ;|;|X;|N;|R;|T;| V;|`;|;|;|;| ;| ;|b;|h;| ;|j;|;|;|;|;|;|;| ;|;|;|";|;|;|$;|;|;|&;|NupNprNƢ;@prNƢ;@prNƢ0mЈS@;@prNƢ0mЈS@;@pNNuP퐤PQ퐯||E\p ANJANg?<NArNpNWopN@wpN@xpN@ypN@|-wfQ퐤`P퐤-xfQ`P-yfQ퐯`P퐯AN`$pN@wp-wNCNCNXpNFfpNBgNNuHy NMX@zp-zVHR@WHH/p-zVHR@fp.p-zVHR@WHHgP퐰pJ-gpRf(E\ pHNf/E\hpNfr"_tN;AQNuN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($Bg$m/$m /$m$/$m(/N&?<$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N <r4<N@?<$m/$m /$m$/$m(/N&?<$m/$m /$m$/$m(/N&pNNN8A퀐NVANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($$m0S@fbBg$m/$m /$m$/$m(/N&?<$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N`D?<$m/$m /$m$/$m(/N&?<$m/$m /$m$/$m(/N&NN8A퀐NVANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($$m0S@fbBg$m/$m /$m$/$m(/N&?<$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N`D?<$m/$m /$m$/$m(/N&?<$m/$m /$m$/$m(/N&NN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐭`F-g@ -r$m RN -r$m RN -r$m RN -r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&ACNX0-@#op AN E\opNCNX0-H$m RN @/p N"HAN"Np\NC틘NC"NX0-&@#op A(N E\opNCNX0-8H$m RN @/p N"HA"N"N$m/?-pJ-gp?N$m/?-pJ-gp?N$m/?-pJ-gp?N$m/?-?-p-|?N<0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N$m/$m,/?-HmN$m/$m,/?-HmN$m/$m,/?-HmN$m/$m,/?-?-Hm|Np-|SfP퐪`Q퐪-f0Q퐞Q퐭Q퐡Q퐠Q퐢Q퐥Q퐦Q퐧Q퐨Q퐩Q퐴Q퐳0-H$m,^HH/p4mЊ$m,lp.0-H$m,^HH/p4mЊ$m,]HH0-H$m,^HH/p4mЊ$m,]HH0-H$m,^HH/p4mЊ$m,]HH0-H$m,^HH/p4mЊ$m,]HH$m, \HHg+@$m RpNB+@$m RpNF+@$m RpNJ+@NN8ANPANPA NPA$NPA(NPA,NP0-lrNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐞`F-g@ -r$m RN -r$m RN -r$m RN -r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($0-xH$m RN @/p NCJN"HAN"N?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND0-,H$m,f$m//-/- /-$/-(NO0-,H$m,gV?<$m/$m /$m$/$m(/N&0-xH$m,WHH/0-H$m,WHHg Nv`0-nH$m,f N`0-H$m,fa`0-pH$m,fN/`l0-rH$m,fN4v`V0-tH$m,fN7l`@0-vH$m,fN:`*0-xH$m,fN>@`0-zH$m,fNB:$m RpN>+@$m RpNB+@$m RpNF+@$m RpNJ+@0-|H$m,f;|-g(E\rp4Nf/E\p Nfr"_tN;A0-S@f|NN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐠`F-g@ -r$m RN -r$m RN -r$m RN -r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($0-H$m RN @/E\pNf"HAJNp N"HAN"N0-H$m RN @/E\pNf"HAN"N0-H$m RN @/pNp N"HANE\pN"N0-H$m RN @/E[VpNf"HANE\pN"N?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND0->H$m,f$m//-/- /-$/-(NO0-H$m,f&?<$m/$m /$m$/$m(/N&$m RpN>+@$m RpNB+@$m RpNF+@$m RpNJ+@NN8ANPANPA NPA$NPA(NPA,NPpN pNpN pNr0-6-4-2-N0-rNn$m$$m N:$m$$m $$m$$$m($0-XH$m RN @/E]pNf/Nb&<:<NN "_N"N0-NH$m RN @/E\pNf"HAJNp N"HAN"N0-RH$m RN @/E]0pNf"HAPN"N0-TH$m RN @/E]Ep%Nf"N0-VH$m RN @/E]jp&Nf"N?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?-XN`NN8ANPANPA NPA$NPA(NPA,NP0-`rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -r$m RN -r$m RN -r$m RN -"r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&0-H$m RN @/p NCJN"HAN"NBg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND0-H$m,fN,`V0-H$m,fN"`@0-H$m,fN*<`*0-H$m,f$m//-/- /-$/-(NO0-H$m,f?<$m/$m /$m$/$m(/N&$m RpN>+@$m RpNB+@$m RpNF+@$m RpNJ+@"NN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -6r$m RN -:r$m RN -Fr$m RN -Br$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND0-H$m,fN%d`0-H$m,fN'$m//-/- /-$/-(NO0-H$m,f ?<$m/$m /$m$/$m(/N&$m RpN>+@6$m RpNB+@:$m RpNF+@F$m RpNJ+@BNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -Jr$m RN -Nr$m RN -Rr$m RN -Vr$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND$m//-/- /-$/-(NO0-H$m,f4?<$m/$m /$m$/$m(/N&$m RpN>+@J$m RpNB+@N$m RpNF+@R$m RpNJ+@VNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -Zr$m RN -^r$m RN -br$m RN -fr$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND$m//-/- /-$/-(NO0-H$m,f4?<$m/$m /$m$/$m(/N&$m RpN>+@Z$m RpNB+@^$m RpNF+@b$m RpNJ+@fNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -jr$m RN -nr$m RN -rr$m RN -vr$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND$m//-/- /-$/-(NO0-H$m,f4?<$m/$m /$m$/$m(/N&$m RpN>+@j$m RpNB+@n$m RpNF+@r$m RpNJ+@vNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -zr$m RN -~r$m RN -r$m RN -r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&$m,/ND$m//-/- /-$/-(NO0-H$m,f4?<$m/$m /$m$/$m(/N&$m RpN>+@z$m RpNB+@~$m RpNF+@$m RpNJ+@NN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐢`F-g@ -"r$m RN -r$m RN -r$m RN -r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&0-NH$m,f$m//-/- /-$/-(NO$m,/ND0-NH$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&0-6H$m,f NQ`0-8H$m,f NUp`0-:H$m,f NY`|0-H$m,f Nd`L0-@H$m,f Ni`40-BH$m,f Np.`0-DH$m,f Nu`0-FH$m,f Nzl`0-HH$m,f N`0-JH$m,f NL`0-LH$m,f N`0-NH$m,f NH`0-PH$m,f N`t0-RH$m,f N<`\0-TH$m,f N`D0-VH$m,f N`,0-XH$m,f N`0-ZH$m,f N`0-\H$m,f N0`0-^H$m,f N`0-`H$m,f N`0-bH$m,f Nb`0-dH$m,f N(`0-fH$m,fN`l0-hH$m,fNr`V0-jH$m,fNZ`@0-lH$m,fNӺ`*0-nH$m,fNR`0-pH$m,fN $m RpN>+@"$m RpNB+@$m RpNF+@$m RpNJ+@0-RH$m,fNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐥`F-g@ -&r$m RN -*r$m RN -.r$m RN -2r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?-N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&0-XH$m,f$m//-/- /-$/-(NO$m,/ND0-XH$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&0-H$m,fN`@0-H$m,fN8`*0-H$m,fN`0-H$m,fN$m RpN>+@&$m RpNB+@*$m RpNF+@.$m RpNJ+@20-H$m,f&NN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐦`F-g@ -6r$m RN -:r$m RN ->r$m RN -Br$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&0-`H$m,f$m//-/- /-$/-(NO$m,/ND0-`H$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&0-DH$m,f N`0-LH$m,f N`0-TH$m,f N``0-VH$m,f N`0-FH$m,fN`l0-NH$m,fN`V0-HH$m,fN$`@0-PH$m,fN`*0-JH$m,fN X`0-RH$m,fN $m RpN>+@6$m RpNB+@:$m RpNF+@>$m RpNJ+@B0-H$m,fNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐧`F-g@ -Fr$m RN -Jr$m RN -Nr$m RN -Rr$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&0-H$m,f$m//-/- /-$/-(NO$m,/ND0-H$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&0-H$m,f Np`0-H$m,f N `0-H$m,fN`l0-H$m,fN `V0-H$m,fN#`@0-H$m,fN',`*0-H$m,fN)`0-H$m,fN,t$m RpN>+@F$m RpNB+@J$m RpNF+@N$m RpNJ+@R0-H$m,fNN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐨`F-g@ -Vr$m RN -Zr$m RN -^r$m RN -br$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&0-hH$m,f$m//-/- /-$/-(NO$m,/ND0-hH$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&0-H$m,f N/@`D0-H$m,f N32`,0-H$m,f N6J`0- H$m,f N9`0-H$m,f N=`0-H$m,f NAj`0-H$m,f NE `0-H$m,f NH`0- H$m,f NL`0-H$m,fNP@`l0-H$m,fNS`V0-H$m,fNW`@0-H$m,fN[<`*0-H$m,fN^`0-H$m,fNb$m RpN>+@V$m RpNB+@Z$m RpNF+@^$m RpNJ+@b0-H$m,f"NN8ANPANPA NPA$NPA(NPA,NP0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐩`F-g@ -fr$m RN -jr$m RN -nr$m RN -rr$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&Bg$m/$m /$m$/$m(/N&0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*N?<$m/$m /$m$/$m(/N&0-pH$m,f$m//-/- /-$/-(NO$m,/ND0-pH$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&0-H$m,f Nfl`0-"H$m,f NjF`0-&H$m,f Nn `0-H$m,f Nq`0-H$m,f Nu`0- H$m,f Ny`0-$H$m,fN}`l0-(H$m,fNX`V0-ZH$m,fN0`@0-H$m,fN `*0-H$m,fN`0-H$m,fN$m RpN>+@f$m RpNB+@j$m RpNF+@n$m RpNJ+@r0-*H$m,fjNN8A퀸NVA퀴NVANvANPANPA NPA$NPA(NPA,NPA,NAVN0-rNn$m$$m N:$m$$m $$m$$$m($pJ-gp/pJ-gpFgP퐴`F-g@ -r$m RN -r$m RN -r$m RN -r$m RN$m RpN>$m$$m RpNB$m $$m RpNF$m$$$m RpNJ$m($?<$m/$m /$m$/$m(/N&NA,(-*-,-.-N0-<-:-8-vt$m"N$m/?<N$m"pN$m,$$m/$m,?*NA,$-"-N0A,N$m,/ND0-$H$m,f$m//-/- /-$/-(NO$m RpN>+@$m RpNB+@$m RpNF+@$m RpNJ+@0-$H$m,VHH/$m, ^HHg?<$m/$m /$m$/$m(/N&Bm0-H$m,f;|`*0-H$m,f;|`0-H$m,f;|0-o?-/-$m?$m?NHNN8A퀌NVA퀈NVA NvA퀼NV$m8H"mNNj"m NC틒NX-g:0<\*NC틘N/$m8H"mNNj"_N/A틞C틒,N`6p*NCN/$m8H"mNNj"_N/A틞C틒,NA틞NC틞NX0-J@opA틞NLp\NZgP퐷-gDA틞Ng:E]pCNf/E\p Nfr"_tN;A0-S@fP퐷`Q퐷-g?<NNT+@0-@;@$0-NN&<x:<NN;@&$m0Hj^R@;@"0-Hj^$m40-$S@;@*$m0H``$m0N&<x:<NN/??$m0N8:&N4/??$m0NN8:&N,NrЁ$m0RЈ+@/-?<HNA\+@ -olpNnp$m2m$D$m6mtm$rmNpNnp$m2H4mҊЁ/p$m2H4m$ҊD/p$m2H4mҊЁ/p$m2m$D&$"N0-*&Э$m0RЈ+@H -Э/$m0HR@?$m?0-HR@?/- mNOLx+@ -"-ҭD+@pNnp$m2H4mҊЁ/p$m2H4m$ҊD/p$m2H4mҊЁ/p$m2m$D&$"N -"-A틞NN`(E]pNf/E]pNfr"_tN;A/-?<INA\`$m0@o0E]pBNf/E^;pNfr"_tN;A$m4$m0@o0E]pBNf/E^;pNfr"_tN;A$m4Hx}?<HNA\+@ -n,E]pNf/E]pNfr"_tN;A`+m <|ЭN` mp0T -o]pNnp$m2m$D$m6mtm$rmNpNnp$m2H4mҊЁ/p$m2H4m$ҊD/p$m2H4mҊЁ/p$m2m$D&$"N0-*S@;@p$m2H4m$ҊDN&`Bmp4m"ЊN&`|0-&Э$m0RЈ0mЈ+@0-H0m*2-&HNЭ0mЈ+@ -_HH/ <}Э^HHg -N m0Tm0-kozYRm0-koVYpNnp$m2H4mҊЁ/p$m2H4m$ҊD/p$m2H4mҊЁ/p$m2m$D&$"N"- <}A틞NN/-?<INA\`` @g @g( @NqNN8ADN2A@N2A-<-:-(-&-t$mDԒr$m@ҒN\+A+B-g$ -*-(-&-t$mDԒr$m@ҒN>VVAVN -r$m4 RN -r$m4 RN$m4 RpN>$m8$$m4 RpNB$m<$NE^ApNfC팠N//-/-NNA탘0B0A탠0B0A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24Nv/??A 24Nv8:&NA 00ACN(NA 00 <r4<ANA 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l( <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnzA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn`0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgHE^FpNf/Nl mcWHH/ mbWHHg0-N0-NNuE^MpNfC팠N//-/-NNA탘0B0A탠0B0A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.AN AN <3332<334<AN&A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mndA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnJ0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg8E^RpNf/Nl mcWHH/ mbWHHg0-N0-NNuE^YpNfC팠N//-/-NNA탘 fff fgA탠 fff fgA탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.AN AN.ANACNvN6A 00ACN(AN.A 00 <3332<334<AN&A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE^^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^epNfC팠N//-/-NNA탘 333 33A탠 333 33A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A8C NAN.A 00 <r4<AN.AN AN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A C8NAN <3332<334<AN&A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mntA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnZ0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgHE^jpNf/Nl mcWHH/ mbWHHg0-N0-NNuE^qpNfC팠N//-/-NNA탘0B0A탠0B0A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A8C NAN.A 00 <r4<AN.AN AN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A C8NAN.A@ 00ACN(/??AC@N(8:&NAH 00AC@N(/??ACN(8:&N,AP 00AHNA 00APC""A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE^vpNf/Nl mcWHH/ mbWHHg0-N0-NNuE^}pNfC팠N//-/-NNA탘 fff fgA탠 fff fgA탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A8C NAN.A 00 <r4<AN.AN AN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A C8NAN.A@ 00ACN(/??AC@N(8:&NAH 00AC@N(/??ACN(8:&N,AP 00ACHN(/??ACPN(8:&NAX 00ACPN(/??ACHN(8:&N,A` 00AXNA 00A`C""A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl4 <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgxE^pNf/Nl mcWHH/ mbWHHgD0-N0-NNuE^pNfC팠N//-/-NNA탘 fff fgA탠 fff fgA탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A8C NAN.A 00 <r4<AN.AN AN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A C8NAN.A@ 00A 24Nv/??A@ 24Nv8:&NNA 00ANA@N.A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 ٙ A탠 ٙ A탨 A탰 BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0S@;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvAh 00A 24NvA 00AChNAp 00Ap 24NvA 00AhvN0AN.ANAvN0AN.ApN.A@ 00AN0AN&AN&A 00AN0A@N&AN&A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mn&NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn@0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg4E^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 333 33A탨0B0A탠 A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@AN/??A//N8:&N4A 00AN/??A//N^8:&N4A@ 00A 24Nv/??A 24Nv8:&NANANAN.A@N <3332<334<AN&A 00A@C""A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mn.A,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE^pNf/Nl mcWHH/ mbWHHg0-N0-NNu -HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn>0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg&E^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 A탠 A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24&<x:<N/??A 24&<x:<N8:&NA 00ACN(vN6A 00 <r4<ANA 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp!l <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mn`A,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnF0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg.E^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 A탠 A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24&<x:<N/??A 24&<x:<N8:&NA 00ACN(&<:<NA 00 <3332<334<AN&A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp!l <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnVA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn<0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg$E^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 z GA탠 z GA탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24Nv/??A 24&<x:<N8:&NA 00ACN(vN6A 00 <3332<334<AN&A 00A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp!l <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnjA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnP0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg8E^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 fff fgA탠 fff fgA탨 fff fgA탰 fff fgBmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvAh 00A 24NvA 00AChNAp 00ANApN&<:<NA 00ApN/??AhN8:&N,&<:<NA@ 00A 24AN ANFA@ 24AN A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mn4A,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^pNfC팠N//-/-NNA탘 fff fgA탠 fff fgA탨 333 33A탰 333 33BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvAh 00A 24NvA 00AChNAp 00ANApN&<:<NA 00AhNApN&&<:<NA@ 00A 24AN <r4<ANA@ 24AN A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mn8A,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg E^pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_pNfC팠N//-/-NNA탘 333 33A탠 333 33A탨 333 33A탰 333 33BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24&<x:<NAh 00A 24NvA 00AChNAp 00ANApNNA 00 <r4<ApN&A@ 00A 24AN A@ 24AN A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp!l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mnTA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn:0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg(E_ pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_pNfC팠N//-/-NNA탘0B0A탨0B0A탠0B0A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00ANA( 00 <r4<AN&A0 00A0C(N&<:<NA8 00A8C NAN.A 00ACNAN.A 00 <r4<AN&A( 00ANA0 00A0C(N&<:<NAN&A8 00A C8NAN.A 00ACh""AhCN(/??ACN(8:&NA 00ACN(/??AhCN(8:&N,A 00ANANA 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_!pNfC팠N//-/-NNA탘0B0A탠0B0A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24Nv/??A 24Nv8:&NA 00ACN(NA 00AC"" < ě2<4<ANtANA 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g<8-H m؄4pHHR4-p"N8-H m؄4pHHR4-p"N0-mnlA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnR0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg:E_'pNf/Nl mcWHH/ mbWHHg0-N0-NNu -HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_.pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_5pNfC팠N//-/-NNA탘0B0A탠0B0A탨 fff fgA탰 fff fgBmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvAh 00A 24NvA 00AChNAp 00ANApN&<ٙ8<:<N,A 00AhNApN&&<ٙ8<:<N,A@ 00A 24AN <3332<334<ANA@ 24AN A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mn.A,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_:pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_Ap NfC팠N//-/-NNA탘0B0A탨0B0A탠0B0A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvA 00A 24NvA 00 <r4<AN.ANAN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A8C NAN.A 00 <r4<AN.AN AN.A 00 <r4<AN.A( 00 <r4<AN.A0 00A0C(NAN.A8 00A C8NAN.A 00ACh""AhCN(/??ACN(8:&NA 00ACN(/??AhCN(8:&N,A 00 <3332<334<ANA 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_JpNf/Nl mcWHH/ mbWHHg0-N0-NNuE_QpNfC팠N//-/-NNA탘 A탠 A탘C탨""A탠C탰""BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""A 24NvAh 00AChN &-HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_XpNf/Nl mcWHH/ mbWHHg0-N0-NNuE__p NfC팠N//-/-NNA탘0B0A탨0B0A탠0B0A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@AN0Ax 00AN0A턀 00A 24DBN6A턈 00AN/??A턈C턀N 8:&N4NA 00AN/??A턈C턀N8:&N4NA@ 00ANAxN.ANANAxN.A@N <3332<334<AN&A 00A@C""A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mnA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_ipNf/Nl mcWHH/ mbWHHg0-N0-NNuE_ppNfC팠N//-/-NNA탘0B0A탠0B0A탨0B0A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@A 24NvAh 00A 24NvA 00AChNAp 00ACpNA 00AhNApN&A@ 00A 24AN <3332<334<ANA@ 24AN A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRpl <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mnVA,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn<0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg*E_vpNf/Nl mcWHH/ mbWHHg0-N0-NNu -HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_}pNf/Nl mcWHH/ mbWHHg0-N0-NNu -HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn^0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgFE_pNf/Nl mcWHH/ mbWHHg0-N0-NNu -HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn 0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg0-N0-NNu -HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_pNfC팠N//-/-NNA탘0B0A탠0B0A탨0B0A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@$m0Hm;@$m0Hm;@$m?N6$m?NRmBm8-H m؄00H;@8-H m؄00H;@0-NAN.A탨N&A 00A 24NvA 00Rm0-NA탸N.A탘N&A 00AC""p+@ACN(N6NAN.AN&A 00ACN(&<3338<33:<N,A@ 00A 24ANA 24A@N <3332<334<AN&A 00A@C""A 24nDBA 00A 24nDBA 00 <r4<AN/ <r4<ANfRp l <r4<AN:/ <r4<AN:g8-H m؄4pHHR4-p"N0-mn`A,8-H:-H<-H>-HNA,4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnF0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg4E_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^ApNfC팦N//-/-NNA탘 A탠 fff fgA탨 333 33A탰 333 33BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00A턘 24NvA턠 00A턠vNA턨 00Rm0-NA탸N.A탘N&A터 00 <r4<A터NA털 00A털 24NvA 00A터NNvA턠N& Bl`8A턠CN /??A턠CN A털N&8:&N4A턨Ng`BmBmBmnBm|vAChNA 00ANAN.A@ 00A터CN A 00A턘C@N A 00A 24NvAh 00A 24NvA 00AChN &<x:<N@fR-v -(vcJx-v mp0HJf4-pm2-mN0-mnFA,8-H4m؊:-H<-H4m܊>-HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg E_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^MpNfC팦N//-/-NNA탘0B0A탠0B0A탨0B0A탰0B0BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00 -HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHg0E_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE^YpNfC팦N//-/-NNA탘 333 33A탨 fff fgA탠 A탰 fff fgBmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0S@;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00A턘 24NvA 00 <r4<A턘N&NvA 00 <r4<A턘NNvA 00Rm0-NA탸N.A탘N&A터 00 <2<4<A터N&NvA 00 <z2-HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg`0-N0-NNuE^epNfC팦N//-/-NNA탘 A탨 A탠 A탰 BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0HjR;@$m0HjR;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00 <Q2<4<A턘N&NvA 00Rm0-NA탸N.A탘N&A터 00 <Q2<4<A터N&NvA 00ACN &-HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mnn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHgZ0-N0-NNuE_pNfC팸N//-/-NNA탘0B0A탨  <r4<A탘N&A탠 00 <r4<A탨N&A탰 00BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0S@;@$m0S@;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00A턘 24NvA턠 00A턠vNA0 00Nv0-mnNJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_pNfC팸N//-/-NNA탘 =p A탨 G { <2<4<A탘N&A탠 00 <2<4<A탨N&A탰 00BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0S@;@$m0S@;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00A턘 24NvA턠 00A턠vNA0 00Nv0-mnNJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE_pNfC팸N//-/-NNA탘 =p A탨  <2<4<A탘N&A탠 00 <2<4<A탨N&A탰 00BmBmA탘C탠NJBnDB/??$m0N8:&NA탸 00A탨C탰NJBnDB/??$m0N8:&NA 00$m0S@;@$m0S@;@RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-NAN.A탨N&A턘 00A턘 24NvA턠 00A턠vNA0 00Nv0-mnNJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgE_pNf/Nl mcWHH/ mbWHHg0-N0-NNuE`pNfC팸N//-/-NNA탘 =p A탨 Xy = <n2-HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgA,NE`pNf/Nl mcWHH/ mbWHHg0-N0-NNuE`p NfC팲N//-/-NNBmBm$m0S@;@\$m0S@;@X$m0HjR;@$m0HjR;@0-N&<x:<N&<x:<NN;@`RmBm$m0Hm;@0-@;@0-H$m2H4mҊD;@0-N/??0-`N8:&NA@ 00A@ 24NvAH 000-Hm;@ZRm0-N/??0-`N8:&N m 00 m 24NvA8 00AHC8NAX 004-^g$AHC8N NvAXNAP 00`BmVAP 24nDBN( mf 0HVHR@f$4-Zp2-mN4-Zp2-mN0-mn A,8-H4m؊:-H<-H4m܊>-HN0-H$m2H4mҊD/A,$2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgA,NE`pNf/Nl mcWHH/ mbWHHg0-N0-NNuE`p NfC팲N//-/-NNBmBm$m0S@;@\$m0S@;@X$m0HjRS@;@$m0HjRS@;@$m0Hm;@0-@;@0-Hr4mҊA;@d0-N&<x:<N&<x:<NN;@`RmBm0-N/??0-`N8:&NA@ 00A@ 24NvAH 000-H$m2H4mҊD0m␈S@;@0-H2-H4mҊA;@ZRm0-N/??0-`N8:&N m 00 m 24NvA8 00AHC8NAX 004-^g$AHC8N NvAXNAP 00`BmVAP 24nDBN( mf 0HVHJ@f0p2-dH4mܒЁ/4-Zp"N4-Zp2-mdN0-mnA&8-ZH$m:H4mڊ<-ZH>-HNA&4-H2-HN0NJVHH/N&UWHHgLNHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@N0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgA&NE`pNf/Nl mcWHH/ mbWHHg0-N0-NNuE`pNfC팲N//-/-NNBm0-@;@$m0HjRS@;@$m0HjRS@;@0-Hr4mҊA;@d0-N&<x:<N&<x:<NN;@`0-HD;@`0-N/??0-`N8:&NA@ 00A@ 24NvAH 000-H2-H4mҊDm;@0-H2-H4mҊA;@Z0-H2-H4mؒA;@b0-HD;@0-N&`40-N/??0-`N8:&N m 00 m 24NvA8 00A8 24NvDB/??AH 24Nv8:&N,/??0-`NA8N.8:&N,/??0-`NAHN.8:&N/??0-`N mN.A@N.8:&NAP 00AP 24nDBN( mf 0HVHR@f$4-Zp2-dmN4-bp2-dmNRm0-ܰkoYNJVHH/N&UWHHgNHmN0-S@WHH/0-U@WHHgP0-HD;@0-HD;@ m0 m0$m0HjRS@;@$m0HjRS@;@N0-n Rm0-oh0-\HH/0-԰m_HHg;|b mcWHH/ mbWHHgA,NE`pNf/Nl mcWHH/ mbWHHg\0-N0-NNu %A0B0A Rn PA텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-ta{A텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-tap/??$m0ap &<x:<N8:&am0/??$m0ao&<8<:<N8:&alann;@|0-vao/??$m0ao&<x:<N8:&al/??$m0ao|&<x:<N8:&alvan ;@x$m0aoP/?? <r4<A텈auV8:&auZA텀 00+m~`NJVHH/N&UWHHgFNHmN0-S@WHH/0-U@WHHg m0 m0+m~N0-n$A텀"maoamH+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@aoam+@0-xHѭ0-vH_HH/0-~H\HHg$-"-pN m 24nkp`p`pam|/?? mCao"AajJBnDBar8:&aoA@ajAh 00 mCajA@ 00Ah"m""Spot -n;|b mcWHH/ mbWHHgEaPpNf/Nl mcWHH/ mbWHHg0-N0-NNup9NC팾N//-/-NaBm+|p~A ֡ aA I ^5A '/ WA텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-talf/??$m0alV&<x:<N8:&aiz/??$m0al,&<8<:<N8:&ai$aj;@|0-val/??$m0ak&<x:<N8:&ai/??$m0ak&<x:<N8:&ahajT;@x$m0ak/?? <r4<A텈aq8:&aqA텀 00+m~`NJVHH/N&UWHHgFa}HmN0-S@WHH/0-U@WHHg m0 m0+m~a}0-n$A텀"mal$ai+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@akaiN+@0-xHѭ0-vH_HH/0-~H\HHg$-"-pa}X m 24nkp`p`pai/?? mCaklAagFJBnDBanZ8:&ak\A@agAh 00 mCafA@ 00Ah"m""Spot -n;|b mcWHH/ mbWHHgEaXpNf/Nl mcWHH/ mbWHHg0-N0-NNu0<10NC팾a>//-/-Na{Bm+|N ~N~A 00A텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-tah/??$m0ah&<x:<N8:&ae/??$m0ah&<8<:<N8:&aeag";@|0-vahj/??$m0ahZ&<x:<N8:&ae~/??$m0ah0&<x:<N8:&ae*af;@x$m0ah/?? <r4<A텈an 8:&anA텀 00+m~`~NJVHH/N&UWHHgFazfHmN0-S@WHH/0-U@WHHg m0 m0+m~az0-nA텀"mahae+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@ahJae+@0-xHѭ0-vH_HH/0-~H\HHg$-"-pay mNAp 00ApNA@ac/?? mN8:&acApac macAh 00 mCacbA@ 00Ah"m""Spo| -n;|b mcWHH/ mbWHHgEa`pNf/Nl mcWHH/ mbWHHg0-a~~0-a~zNu0<11NC팾a{//-/-NaxLBm+|8~A y A + IA =p A텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-tae /??$m0ae&<x:<N8:&ab4/??$m0ad&<x:<N8:&aaact;@|0-vad/??$m0ad&<x:<N8:&aa/??$m0ad&<x:<N8:&aa|ac;@x$m0adV/?? <r4<A텈aj\8:&aj`A텀 00+m~`NJVHH/N&UWHHgFavHmN0-S@WHH/0-U@WHHg m0 m0+m~avV0-n$A텀"madabN+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@adab +@0-xHѭ0-vH_HH/0-~H\HHg$-"-pav m 24nkp`p`pab/?? mCad(Aa`JBnDBag8:&adA@a_Ah 00 mCa_A@ 00Ah"m""Spot -n;|b mcWHH/ mbWHHgEahpNf/Nl mcWHH/ mbWHHg0-az0-azNu0<12NC팾aw//-/-NatBm+|~A 0 A +j gA D A텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-taaj/??$m0aaZ&<x:<N8:&a^~/??$m0aa0&<8<:<N8:&a^(a_;@|0-vaa/??$m0a`&<x:<N8:&a^/??$m0a`&<x:<N8:&a]a_X;@x$m0a`/?? <r4<A텈af8:&afA텀 00+m~`NJVHH/N&UWHHgFasHmN0-S@WHH/0-U@WHHg m0 m0+m~ar0-n$A텀"maa(a^+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@a`a^R+@0-xHѭ0-vH_HH/0-~H\HHg$-"-par\ m 24nkp`p`pa^/?? mCa`pAa\JJBnDBac^8:&a``A@a\ Ah 00 mCa[A@ 00Ah"m""Spot -n;|b mcWHH/ mbWHHgEappNf/Nl mcWHH/ mbWHHg0-aw0-aw Nu0<13NC팾atB//-/-NapBm+|X~A ě A bM A ff fgA텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-ta]/??$m0a]&<x:<N8:&aZ/??$m0a]x&<x:<N8:&aZra\;@|0-va]N/??$m0a]>&<x:<N8:&aZb/??$m0a]&<x:<N8:&aZa[;@x$m0a\/?? <r4<A텈ab8:&abA텀 00+m~`NJVHH/N&UWHHgFaoJHmN0-S@WHH/0-U@WHHg m0 m0+m~an0-n$A텀"ma]raZ+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@a].aZ+@0-xHѭ0-vH_HH/0-~H\HHg$-"-pan m 24nkp`p`pa[/?? mCa\AaXJBnDBa_8:&a\A@aXjAh 00 mCaX>A@ 00Ah"m""Spot -n;|b mcWHH/ mbWHHgEaxpNf/Nl mcWHH/ mbWHHg0-asZ0-asVNu0<14NC팾ap//-/-Nam(Bm+|m`~A wX eA S MjA A텈 zG  mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-taY/??$m0aY&<x:<N8:&aW/??$m0aY&<x:<N8:&aVaXN;@|0-vaY/??$m0aY&<x:<N8:&aV/??$m0aY\&<x:<N8:&aVVaW;@x$m0aY0/?? <r4<A텈a_68:&a_:A텀 00+m~`NJVHH/N&UWHHgFakHmN0-S@WHH/0-U@WHHg m0 m0+m~ak00-n2A텀"maYaW(+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@aYvaV+@0-xHѭ0-vH_HH/0-~H\HHg$-"-paj m 24nkp`p`paW\/?? mCaYAaTJBnDBa[8:&aXA@aT&<:<aTAh 00 mCaTxA@ 00Ah"m""Spof -n;|b mcWHH/ mbWHHgEapNf/Nl mcWHH/ mbWHHgr0-ao0-aoNu0<15NC팾al//-/-NaibBm+|$~A ě A bM A0PB0 A텈0B0 mBhBmF;m“t0-@;@v$m0Hmt;@z$m0Hmv;@~0-taV8/??$m0aV(&<x:<N8:&aSL/??$m0aU&<x:<N8:&aRaT;@|0-vaU/??$m0aU&<x:<N8:&aR/??$m0aU&<x:<N8:&aRaT(;@x$m0aUn/?? <r4<A텈a[t8:&a[xA텀 00+m~`NJVHH/N&UWHHgFagHmN0-S@WHH/0-U@WHHg m0 m0+m~agn0-n$A텀"maUaSf+@0-|Hѭ0-tH_HH/0-zH\HHgRA텀C@aUaS"+@0-xHѭ0-vH_HH/0-~H\HHg$-"-pag, m 24nkp`p`paS/?? mCaU@AaQJBnDBaX.8:&aU0A@aPAh 00 mCaPA@ 00Ah"m""Spot -n;|b mcWHH/ mbWHHgEapNf/Nl mcWHH/ mbWHHg0-ak0-akNup1NCai//-/-NaeA탘 A탠 A탘C탨""A탠C탰""A터 Ʀff ffA턘  ;|!2BmBmA탘C탠aOJBnDB/??$m0aR8:&aXA탸 00A탨C탰aOdJBnDB/??$m0aRV8:&aXzA 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-aQA탸aSA탘aNA 000-aQAaRA탨aNA 00A 24NvAh 00A 24NvA 00;|00-2ar`AChaN8A터aNpA 00AatPAaR^A턘aNNA 00AC""A 24NvAh 00A 24NvA 00AChaM&<x:<aMfRm00-0koXY0-2m0n$4-p2-mac|4-.p2-macj0-mnNJVHH/N&UWHHgLacHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@ab0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapNf/Nl mcWHH/ mbWHHg0-ah0-ahNup2NCae://-/-NaaA탘 A탠 A탘C탨""A탠C탰""A터 =p A턘 ;|!2BmBmA탘C탠aKJBnDB/??$m0aN8:&aTA탸 00A탨C탰aKJBnDB/??$m0aN|8:&aTA 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-aMA탸aO(A탘aKA 000-aMAaOA탨aJA 00A 24NvAh 00A 24NvA 00;|00-2an`AChaJ^A터aJA 00AapvAaNA턘aJtA 00AC""A 24NvAh 00A 24NvA 00AChaJ&<x:<aI,fRm00-0koXY0-2m0n$4-p2-ma_4-.p2-ma_0-mna}JVHH/N&UWHHgLa_&HmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@a^0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapa}4/Nl mcWHH/ mbWHHg0-ad,0-ad(Nup3a}Caa`//-/-Na]A탘 fff fgA탠 fff fgA탘C탨""A탠C탰""A터 Ԁ uA턘 qp ;|d2BmBmA탘C탠aGJBnDB/??$m0aJ8:&aPA탸 00A탨C탰aGJBnDB/??$m0aJ8:&aPA 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-aJA탸aKNA탘aG>A 000-aIAaK,A탨aGA 00A 24NvAh 00A 24NvA 00;|00-2aj`AChaFA터aFA 00AalAaJA턘aFA 00AC""A 24NvAh 00A 24NvA 00AChaFB&<x:<aERfRm00-0koXY0-2m0n$4-p2-ma[4-.p2-ma[0-mnayJVHH/N&UWHHgLa[LHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@aZ0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapayZ/Nl mcWHH/ mbWHHg0-a`R0-a`NNup4ayCa]//-/-NaZ"A탘0B0A탠0B0A탘C탨""A탠C탰""A터 Q A턘 ;|!2BmBmA탘C탠aDJBnDB/??$m0aG8:&aM&A탸 00A탨C탰aCJBnDB/??$m0aF8:&aLA 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-aF@A탸aGxA탘aChA 000-aFAaGVA탨aCFA 00A 24a}~Ah 00A 24a}fA 00;|00-2af`AChaBA터aBA 00AahAaFA턘aBA 00AC""A 24a|Ah 00A 24a|A 00AChaBl&<x:<aA|fRm00-0koXY0-2m0n$4-p2-maW4-.p2-maW0-mnauJVHH/N&UWHHgLaWvHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@aW0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapau/Nl mcWHH/ mbWHHg0-a\|0-a\xNup5auCaY//-/-NaVLA탘 A탠 A탘C탨""A탠C탰""A터 G zA턘  Q;|(2BmBmA탘C탠a@6JBnDB/??$m0aC(8:&aILA탸 00A탨C탰a@JBnDB/??$m0aB8:&aIA 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-aBfA탸aCA탘a?A 000-aBDAaC|A탨a?lA 00A 24ayAh 00A 24ayA 00;|00-2ac$`ACha>A터a? A 00AadAaBA턘a>A 00AC""A 24ayAh 00A 24axA 00ACha>&<x:<a=fRm00-0koXY0-2m0n$4-p2-maT4-.p2-maT0-mnarJVHH/N&UWHHgLaSHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@aS40-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapaq/Nl mcWHH/ mbWHHg0-aX0-aXNup6ar CaU//-/-NaRrA탘 A탠 A탘C탨""A탠C탰""A터 G zA턘  Q;|!2BmBmA탘C탠a<\JBnDB/??$m0a?N8:&aErA탸 00A탨C탰a<&JBnDB/??$m0a?8:&aEA탸a?A탘a;A 000-a>jAa?A탨a;A 00A 24auAh 00A 24auA 00;|00-2a_J`ACha:A터a;2A 00AaaAa? A턘a;A 00AC""A 24au4-.p2-maP,0-mnan8JVHH/a}NUWHHgLaOHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@aOZ0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapam/Nl mcWHH/ mbWHHg0-aT0-aTNup7an0CaQ//-/-NaNA탘0B0A탠0B0A탘C탨""A탠C탰""A터 fff fgA턘0B0;|o2BmBmA탘C탠a8JBnDB/??$m0a;z8:&aAA탸 00A탨C탰a8RJBnDB/??$m0a;D8:&aAhA 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-a:A탸a;A탘a7A 000-a:Aa;A탨a7A 00A 24aqAh 00A 24aqA 00;|00-2a[v`ACha7&A터a7^A 00Aa]>Aa;LA턘a7A탘a0.A 000-a2Aa4A탨a0 A 00A 24ajDAh 00A 24aj,A 00;|00-2aS`ACha/tA터a/A 00AaUAa3A턘a/A 00AC""A 24aiAh 00A 24aiA 00ACha/2&<x:<a.BfRm00-0koXY0-2m0n$4-p2-maD4-.p2-maD0-mnabJVHH/aqUWHHgLaDNuEapab//-/-NaCA탘0B0A탠0B0A탘C탨""A탠C탰""A터 =p A턘 A7 K;|!2BmBmA탘C탠a-JBnDB/??$m0a/8:&a6A탸 00A탨C탰a,JBnDB/??$m0a/8:&a5A 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-a/2A탸a0jA탘a,ZA 000-a/Aa0HA탨a,8A 00A 24afpAh 00A 24afXA 00;|00-2aO`ACha+A터a+A 00AaQAa/A턘a+A 00AC""A 24aeAh 00A 24aeA 00ACha+^&<x:<a*nfRm00-0koXY0-2m0n$4-p2-ma@4-.p2-ma@0-mna^JVHH/amUWHHgLa@hHmN0-S@WHH/0-U@WHHgBmBm0-S@;@0-S@;@a@0-n 0-mn0-m_HH/0-m_HHg;|b mcWHH/ mbWHHgEapa^v/Nl mcWHH/ mbWHHg0-aEn0-aEjNu0<11a^CaB//-/-Na?//-/-Na;`A탘 A탠 A탘C탨""A탠C탰""A터 A [A턘  ;|(2BmBmA탘C탠a%JJBnDB/??$m0a(<8:&a.`A탸 00A탨C탰a%JBnDB/??$m0a(8:&a.*A 00$m0HjR;@$m0S@;@$m0Hm;@0-@;@RmBm0-Hm;@0-H$m2H4mҊD;@.Rm0-a'zA탸a(A탘a$A 000-a'XAa(A탨a$A 00A 24a^Ah 00A 24a^A 00;|00-2aH8`ACha#A터a$ A 00AaJAa(A턘a#A 00AC""A 24a^*Ah 00A 24a^A 00ACha#&<x:<a"fRm00-0koXY0-2m0n$4-p2-ma9,4-.p2-ma90-mnaW&JVHH/af`A,aS$m,/ND0-4H$m,f$m//-/- /-$/-(NO0-4H$m,g2$m Rpae+@$m Rpae+@$m Rpad+@$m Rpad+@?<$m/$m /$m$/$m(/N&Q퐛$mBR0-8H$m,f$mBR m~~|zxvpdtr0a:>+A+B+C+D+E+F$m0H`@P퐛$m4cQ퐸`D-g,Eap-aRd/E^;paRVr"_ta?;A`;|-g4EbpOaR,/Eb_paRr"_ta?;A0-U@fP퐛0-S@f0-Hm;@,;m,.0-.@;@,0-mlF0-,a P&<x:<aM Bf JAfЀfSm,0-.:-,8-6-t2-a8h`D0-.a &<x:<aL Bf JAfЀfSm.0-,:-.8-6-t2-a8"p2-a8@;A;B;C;Dpa:pa:pa:0-H0mЈ6-m4-2-a9 m0 m0$m4P퐛P퐸`;|-g4EbpOaP/Eb_paPr"_ta>;A0-U@fP퐛0-S@fZ$m0@pl$m4p$m0@pl$m4p0-ml@$m0a&<x:<aK BfJAf Ѐf$mSR$m0@$m4`>$m0a&<x:<aKh BfJAf Ѐf$mSR$m0@$m4$m0$m:$m8$m6t2-a6p2-a6;A;B;C;Dpa9@pa9Jpa9H0-H0mЈ6-m4-2-a7 m0 m0$m4P퐛Q퐸` @g @g @g`-gb0-:H$m,WHH/0-H$m,fp.$m0^HHg`QxaQA퀨aLAVa9Q퐛$mBR$mBR m~~|zxvpdtr0a6D+A+B+C+D+E+F$m0H`P퐛$m4cQ퐸` -g`;|-g(EbpOaNZ/Eb_paNLr"_ta;;A0-S@f0-Hm;@,;m,.0-.@;@,0-mlF0-,a&<x:<aIZ Bf JAfЀfSm,0-.:-,8-6-t2-a4`D0-.aD&<x:<aI Bf JAfЀfSm.0-,:-.8-6-t2-a4\p2-a4z;A;B;C;Dpa7pa7pa70-H0mЈ6-m4-2-a5R m0 m0$m4P퐛P퐸`;|-g(EbpOaL/Eb_paLr"_ta:R;A0-S@f@$m0@pl$m4p$m0@pl$m4p0-ml@$m0a&<x:<aG BfJAf Ѐf$mSR$m0@$m4`>$m0a&<x:<aG BfJAf Ѐf$mSR$m0@$m4$m0$m:$m8$m6t2-a2p2-a2;A;B;C;Dpa5pa5pa50-H0mЈ6-m4-2-a3 m0 m0$m4P퐛Q퐸$mBR` @g @g @gf-g`M?<NpaKCa/Ca=:BgA /?<` 0-H0mĐ8-H m؄1HRm0-İkoY`H$m W+@$m W+@$m$ Z+@$m( Z+@ -Э+@ -Э+@0-Hl 0-H+@0-Hl 0-H+@NuaHAXaCAaDAaDA aDA$aDA(aDA,aD$mX l0-bra,$m$$m a-J$m$$m $$m$$$m($pJ-gp/pJ-gpFgP`F-g@ -r$m RaV - r$m RaV -r$m RaV -r$m RaV$m RpaV$m$$m RpaV$m $$m RpaV$m$$$m RpaV$m($?<$m/$m /$m$/$m(/aa@A,(-*-,-.-a1-gA팈t$m Ԓr$mҒa/`p0-<-:-8-vt$m"a+p$m/?<a $m$"p$mҒЁ/$m("p$m ҒЁ/A팈(*|$m ܒ~$mޒa0vP$m"pa+0$m,$$m/$m,?*azA,$-"-a.x$m, l*EbpaC/E\paCr"_ta0;A`J?<$m/$m /$m$/$m(/aj0-hH$m,f$m//-/- /-$/-(NO0-jH$m,f?<$m/$m /$m$/$m(/a$m RpaT+@$m RpaT+@ $m RpaT+@$m RpaT+@AVa,A,aB`E6aE|AaAAVa, mcgXvptraR`paL>vptraRNpaL,v ptraR>Aa=Aa=A0a=p$mUfVp$m4RЊ$m0 RaQjr$mR$m0 RaQ p$m4RЊ$m0 RaQ@r$mR$m0 RaP`Tp$m4RЊ$m0 RaQr$mR$m0 RaPp$m4RЊ$m0 RaPr$mR$m0 RaP`AaAAaDa>Aa9 ma7r/?? m 24DBa7b8:&a$aA`>`>a>JAa9 ma72/?? m 24DBa7"8:&aa@`=aa> Axa9A\a9@A`a: Aa9Aa9Aa9Aa9Aa9Aa9Ada9Aha9Ala9Aa9Aa9Apa9Aa9|$m\ R0("$m4p$mxJgp/AaJ^HHg$mBR$m0o$mxgB$m0H~AaFzA X$m`$$m0H$m`"R$m\ Ran"m\ m`"$m\ R0(H$m\В$md$ax @ ($mh$$md 0| $mh $m\ R0($m4$m0H$m\В$ml$$m\ R0(S@$m4$m\ R0(S@$m4$mBR$m0a)Z`n$m0$ml"a $m0H$ml RaK@`$m0H$ml RaJ$m\В$m2H$ml RaJ$m0H$ml RaJ/$m0H$ml RaJ @ $m\В _ $m0H$ml RaJ/$m0H$ml RaJ @ ($m\В _!@$m0H$ml RaJh/$m0H$ml RaJT @ ($m\В _!@`p$m0H$ml RaJ,$m\В$m2H$ml RaI$m0H$ml RaJ/$m0H$ml RaI @ $m\В _ $m0H$ml RaI/$m0H$ml RaI @ ($m\В _!@`^$m0H$ml RaI$m\В$m2H$ml RaI:$m0H$ml RaIj/$m0H$ml RaIV @ $m\В _ `v$m0H$ml RaI4$m\В$m2H$ml RaH`J @g @g @g @g @g @g @g> @g @g @ g$mRR$m0koY$mBR$m0a&`6$m0H$mdВ/$m0H$mdВ @ $m\В _ $mRR$m0koY$m\ R0(S@$m4$m0R@on$m\ R0( H$m\В$mp$$mBR$m0a&@`6$m0H$mpВ/$m0H$mpВ @ $m\В _ $mRR$m0koY$m\ R0( S@$m4$m0R@o$m\ R0(H$m\В$mp$$mBR$m0a%`j$m0H$mpВ/$m0H$mpВ @ $m\В _ $m0H$mpВ @/$m0H$mpВ @ P $m\В _ $mRR$m0koY$m0a`7a 24&8:BgnpNu<ngfDcpNufAcpNu 24&8:BgmpNu<ngfDdpNufAdpNu 24&8:JBgfDf EfpNuJEgpNupa JkpNupNua6AHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&ah&8:DE`DEx`aT` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu 24afpNu 24afpNu>jDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`BNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu` ha 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xaR`aL` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`8 <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a`)TJ_LkNuTJ_Lja&8* <r4<`dHL aJBfL aVgLJBjDBaL8a@a)>DBNuLJBjDBaL8a"`) fNup`72 248o6" <(<BJd@؄ЄCӁeg,e Єf`fҁecRH@hrH@NuNup`6 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aBH&0rHGGdHGGdSWDу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?`?<`@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KbMyIO:HQ <-H*,`N,d 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`Va8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa ~a:``peahp`(p?a(araxaHz?< NA\?<LNAfCR2A0A82r22a`"<ȴ0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` NHz ?<&NN\Nu9gNuWNuaaa a O: n*N`D`JNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<a tgBAp`!NuNu?<OA`d?<IA`Z0<H Ia"Lt Ig Og Ug Ag Rg*afNup`a"p`+0afHRa"n>Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< Bha B2"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`(:HE:a`4JVHHarЁЀ`z@`z8H@0`z(a^*d2d2d"d""d""""d"`""""""""""""""""QjNup"X2g6C/ !UAk$!Q"_Nu @$@JfS a`QNu$Aa`QBNuHPHQ0(ika $I _aIUd4Id4Id$Id `$$$$Q _Jf,aId4Id4Id$Id `$$$$Q @NuSavIdIdId`Q @Nup `$/ a>$I> _a4G` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `$ aSAfNuag`af`ae `ac` acpNuadpNuaLSAkfUANuH HPhkJa> $I _a&IUd4Id4Id$Id `$$$$Q @JgSL`QNup `#laAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu|H`|i`|l@H~|``ze`z`zd@H>|`Jth`tpa ".Nutj`t@H|`*rk` rf`rg`r5=@|0`~*@-AH|`t)`t` tr`t2`t@-A=B|`tN@`t,@-A=B|`H@-@|p`HAHBHCHDHEHFHG-HfAD-HH@-@H|p`rAD-@f-H `zr6 @`&<x:<aaHJjNuAG` AI`AJH|=@ `8z`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`n\n^648HH`prt`pn\n^n\n^8HH`prt`H"_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-|ՈH-|՜L`|Nu-HN@?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na222-IfHVMF,_Nup `T np`??/ a, > _a4$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&<:<`2g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNu Lx6oFCe0FC BdЄe!Nu B/dHDDdAFGH 0000X0000X0000HSG~2gtLx0a Q&_NuSAkA> A1@H<`Lp`Ha-_\NuBJAgLPDEFbGb?HXaL0S@k@> AP"G0(JgRJ)@g1@2fJ2HPL<P0aH W1@A00 pia=|@pia _C""pe`,?4<6HPa _2tLx0a=n|=| pia0.2paH\P`PH|SCSDABH0`S@k@ A=pfNup?a0QLa`S@k.@ A0gBP=@apga$p aZJ@fnpahQ`B\Lrt`vNuHS&I. FVa8.:.L4.RBĴ@cBnaL4.RBŴAcJSA=A`@pJ.afrJk8 Eg,2. pg  qfL=A=Apjrta`8a>`2 d. Vg" gt gZ gn fPSnjBn`D=@0.n\=@0.R@S@n^=@prtaDRn0neBna(Q>j4&_NuBn`?<HyNM\`Rn<SFEneSn`2NuS@kD@ AC0g.?a$=_p 2.aL6Fgavp `p`p`NuBS@kl@ A=Pa=| pha4L`4p-@"<$&HA-HH-HLBnpmrt`<Hz ?<&NN\Nu n2MJFo`JGo\H 8N-@-@ p-@*-@-@ H0H00(L=B=B&=CC=C=C$tBft=B=B(NuaHz ?<&NN\NuL n2M(8N-D-D x-D*-D| J@jpJAjrRBhe4(RChe6(@otAop=@=@NAXOJkpNu0< aF`0< CF2p`hp a0`p CFp`TaCF"p`FHza `Hz"J`4B.@=|DNua.@FpAR@C` B.@=|DNuB.@a=GDgNup`Jg$_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&8:` &8:@ABHaNL8aTL8 DBa@L8O <jDFJEjDEFn ffAbtNu&8:a`&8:a`Ѳ 246jDC C b H&<;)8<\:<aaHa6R/@L&Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu9HHNu9`D@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuaj0fpNu\@`a`]@><CF Ipa<0HNuat`]@><CF Ipa Nu?|`?aR0R@f|0aHJFkHPa _Nupo`,HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`apJANuag `af`apNuapNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`DJAkfgRer?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(HNuax:ffNuarNua J[HHNu:nfa@ z^0NuJg6$:Pf,H?<"NNT&@p/&xra :,ga &Lr`r??Q@vHyNM\0Nu#rNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`؅X`$_  IaHR"H @`̘؄*؄؅AHNu؅X`$_ IaHR"H` .*NuSAjrA@A0HNu@a0Nua!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`#$HrYa͆pYaLaHpY`* :/rYaVpYaHyp?o?<?NAO JkpY`/a `H.gZ <r4<?k"SWgan`TL8HaTa > $YH|L  $ D,\LDL & @-t$    ,, ,- -0 -R     0 %L  , @-*h(((  ( , ( H ' d' '' !? @-=;    (& D2  `  |    &  2   $ @& \2 x   & 2    < X& t2     & !2 ' + @-)8'T p     ' 0 @-., 4Pl'         0  L  h '   / @-- +      !# !,  !H   !d  !# '! & @-$!"!! " "("D "` "|  " " ""# #$#@#\'#x $ @-"# # #  # $ $   $<  $X  $t   $  $ $ $ '%  $@-"% %8%T %p%% %% %  `-- @.+%)  )@&&@.# @.#  @&4& @.*# @.8#  @&P& @.F# @.T# &l ) @&@.b @.p &$@&@.~ @. E&$& ' '0 ''L"  'h- '-- '- , '(.'.%' (((,( (H( (d( / @.-(+( /+/D+/p(  /y (  /|( / ! (#   /,  @.) )(  )D)` )|, @.*)() /(/#)(%) (, @.**(*$ /  *@!*\ #*x 0 $ * ! * " * & 0: * $+  +  + @.)+<'+X 0W +t!+ +$ 0i  + ! + # , ! , ( @.&,8$,T 0# 0 , @/ *,p(, 0' 0&11111(1) 1*111213191:1;1C1D1E1`1a1b11)111)11111111112(2))2*2S2T)2U2}2~(222(222(222222p22222223333 3 33333333$3%3&3.3/3038393:3@3A3B3I3J3K3R3S3T3[3\3]3d3e3f3l3m3n3v3w3x3~3333 333333333333 333333 333333333333333333333344 p4 4444444 4!4"4(4)4*4142434F4Gp4H4Q4RA 4S4Z4[4\4c4d4e4l4m4n4u4v4w44A 444444444A 444444444A 444444444444p444444 455 555555 55&5' 5(5152 535<5= 5>5E5F5G5P5Qp 5R5T5U5V5X5Y5Z5\5]5^5`5a5b5d5e5f5h5i5j5l5m5n5p5q5r5t5u5v5y5z5{5~5555555555555555555 555555555555555555555555566666 666 66%6& 6'6.6/606=6> 6?6C6D6E6I6J6K6O6P6Q6Y6Z6[6i6j6k6r6s6t6{6|6}66666"666"66667777%7&7'7L7M%7N7a7b7c77%777777777777777777%788'88<8="8>8^8_ 8`88!888)888)899)99-9.)9/9:9;q 9<9C9D9E9Y9Z9[9d9e 9f9p9q 9r99p9999999999999::p%:: : : :&:':(:N:O&:P:u:vp%:w:~::::-:::0:;;;;/;0-;1;`;a/;b;;3;;;1;;;(;<<&<@<<0> >,>L>l>>>>? ?,?L?l ? ? ? ? ? ? @ @, @D @\!A"!ABB(BHBhBBIm Hauptmen befinden sich (neben den sechsIcons der verschiedenen Bildtypen) folgendeButtons:, , dieButtons fr dieses Hilfemen und . Zu welchem Thema des Konfigurationsmensmchten Sie Informationen erhalten: Positionen der Dialoge merken: Grow-, Shrink- und Move-Box aktiv: Sicherheitsabfragen aktiv: aktueller Pfad: eingestellter Pfad: Mit diesem Button verlassen Sie dasCHAOS-STUDIO.Mit diesem Button erhalten Sie Informa-tionen zum Programm, Autor, Copyright.CHAOS-STUDIO - HAUPTMEN Typauswahl KONFIGHILFEAUSGANGInformationen zum ProgrammxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxProgrammautor : Ren A. SputhKreuter Strae 8W-8209 SchlobergxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEine ausfhrliche Anleitung gibt's beimAutor fr alle registrierten Anwender. In der Datei STUDIO_2.TXT steht mehr...zurckPickover-Mengenz=z^2z=z^3z=z^4z=z^5z=z^6z=z^7z=z^8Ambe 1Ambe 2AnikAsja 1Asja 2Asja 3Asja 4BerylBizarroCyrusJacinthaPriscaSyraThyraUniversumVicenteWunderlandZdenkaLexaClioEhmiRojaEvazurckApfelmnnchenz=z^2z=z^3z=z^4z=z^5zurckApfelmnnchen-ZoomRoute A:Zoom 1Zoom 2Zoom 3Zoom 4Route B:Zoom 1Zoom 2Route C:Zoom 1Zoom 2Route D:Zoom 1Zoom 2zurckPsycho-BilderKreiseDer SternKleeblattGlitzerDer PfauLinien 1Linien 2Linien 3zurckMandalas123456789101112131415zurckJulia-MengenJulia 1Julia 2Julia 3Julia 4Julia 5Julia 6Julia 7Julia 8Julia 9Julia 10Julia 11Julia 12zurckBild sichernIMGPICPACAbbruchUnterbrechungWindowweiterProgrammeinstellungenPositionen der Dialogboxen merkenGrow-, Shrink- und Move-Box aktivSicherheitsabfragen aktiv allgemeine Einstellungen aktueller Pfad C:\CLIPBRD\ eingestellter Pfad C:\CLIPBRD\ Pfadvorgabe beim Speichern sichernHilfezurckbyeDie Konfigurationsdatei wird geladenDie Konfigurationsdatei wird gesichertKatastrophe: xxxxxxxxxxxxxxxxxxxxWenden Sie sich bitte mit einerFehlerbeschreibung an den Autor.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxHilfstextezurck CHAOS-STUDIO 2.05 KONFIG AUSGANG Was soll das?zurckZum Bewegen der DialogeMaustaste gedrckt haltenund Rahmen verschieben...Informationen zum KonfigurationsmenzurckALLGEMEINE EINSTELLUNGENPFADVORGABE BEIM SPEICHERN DER BILDERInformationen zum KonfigurationsmenzurckWENN DIESER MENPUNKT SELEKTIERT IST, WERDENDIE POSITIONEN DER VERSCHOBENEN DIALOGE WHRENDDES PROGRAMMLAUFS GESPEICHERT.WENN DIESER MENPUNKT SELEKTIERT IST, WERDENDIE GRAFISCHEN SPIELEREIEN DES GEM GEZEICHNET,ANDERNFALLS SPART MAN VIEL ZEIT BEI LANGSAMEN STs.WENN DIESER MENPUNKT SELEKTIERT IST, ERSCHEINENHINWEISE UND - AN KRITISCHEN STELLEN IMPROGRAMMABLAUF - SICHERHEITSABFRAGEN.Informationen zum KonfigurationsmenzurckWENN DIESER RADIOBUTTON SELEKTIERT IST, WIRDBEIM SPEICHERN DER BILDER DERJENIGE PFADVORGEGEBEN, VON DEM DAS PROGRAMM GESTARTET WURDE.WENN DIESER RADIOBUTTON SELEKTIERT IST, WIRDBEIM SPEICHERN DER BILDER DER EINGESTELLTE PFADVORGEGEBEN. DIESER PFAD LSST SICH JEDERZEITNDERN (ANKLICKEN UND NEU EINSTELLEN).Der Button AUSGANGzurckDer Button CHAOS-STUDIOzurckPICKOVERJULIAPSYCHOAPFELMANNAPFELZOOMMANDALAS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?          ??0 ($$"D!!"D$$(0 ??          ??0 ($$"D!!"D$$(0 ??          ??0 ($$"D!!"D$$(0 ? 0     0 0'''' 0 0     0 0'''' 0(h@?(h@?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@p8}}}y 91ϼ>!Ͼ>x!>8MY}WysecII-ݞakk-=H9p=6\}4T[qx Xr:%݁?c~A (( (  (?c~A:%ݸXrx 4T[q6\}H9p=akk-=II-ݛecsWy8MY}>x!>>!Ͼ1ϼ 9y}}8}p@?sv:@[o|W}<{{x00?p;>?{_s??__Q<x}|iQy~w X? 'r'G,8 X88Rx4 x wx?$~|TD|?x~?N9l~1,  5VX nX X nX 5VX 1,?N9l~?x~TD|?$~| wx4 xRx88 X8G,''rX?  9ln! X}=onϗ?oOϧ/?7w')#?j,{ !xx! {j,#?)'?7wϧ/?oOϗon=X} n!l9P#  *! P @@@@(@2@ a@@`w  GC@??I )    !!AAx|sxy{pw?{ww?g~{zyzus:ן= w@_=|/o?nO#߾ߟߞ=qɡ^?~}Ͽ?F ?N ?O>OGt`?;+~\~=O?oGxtp:szr}{|G/wOowsrsz}wH <,oOGJEf.SFRC Co E`>gH`SGnL<BC`JCgzE` Bo$>OEp>gH`SGnL<`J @o E>gH`SGnL<`$ AoE>gH`SGnL<BC @o`" Ao >G` Bo > OB!BE`vJCg>gHHSGnL<BC Do <B!B!`:=:8:3:.<B!<B!<B!<B!<B!B!B! LNuPǀ@`px|~p`@ | Zu wenig Speicher frei! OKAY | Zu geringe Auflsung! | Mindestens 640x400 | Punkte erforderlich. | Das Programm luft nur in | monochromen Auflsungen! \STUDIO_2.CFGCHAOS-STUDIO2.3Version 01/1992Januar 1992Copyright Ren A. SputhPickover-Mengen: Apfelmnnchen: Julia-Mengen: Bild Psycho-Bilder: Apfelzoom: Mandalas: Bild | RSC-Daten knnen nicht | verwendet werden! hmm C:\CLIPBRD\ Der Modus S.D.W.S. ist in | dieser Version nicht mehr | implementiert! na gut!... | Wollen Sie das CHAOS-STUDIO | wirklich verlassen? Ja | Nein Programm / Version : letzte nderung : - Alle Rechte vorbehalten. public-domain freigegeben!PROGRAMMABSTURZ! Fehler Nr.: Programmautor : Kreuter Strae 8 W-8209 Schloberg | Die Datei existiert | bereits! Soll sie | berschrieben werden? | Speicher reicht nicht aus! schade | Berechnetes Bild pat | nicht komplett ins| 32000-Byte-Format! okay z=z^2PICKO_1z=z^3PICKO_2z=z^4PICKO_3z=z^5PICKO_4z=z^6PICKO_5z=z^7PICKO_6z=z^8PICKO_7Ambe 1PICKO_8Ambe 2PICKO_9PICKO_AAsja 1PICKO_BAsja 2PICKO_CAsja 3PICKO_DAsja 4PICKO_EBerylPICKO_FBizarroPICKO_GCyrusPICKO_HJacinthaPICKO_IPriscaPICKO_JPICKO_KThyraPICKO_LUniversumPICKO_MVicentePICKO_NWunderlandPICKO_OZdenkaPICKO_PPICKO_QPICKO_RPICKO_SPICKO_TEvaPICKO_UAPFEL_1APFEL_2APFEL_3APFEL_4Route A - Zoom 1ZOOM_A1Route A - Zoom 2ZOOM_A2Route A - Zoom 3ZOOM_A3Route A - Zoom 4ZOOM_A4Route B - Zoom 1ZOOM_B1Route B - Zoom 2ZOOM_B2Route C - Zoom 1ZOOM_C1Route C - Zoom 2ZOOM_C2Route D - Zoom 1ZOOM_D1Route D - Zoom 2ZOOM_D2Die KreisePSYCHO_1Der SternPSYCHO_2KleeblattPSYCHO_3GlitzerPSYCHO_4Linien 1PSYCHO_6Linien 2PSYCHO_7Linien 3PSYCHO_8MANDAL_1MANDAL_2MANDAL_3MANDAL_4MANDAL_5MANDAL_6MANDAL_7MANDAL_8MANDAL_9MANDAL_AMANDAL_BMANDAL_CMANDAL_DMANDAL_EMANDAL_FJULIA_1JULIA_2JULIA_3JULIA_4JULIA_5JULIA_6JULIA_7JULIA_8JULIA_9Julia-Mengen: Bild10 | Das Fenster hat bereits | maximale Gre! Achtung! | Der aktuelle Fensterinhalt | geht durch diese Operation | verloren! okay | zurck | Konnte Datei nicht ffnen:| Laufwerk schreibgeschtzt! | Konnte Datei nicht ffnen! | Manche lernen's nie ...  FDJ T p"P""B""B"> &hT.&X *p D" *20.bT@F&. .&" *2D@0&. .@R.&" ,2~ .&" 2~ .&" 2~ .&" 2~ .&" 2~ .&" 2~ .&"* H .&"* H .&"* H .&"* H .&"* H .&"* HF&$*d6.8 V8 l8 ̞8 ^8 8 08 8 v8 0Z 48 x8 p8 z8 f8 8 8 |8 8 dT 8 8 Ξ8ʞ8 Ȟ8 zT T XT T ̞8 p88|8"8(86868686868`68l68\68R68X6<8p88T88v8vPP(PPPPPPPRRRRRRPPPPޞPPPܞPP8ޞRRF&$*r|*bZV@P`0 f((@P|" L$| .*l "$SEAUQA_оkﯿ了骢&|p! )( ( +k) j 0( ****************************************************************************** * * * CCC H H AAA OOO SSSS SSSS TTTTT U U DDDD III OOO * * C C H H A A O O S S T U U D D I O O * * C HHHHH AAAAA O O SSS --- SSS T U U D D I O O * * C C H H A A O O S S T U U D D I O O * * CCC H H A A OOO SSSS SSSS T UUU DDDD III OOO * * * ****************************************************************************** DAS PROGRAMMPAKET ================= \STUDIO_2 | +-STUDIO_2.PRG <- die Programmdatei | +-STUDIO_2.CFG <- die Konfigurationsdatei | +-STUDIO_2.TXT <- dieser Informationstext INFORMATIONEN ZUR VERSION 2.3 ============================= Die Version 2.3 ist public-domain freigegeben. Sie darf beliebig oft kopiert und weitergegeben werden. ABER: Alle Dateien mssen mitkopiert werden! Keine der Dateien darf verndert werden! Gefllt Ihnen das Programm? Dann sollten Sie dem Autor einen Obolus ent- richten, der Ihnen angemessen erscheint. Ist doch fair, oder? Hat dieses Scherflein einen materiellen Wert von mindestens 25 DM (oder einen groen ideellen Wert), gelten Sie als registrierter Anwender der Version 2.3 und aller folgenden Versionen 2.x, ber die Sie dann automatisch informiert werden. ANLEITUNG ========= Es gibt eine detaillierte Anleitung zum CHAOS-STUDIO 2.3. Alle registrierten Anwender, die mir einen frankierten Umschlag der Gre DIN C4 und den Vermerk 'Anleitung zum CHAOS-STUDIO 2.3' schicken, bekommen diese einmal kostenlos zugeschickt. ADRESSE ======= Ren A. Sputh Kreuter Strae 8 W-8209 Schloberg wpwppwU33ssW}5}_}}}}_APAEUQEW\PEW]A@_]}u]___}IQQEUMEUE]}D 袰誠o(("( 樂뻮+ &(+   we7}w}}tSE}UE5uAwAA@]]}]QE4u}EWU_@]PA@@狀j+k 覂/  ¬ 蠨骠)+&  }}}}M]UEu}E@QE5T_TEwDTA@]w}wEqSE7A]Q]wP]}TWE@@@￾j(*)+)  ᄒ覾课(*j鮪   M}}}G}wE5WEEQE}TQUU5UQEAPA}}}}}U=W}QEM5WM54]}tPQAAﯮﯿk)j( ꫾+뢪n*"( ( }}}w}M}QMQE]TQ]QQEPAA@@]}}}}_}}_}tQM]WATEA@Pkjhj(((  뾢(  ( * }}}}}}Q]AWQAPPAPAPA@@w}]}Q]DQ]QAPPEQAEQPA@@ﬠj(( *  ￾ ( ( ( (  7M}}w]]4QDATP@ETAA}}uEUAUPAEPAPAE@○뮮)* () (  ( (  }}}PEwMPEUEAPA_}}AwPATPAUQEPAUAoᄏ&( ( (" ﯾ￾"/ )"* }P_}DQEUPWAEEUQAD@}UQMwAE5TQMEUWE5U]EP頦*몦(￿鿮+(ꬪﺺ" }}}}5Q}uU}wutAw}}t}PU}U]_U]A( 갪) }}U_}5S]}}wA=_}}}WWw}7QU蠮+￿jo꿮( }}APQE5}}}tDAMAU__}}W]P@("(*ᄁo릊( o J(o了* }AUQA7SO}UWE@}}AAtPU}tTQEU@Aﯾ믾ﯿ( ( "﮾o  (}}S]]UU]UUUWAtSEET@uUEUMWWEQAEQE5tP@AP@ ( (  ( (((     (((";(7A@EAAPWUDMUS_u5}W]@}@@AQAMTSES]}}w]}_}QE )k○(( ﲺ+k￾+蠀M}EA}wE@( _}U@AWQ뾪 &颀 _}}TP@]]( hEA@w}WE(  A}E@@A00UE@+00hp0( }wq05T0u@A330033￾h﾿3303}33303@w333003?3333003 ?3 3 03 Mf1q<>8>~<|~< 03 ?w}}`~~8~~~~~~?>3? ?f``fff??33 fppf`f 33 }}}~<<f`f 33 }]}}`f`f 3 `f`f33 o~~<~~`~? ?}}_}>|<|<`< _M]}猪 }}}_Wuw}UtP}}}uW}uP@뫾( ( ᄒ謹ꫮw}tW}U?E]@QPA}}][]W]UE5UP@EU@믾ڻ(ꈦ((믾ꪢ  }}}uAwEUMZP@A@Eu@Eu|4_}}_MQMEZT@EtQA()h*( Z +("(麢j蠂((Z  " (*}mE}}}uTSPAZPADEESWEuQEU4]WE]W]wM}4TWAAZEQUUU}]UUM}UE뾾﮺) (  Z :ﮢ课ꩯᄎ(((& Zꦿ￾_}TQAAAAAQE5M}W[_}}_ME]W}t]}_QAA@AEM5U_}M[W}w7}WEEUEhhh*类붚k*+馿ۿj+7}}}}uw]]D]W=}}w]W_}MUwEuհ?믿) 뾪袟/j 뫦뮮몾?}}U]MQQuTW}}V]]wa?}}_E5PAE}SW}U]}v_g?kڊ 먦ᄊfa`fofgf`?絛뉿 뫮va`m`fafwA@}}UA_}5M]}am`fa}P D_t}EUAQAU]M]_fam`fa? /誂o/(뮢ꢿ꨾ofal`fa?ᅠ "﫾ꋮh`၇?}PP_~]A__WE5_E]`၃?}]~W}UEE]5]}_? )k?:o.ﮯ 몪?w4}S[U}W}]u]E}W}u}}M_w[M75]A?e]T}TW}U}w+$((//o"甆タ+// "?j↑ﯪ}w}}EEewP]EuE?U}wQ}tW}u_}u@}]}G]E?PW_@]uQ_t]u]TS_}}ﯾ)'/렦  m 뢻믿頾 ( /o蠂( .覾믾@}]AQWu|DQEW}WTUTEuWM@30330]}}wQA|_Mt__DAEwO_DV@MEuu]}13o""."+o(33 i ڛ /j3333_}__}P@P@PW@wE@_W]w}3333}}}_]}_A@QEW}_}@PEQEut_﫿.(/ﯮ/뾛q / ￾"ʫ↑+u}]|@ES}u}m]4Ww]w}5}_A_}t}]tT]}ᄒ憎//jo..렠﾿}}}}}}}}}]}wQME_}u_]5]_]_q|}w]]U]=ᄎ鯾 o 骢j(o *+(.]}}E}_}5}uM]QeUUU}5]UUSA_}}w}uwM_W}}}}}}w_]wEu~E5Q]}4WWE5TQEE}/ﶚj/﮾  (*((* )k좾뫦 ) 寧"((__}}E5]OQ]}}TSMQW]7Q]UAuAUQ}_}}w_}uMEV_MM]w޼EwW}S}uwWE4UWq]QEQAU}kﮮ뮾)+ (**(*jo都몢 k/i먠(("}_}}}7uQEwwUuSMW}t_TWW}SQEQATPD]U]M}_uMEu_M7_M]MQ]U]Q_MMTQEM}+ハﯾ.mo袚(*(hᆵ /+ 뻦઺()*+*ᄒ5}Vu`]utQ_utUpUEUUT_uUE]TS}5tQ]ETU]Uw]}``M]5_]wUW]E5S_}WUU]]5W}5U}U}﮾﫼`` 뮂o 몲 /믪k몠jh訪oaoꢊ颿k n+廉 }_}ut_M4aTP_}7_}uww}}EtQM]tAUAQAQPEU5]\aaa]}]]5]}tUETQMUQEADPPAPAAkaaa j) (   ((꯼a`a T&j "( (   }vMw_|a8`8aU_MD PAE4PA@A@A}M|a`aՙ MEQAA\A@@@Ak﮾hay )"(  " ﮾ka8"Ǐ/@`((* " ]w]m\ۏ]UJKApDA@@@@AO]}E   P}B]5@]Q\@A@UA﮿+   `( " (  ↑○)  j "!   __}uE5  S@ MQ@EWPAAAt}u}S}  U@E_EUQ@@TG`AAE○ﶾhLJ .+頂) g@`"(ᄒoLJnj(*(>``    }}}uw}}S]T`E8ME@_~cAAA@v]}]_ 47A1lWSEP@AFcAAA믾ok蠻jj(?Faff`  " ○ v ?Faffb"}[wy]TAuP EuTPDFafg@EE@]]5ESP wwQAVaffA@PAD﮾諾ڊ(zo廬 H&ff   ?(/ @ "( }]}uu]]ZE}MuA@PA@AA}w_7}_PA4_AU4\AQ@AEAAPﶺ○(kڠ+ k袸"! (  ᆴ6T*ڊ)놠 k "   ( ( }}}5t[b~@EO[}@4AWE@@AA@AA}[]A_o@q_WMuQA@PAEEAEEEh+" j/ ( (( ڦj *('  (   ( }}_AZE7@UL@AA@@A@AA}w}S twAQAAA@@AP@A@ o!/ (  o"//     } Q}@ 7_5_A@A@@@@E@A}[E_PM_@AAAQAP@EQ@z(%  ( h``??(  ( }}e~}A]^@AD@AAAw7}`~@QE5_A@@AEA~!g) ( ~젽(˂  " ( }}}}U@Zz EwEAP@@@@AAAA_}__p[p/U}AwEA_@P@@@PEp(' h   (  ("(( o>1xhᅡ     ( }}}:WRAw}PA5|AEAPAAAAA}_p}ECE4E}AP@_AA@ASPET߿+タ&B タ .   ( ( ( ߿i *ツ (   "  o7gM}}=A^QE}t}]AAAA@APAA@A_]Ax$AEw|Pu@@@EAEEP@Ai3 "* (7gB "ﮠ .  }LP BQ}A@N]0T}u@AAAC7 (/('((_^(?+/ ( /覢(}ܧKi/PPEPAEWMuPQA@@PAQAEPQMU_!EPUMtWE}7WE7@A@@OPWEQEQWE龜;tc?()(j릠 /蠪( ( 娜N뙔o ()o/  /*("**S^d}AQEQA}4_E5@ET@EUQEEQSEb#LKP ? PQAQUTQM}WUPE4_ESAEQMSQE1k 36oB  ()ok适 (((yuע>ﶻ+b蠢){k   *(+*:Y]U"_}KEPSESE}wwAAAQEAEPUASژy/W}5/W}wKDUQA4PUuw}_A@WQATQAM4QEEQW}*뮸料H!ハ(   /((" 9iϿi﾿+`*( (  J+ oŨTS]}}u_}[ATE4Q_TAAP@ADPPAAUPSED_ \_}7M}KATQA4QG]}PEEQ@PATQEETQEETQ+:(j뾾Jh((ᅡ /袂(((*7O﫪쯾hJ(( / ( ("MEuMQMPPAt}E@A@MQEPAUPEw?_M5M]}_eTPE%P_}]EPD@@@AQEQUEUQEg￿ꨢ课j (()* +"h(((￾ok("( ,` " ( 袂 "(_EQMSMQEETE5AAW@AQQETQAPPAwUMEVSSE-}}PAEEv}L@PPE_}QEQUUUQMUw4ﯾk連(龺(  ( (( ((z))޾￾ )* (  +("j"((" {wM6SETS^_}W]?E4@AA@QAPPEPEM]\~M}PWuS]wM5_@@AATQE6Q@ETQEj颂i(k/* * (*.(+ﯮja k(" ( ꩿ( j") M}PQEM}A4S]}PEPAPAWPAPPETEE_u}tMM}31AQWMA4@EA}QIAUQ@5Q@ETQ]ui頦骮3(  (*(( ("/﮺ Ϫ(*렿   / * )?05}E}QP MUWsEY_p7P@@EAEQPEQ@E߷]tAE5}s0A tS}tAAQAPAUEQGE﮶k瑩(-h&1 hx /" l*( k○ (""1pq(k*(  (' *()_}}}PA-MUAS @PAEwEQEUQWAAw}=}Em_upPAM4W}DQA@QA5QEMTQEQ]UWﶮ믮 )h (  /( " ( (k (( (  蠊(" (}}QUmuWM}SUEUEWAEAAEUAQEETQEE}}uA-wQ]PU}DQMEWMSAAQAPEEQEEUUEQ@Emレ￾ꠂ) "+/k (  (" ((*((* //"( j) ( .Ꚋ(((*/}_}Pm}uS}EQAUUE@EA EEQ@AUPAET_P}uv_4a_}t}}QEME_}PG}M@QAuP@ETQEQAuT_k"(" ( (*((レ"(+ (" ( " '(**"h(}W? 4@EQE}AEPAQ@PAEEEQEЀ _? 5QAMEQEQ@@@PAEQUEQEEWԀ 0 "() h ( 'ꢆ(* ((06??>Ǐ*( ((. ((/ꨠ( ("_}>????SMQAQEPA@A@A]QEAPEWt_> 33   EEAPPA5AAPE5AEPMEQAEPQEQAEw0k 30  )( " (&(( /蠂)*0k ?0 ǃ ( 8*  ( *( 0k 00  QAEtQAHME4EEQAQAAWP@EATE_P_0c 00 WEPAEPE5P@EPEP@E_QATQAEPQEPAE?c?0 Ǐ (*(( ( ("( ( (" Ͼ?c0 χnj (((&z ( "*(( ) *k uEEAzQEPAQAP@ETQAQAQAUП5w_QPE4PAUA%AEQE@AQETQAUSEQ_Џo馾i(**((*( "/(*((" ᆰ了"((-(( *( (?*((蠀 _}m7]EwmQE5TQAUQEPPAAPAP@]5DQMEPUA_]w4WM_uA6P@E4QAKPMPAEQAPAP_i馮kﮛjh* `( (" o(k誾j*h 3"* (/ WEuQ_}wPSEQMEP0%DAQAE_EEw]]MM}_PMM]eQOQAP@AA54@MU???ok 袚( "  (???)o(*ᄒj))"   (+????(/}}_}u}}SA4SEADPAEPMAQEWU@????@_QEtM}_4QMSEQQATAAAWM<<<<<A7Uh頮+((( * ) <<<<</oڊ+o*("( (( (*<<<<<uMuuEASEPA]PAQEARQA<<<<<WtM}_}EUQAPE@AQEEAQA_Q@<<<?Q]D馾﫾( () ((" (.<<<?ﶿ鮪"j(( ( (<<<?+}}t_uu7AE5PE5E]QAPQAAPEP<<<?S_}}5tQ_}4}=]EUAPEAEPQE$AQEP?<<W﾿뾾)j蠂hj(h/?<<諸) )(   '?<<}m]E5}_MU4Q_M5QEEUAPAAAAM?<<ut}wM}wU%}AuQMuTQEPMEQQ@AEPPA<<<<_p/廒ijh ("j((+<<<<믾レ+kh(((" ("(<<<<<}_QM4SMUPSEQAPAAAP_}@<<<<<AE]}MWEe4Q]EEQAQEAQPME<???Etki﮿都 *(0 ()" ( <??? /+(*(0"((( ( <?/}Q_}ESEAPU@PQEQEQEW@<?MPW}}uw}S}uQMUA tR@x|p}USEAUQA_оkﯿ了骢&|p! )( ( +k) j 0(_}5w}TS}]EYAE4P|0EW]MMuPS}TQMux0yAk믿袞i ,0( 0 00pxx|﮾k誦i 蠂 0 x 000p000v_M]}E5w}]}PAE4M]xAD 000001}}SM_E5_tEMM|xQ@|ppxxx0xxxxxx|xx1﮾kJ+/h(:( (pp|0|1力k);ﮮ("* 000 00 00p1_}5S_}}UPEU4PQEtQAA000|0ͬ0|00 081}=tS}wW}4%SAAAQPEP0000ͬ0x00 01믾骲*h( 0000ͬ000 ` 1ᆭ+ﯾ( ( 0000͌0 00` 1_}]75_u}w]E5QEUPQE5TPAUxI-$RA%Ii$I-J@$}XA$;Y($BI$I$I H $K $>1/ ,Ii$I$$H$$@ 'K:$?7%$KI$I($R$iA/L$3?Im$ZI$IHm$H@$33I%$BI$I $I?I $O3I$I %I%@ $I$BK5??I%$KI$I-$%I $﾿5>-Za$I-$CI$II $?6I)$RI$IBOd@$33 %$JI$I!$ $I/$3/I!KI$Im I-I( :HI$1$CI$Im H[hH$iH 11 $I!$JI$HI$@?2H? Y)$BI$I)$ $ $_oL $/I-KI$I $I $$HH$IHIB$IiK-{o%KI$I($PH R- I-@@$H!J$I-$I-Ko} $I$I!$@I$%I$ooI @ H@ $H!$I$Imem{}@I $@I$H!$KII Z@$HA$H$I$II$Yd$Io$I-Ji$HI$@ <$IHI!@A$I,$Z $Imom I%$II$I% %@/_oA $$ !I$Im$i[mmIHI$I-$I$K-}K|H  H $H$I$I%mI $HI$ISA= $I $A$I$H ,Im[_mIH$I$$K@mA=mBI$H  @A$I%$[I%K}I KI$ImI{o}@A$ $ @$ HA$Im$Y-oI@ $I$$BI KeI  $I $I$I$[I-[m@$HI$@'@ $H $I$II,-{mI%$@$m $RI A H$ 4Zo-KmH$I HI I!Z$Im7i-KoY $I!_K@$I $HI$I$K%[m/I @ $/%I@ @ @$I$Yi$[mo$o%H @ !HI$I%$[o[mK $ HH @$I $YA%Kmm@I@$I$I @ $I$KemI _ooA @$  $II$Ki-KﷷH[oA$HI$I-$o$Km -?@ I@$I!4B $Km뭶$$ HH$HI$Ii$Kmo @''OH$I@$I@I$I$ZKm%oK  I Kh$I-m'Ko%B @!CA$ -[m[m $$/I$H H@I @I$ImK}-H H$ I  $I!$ZK%[i/I}$  AaI%$HA$ImoKo I $$HA$ -[om}I/K @$@$I @I$e$Im$ $I @I$I!%I-m}oA$I $Ki$Io_o}@oH$ $Kl$I-iim@@ OA I@ $I$HI%Ym,[}$$HK$@$I $H $Im$RYomJ@?o@$@$ %Ka$ymm $ %K[:$ $KII-m[o$H$/[$`IH$I@IeYm=[I $I K!$`@$I @I$Km$K-=m$I7 IO$I,$RI$Km$i-}$I$ 300AAA$IH$I-[}I$Ki%IX00`$I H $I%$Im}@ @$I%%,O0a$I $H $-%-$Im%h3300@I$I)$[I%[mK-@RI$7K4$[mm$h'@@[o$I&[I-M,_ $I I-I! @I $Imi$Id$oI!%K$m%ZI$ %[Ki$I[Im_K$K@Im[iI-Ko-m- H/R mm$H Jmi%K?I$_$I$Y% $}ImY mI- I$I-@I,I $i,lkmlX  0 0 0??c4   0 0  0?????cl 0 0 00330 w,c>>  ?>3>c?>?>0330 w4c?????? >????????3???>??c?>????????>38 \k 3 33333 0 333? 3333330030k 03 30 33 33?7 kk 0 33333 0 333 3333308038k 03 38 33 33 ; kh 0 33?333 ?0 333 3?33?00?3 03 3 3? 3? 3 c 0 333333 30 333 30300033 03 3 30 303 cw 0 3?3333 30 3?3 30300033w 03 3 30 3033 cc03?3????3? 3?? ?0???3?c?33???3????? cA033>3 3 0>3>A33>3?> c?0?>0>K|%_`[A-[m[ m$-[d5I$%Im%I$i$K$%K}OIIi$^Y$$H mI%[mIei%mHi%mI-{} [i%[m? @-I)%-K-@% o -@% d[i$I-I$ImI!-[dommThe OVERROM.LST-file is a GFA-Basic program that modifies the 196 KBYTES of the new (EP)ROMTOS 1.4, so that the bug is fixed which was still in it, that the scrolling of ASCII documents will not be anymore distorted with using OVERSCAN or any big MATRIX-monitor. To use the program You must read the contens of the ROMTOS 1.4 into one 196 KBYTES long file and store it onto disk. Then You start GFA-BASIC, load the OVERROM.LST and RUN it ! The bug inside the TOS 1.4 will then be fixed. Then You can burn again Your EPROMS with this fixed TOS 1.4. UEbTg*f 0QNu QNu*HD*f$I00 MQNu$I0000 MQNu*HD*f$I&J(KD0000 MQNuD$I&J(K00000000 MQNuH0B4B69҂@L Nu Overscan Version 1.6 K.Isakovic | installed. B.Gebauer | | | Hold Shift-Key for Setup NOT aktivated. B.Gebauer | NOT installed. B.Gebauer |  Only ' OVERROM.BAS Version 1.0 Karsten Isakovic, Berlin 25.05.89 ' GFA-Basic ' Print Chr$(244);" ROM-TOS Source Patch ";Chr$(244) Print Chr$(245);" by K.Isakovic ";Chr$(245) Print Input "Filename -> ",Name$ Print If Name$="" Print "ERROR : No Filename " Else If Exist(Name$) Open "U",#1,Name$ Flag=0 @Test_old(&H1263E) @Test_old(&H12682) If Flag=0 @Write_new(&H1263E) @Write_new(&H12682) Print "OK , TOS now modified !" Else Flag=0 @Test_new(&H1263E) @Test_new(&H12682) If Flag=0 Print "OK , TOS already modified !" Else Print "ERROR : No correct German ROM-TOS 1.4 Source-File" Endif Endif Close #1 Else Print "ERROR : ";Name$;" not found !" Endif Endif Print Print "Goodbye" Input Ende$ Edit Procedure Write_new(Off) ! Write $CEC0E84F Seek #1,Off Out #1,&HCE Out #1,&HC0 Out #1,&HE8 Out #1,&H4F Return Procedure Test_old(Off) ! Test $E848CEC0 Seek #1,Off Flag=Flag+(&HE8<>Inp(#1)) ! GFA : True = -1 , False = 0 Flag=Flag+(&H48<>Inp(#1)) Flag=Flag+(&HCE<>Inp(#1)) Flag=Flag+(&HC0<>Inp(#1)) Return Procedure Test_new(Off) ! Test $CEC0E84F Seek #1,Off Flag=Flag+(&HCE<>Inp(#1)) ! GFA : True = -1 , False = 0 Flag=Flag+(&HC0<>Inp(#1)) Flag=Flag+(&HE8<>Inp(#1)) Flag=Flag+(&H4F<>Inp(#1)) Return ????<>88<<~8<<~~8~8|>~8~~OVERSCAN.PRG Version 1.6 Karsten Isakovic , Berlin 05.07.89 -------------------------------------------------------------- Das vorliegende Programm arbeitet nur mit folgenden TOS-Versionen ROM-TOS 1.4 Messe-Version getestet RAM-TOS 1.4 Deutsches Entwickler TOS BETA-TOS Englisches Test-TOS ROM-TOS 1.2 BlitterTOS RAM-TOS 1.2 BlitterTOS (nicht getestet !) KAOS-TOS aus CT 11/88 und auch nur wenn die OVERSCAN-Modifikation am Rechner erfolgt ist. In den Farbmodi luft es nur bei 50 Hz korrekt ! Bei allen anderen TOS-Versionen oder wenn der Schalter nicht auf OVERSCAN steht sollte eine Fehlermeldung kommen. Anleitung --------- Das Programm gehrt als erstes Programm in den AUTO-Ordner der BOOT-Diskette. Dazu mu man einen neuen AUTO-Ordner anlegen und die BOOT-Programme in der gewnschten Reihenfolge in den Ordner kopieren. Den Schalter umlegen und Rechner einschalten. Beim Laden des Programms eine der SonderTasten Control/Shift oder Alternate drcken und schon landet man im InstallationsMenu. Auf dem ansonst schwarzen Bildschirm ist eine Box mit ihren Diagonalen gezeichnet. Die Box kann mit den CursorTasten in der Hhe und Breite verndert werden. Die linke obere Ecke kann mit den Tasten / * - + des ZehnerBlocks frei auf dem Bildschirm verschoben werden. Diese Box ist durch Verschieben und Vergrern nun so gro wie mglich einzustellen, so das die Box gerade noch zu sehen ist. Beim SchwarzWei- Monitor kann man sehr gut sehen wie die Box im Strahlenrcklauf umklappt, wenn man sie zu breit macht. Hat man einen Farb-Monitor angeschlossen, so sollte man die Einstellung auch gleich fr beide Auflsungen vornehmen. Dazu kann man mit den Tasten L, M und H in die Auflsungen Low,Middle und High (fals man eine AutoMonitorSwitchBox hat) umschalten. Auderdem kann man mit P den Physbase-Emulator einschalten, der einige wenige Programme (z.B. Calamus) doch noch zum laufen bringt, Mit C kann man festlegen ob das BildschirmLschen mit Alt/Help oder mit RechtsShift/Alt/Help aktiviert werden soll. Sind alle EinstellungsArbeiten erledigt, so drckt man einfach S fr Speichern und die Werte werden permanent im OVERSCAN.PRG gespeichert. Drckt man nur Q, so werden die Werte zwar bernommen, doch nicht gespeichert. Wei man nicht mehr, welche Taste wofr ist, kann man sich die Liste nochmals mit der HELP-Taste anzeigen lassen. Was gibt es sonst noch fr den NUR-USER ? ----------------------------------------- Das Programm passt die grundlegenden Ausgabe-Routinen des ST an die durch den Schalter vernderte BildschirmBreite und Hhe an. Da bisher nur wenige Programm mit einem greren Bildschirm zurechtkommen, sind im Programm Vorkehrungen getroffen, um nach Beendigung eines solchen Programms das Desktop wieder korrekt darzustellen. Sollte einmal ein Accessory den BildschirmAufbau zerstren besteht noch die Mglichkeit den Bildschirm manuell durch Drcken der eingestellten ClearTaste wieder zu restaurieren. In allen TOS-Versionen existiert ein Fehler beim Scrollen von TOS-Texten. Wenn es sich um ein RAM-TOS handelt, so wird der Fehler im RAM gepatched. Dieser Fehler ist ATARI mindestens seit BIGSCREEN (Hallo Julian !) bekannt und sollte in der Offiziellen ROMTOS-1.4 Version behoben sein. (Ach was haben wir nicht alles schon von ATARI geglaubt) Man kann brigens seine Bekannten schocken, indem man im Monochrom-Modus einen Mini-Bildschirm von 320x320 einstellt und diesen in die rechte untere Ecke plaziert. Sieht echt s aus. Der GemDesktop hat einen Fehler bei 'Voreinstellung'. Er steht immer auf Mittlerer Auflsung und man kann hchstens von Mittel nach Niedrig wechseln, aber nicht mehr zurck. Deswegen kann man beim Wechsel der Auflsung eine eine der SonderTasten gedrckt halten und landet dann im Setup-Modus. Dort kann man dann in die gewnschte Auflsung wechseln. Zusammenfassung fr Interessierte --------------------------------- Zuerst testet das Programm, ob ein gltiges TOS vorliegt, ob der Schalter umgelegt ist und ob das OVERSCAN.PRG nicht doch schon installiert ist. Jetzt wird erst einmal der ntig Bildschirmspeicher beschafft, indem man den zustzlich bentigten Speicherplatz aus der MemoryAllocatedList austrgt. Damit wird er bei Programmende nicht mehr freigegeben. Bei einem RAMTOS wird der Fehler beim Scrollen von TOS-Texten gepatched. Dieser Fehler beruht darauf, da davon ausgegangen wird, das die Breite des Bildschirms in Bytes immer durch 16 teilbar ist. Danach werden der AES/VDI-Trap ,der GEMDOS-Trap, der XBIOS Trap und der HARDCOPY-Vektor umgehngt. Bei BlitterTOS werden zustzlich der VB-Vektor und der Mouse_Vektor umgesetzt, da die Orginal-Routinen zum Zeichnen der Maus nicht mit Bildschirmen grer 32K zurechtkommen. Danach werden die LineA-Variablen auf die neuen Werte gesetzt und die TOS-Ausgabe neu initialisiert.Der Bildschirmspeicher wird komplett auf Schwarz gelscht, da man sonst die Rcklaufstrahlen sehen wrde. Nun wird getestet, ob eine SonderTaste gedrckt ist und gegebenenfals zur BenutzerInstallation geprungen, wo man das Programm auf seinen Bildschirm anpassen kann. Wurde keine SonderTaste gedrckt folgt ein kleines Intro, der Bildschirm vergrert sich (symbolisch) von seiner alten Gre bis zur neuen Gre. Auerdem wird der alte BildschirmInhalt der ja nicht lesbar war in den neuen OverscanBildschirm kopiert. Je nachdem welcher Fall vorlag, beendet sich OVERCAN.PRG mit der Meldung 'OVERCAN installed' und bleibt resident im Speicher oder mit einer der Fehlermeldungen und bleibt nicht im Speicher. Wozu sind nun die Traps und Vektoren ??? Es reicht nicht aus, den OVERSCAN-Modus einmal einzustellen, weil z.B. das GEM beim Starten alle LineA-Werte berschreibt und auch gleich noch 32K des Bildschirms auf Wei setzt, die sich beim SchwarzWei-Monitor als strende Rcklaufstreifen bemerkbar machen.Ausserdem gibt es Programme,die direkt in den Bildschirmspeicher schreiben oder den Bildschirmspeicher mit SetScreen an eine andere Stelle verlegen, und dabei den notwendigen Offset zwischen v_bas_add und dem VideoAddresszhler vernichten. (Zum Aufbau des Bildschirmspeicher siehe weiter unten). Der AES/VDI-Trap ist so installiert, das ein ffnen der BildschirmWorkstation (v_opnwk) abgefangen wird, die Orginal-Routine ausgefhrt wird (lscht unter anderem auch den Bildschirm s.o.) und DANACH der OVERSCAN-Modus neu installiert wird, und die Rnder des Bildschirms wieder gesubert werden. Diese Routine wird nur beim Starten des Desktops und beim Wechseln der Auflsung mit 'Voreinstellung' im Desktop aufgerufen. ( Das dort immer die Mittlere Auflsung als Aktuelle angezeigt wird, ist ein weitere Fehler im GEM ) Der GEMOS-Trap wartet auf die Aufrufe Pterm und Pterm0, also das Ende eines Prgramms. Es wird vorsichtshalber (s.o.) der OVERSCAN-Modus wieder eingestellt und die BildschirmRnder gelscht. Der XBIOS-Trap ist fr den PhysbaseEmulator. Manche Programme die ansonsten laufen benutzen zum Feststellen der BildschirmAddresse die Funktion Physbase anstatt Logbase. Beim OVERSCAN-Modus existiert leider ein Offet zwischen beiden Funktionen. Wenn ein Programm also korrekt luft und nur teilweise verschoben auf dem Schirm erscheint kann man diesen Emulator aktivieren, der nichts weiter tut als statt Physbase den Wert von Logbase zurckzuliefern. Nun knnen aber speziell an OVERSCAN-Modus angepasste Programme den Offset nicht mehr erkennen. (Da es noch nicht viele solcher Programme gibt, kann man den Emulator ruhig aktivieren) Der HARDCOPY-Vektor fragt auf die eingestellte Cleartaste ab und stellt dann auf Wunsch den OVERSCAN-Modus wieder ein, usw... Der VB-Vektor und der Mouse-Vektor werden nur bei BlitterTOS benutzt. Die OrginalRoutinen werden durch die MausRoutinen von TOS 1.4 ersetzt. Warum viele Programme nicht laufen ---------------------------------- Programme , die mit den Funktionen Setscreen den BildschirmSpeicher verlegen, zerstren den notwendigen Offset zwischen BildschirmSpeicher und VideoAddress- zhler. Auerdem reservieren sie nur 32Kb Speicher und legen den Bildschirm auf eine durch 256 teilbare Addresse. Beim OVERSCAN-Modus sind es aber 68KB BildschirmSpeicher und der Bildschirm beginnt an einer 'schrgen' Addresse. (Dieser minimal Offset wird zur horizontalen Poitionierung benutzt). Programme, die den BildschirmAnfang mit Phybase holen bekommen einen falschen Wert (Bildschirm - VideoOffset) geliefert. Nur Logbase liefert den richtigen BildschirmAnfang.Um diese Programme doch noch zum Laufen zu kriegen gibt es ja noch den PhysbaseEmulator. Viele Programme schreiben direkt in den BildschirmSpeicher und nehmen dabei eine konstante Breite von 80, bzw 160 Bytes pro Zeile an. Beispiele zu diesem Thema : eigene Textausgabe GFA-Assembler,Tempus und TemplMon. eigene Graphik Degas, CyberPaint, MonoStar, Stad und CAD-3D zuwenig Speicher bei TurboC, alle GraphikProgramme (ausser Doodle, dem GEM-Beispiel Programm !) In manchen GEM-Programmen, die ansonsten laufen,sind die Grenzen fr den FormDial-Aufruf zur BildschirmRestaurierung fest auf 640/400 gesetzt und somit wird der Bildschirm nach DialogBoxen nicht berall korrekt wieder aufgebaut. Programme, die direkt in den BildschirmSpeicher schreiben, Ihn nicht verlegen und den BildschirmAnfang mit Logbase geholt haben, sind auch noch benutzbar. Einfach den Schalter wieder zurckschalten und normal arbeiten - nach dem ProgrammEnde wird automatisch der BildschirmSpeicher gesubert und man kann wieder auf OVERSCAN-Modus schalten. (Vorsicht bei GEM-Programmen, die eine eigene MausRoutine einbinden, manche strzen ab, wenn beim Starten die Maus 'auerhalb' des Orginal-32K-BildschirmBereiches ist -- einfach mit der Maus vorher nach Links Oben fahren . Bemerkt bei GFA-Assembler.) Der Aufbau des BildschirmSpeichers ---------------------------------- Hier eine kleine Graphik : -------------------------- freier Speicher | | | | memtop -> +---------------------------------------------------| | SicherheitsPuffer fr den Rcklauf zum | | Bildschirmanfang, mu schwarz sein, da | | man sonst den Rcklaufstrahl sieht. | VideoAddressZhler -> +---------------------------------------------------+ | Das Signal, was durch die kleine Schaltung erzeut | | wird setzt leider schon im Rcklauf ein, also wird| | einfach ein Offset angebracht, der dieses wieder | | ausgleicht. | v_bas_add -> +-------------------------------------------+-------+ | Beginn des eigentlichen | | | BildschirmSpeichers. Das Signal der | | | Schaltung dauert leider zu lange und |Unge- | | reicht in den Zeilenrcklauf hinein. |nutzter| | Deswegen existiert rechts ein ungenutzter | | | Bereich, der schwarz sein mu, damit man |Bereich| | ihn nicht sieht.Die Breite des Bereiches | | | hngt davon ab, wieviele Pixel auf dem | | | Monitor dargestellt werden und ab wann der| | | Strahlrcklauf beginnt. Die ganze Breite | | | des BildschirmSpeichers ist durch das | | | HardwareSignal vorgegeben. | | +-------------------------------------------+-------+ | Ein kleiner Bereich hinter dem Bildschirm mu auch| | Schwarz sein . Siehe oben. | SpeicherEnde -> +---------------------------------------------------+ Wie man sieht hngt alles von dem Signal ab, das Stefan zusammengebraut hat. Dieses ist leider frequenzabhngig, deswegen geht es nicht bei 60 Hz (ungerade Anzahl Bytes) und im Monochrom Betrieb gibts nicht dieselbe Breite wie in Farbe. Stefan hat sehr lange gesucht, aber es ist kein Signal Vorhanden, bei dem der ungenutzte Bereich rechts kleiner wre. Das benutzte Signal ist also ein Kompromiss zwischen Speicherplatz-Vergeudung und maximaler Pixelbreite auf dem Monitor. ( Das Signal kann man brigens ganz auf High legen, dann wrde der Shifter immer den BildschirmSpeicher auslesen, also auch im ZeilenRcklauf und im StrahlenRcklauf. Somit htte man nochmehr BildschirmSpeicher verschenkt...) Wenn irgendwer in der Lage ist, ein Schaltung zu entwerfen (PAL), die das eigentlich bentigte Signal in allen Auflsungen liefert (auch bei 60 Hz !) der sollte sich bei Uns melden. Der neue Bildschirmspeicher hat eine Lnge von 68 KB, bei BlitterTOS 100KB, davon werden auf dem Monitor ca 55KB in niedriger , 58KB in mittlerer und 40KB in hoher Auflsung dargestellt, hngt natrlich alles von der Einstellung ab. Die Gre wurde konstant gewhlt, weil beim Wechseln des Monitors von Schwarz/ Wei auf Farbe( und umgekehrt) geschaltet werden kann, und dann eine andere Bildschirmspeichergre notwendig wre. Den richtigen Zugewinn an Bildpunkten hat man also in der mittleren Auflsung ! Und nun zu den Fakten --------------------- Auflsung Breite Hhe BytesProZeile Theoretische Breite Offset --------------------------------------------------------------------- Niedrig 400 280 236 464 252 Mittel 832 280 236 928 248 Hoch 672 480 100 800 9800 Die Breite ,Hhe und Offset sind jeweils Monitor abhngig und mssen eingestellt werden. Die bisher erreichten MaximalWerte auf blichen Monitoren mit geringer Modifikation (Verschieben und Verkleinern des Monitorbildes mit den vorhandenen Monitorreglern) : Fernseher : Niedrig 416x280, Mittel 848x280 SC1224 : Niedrig 400x280, Mittel 832x280 SM124 : 688x480 NEC-Multisync : Niedrig 432x280, Mittel 864x280, Hoch 732x480 Stefan arbeitet noch an einer kleinen Modifikation des SchwarzWei-Monitors mit dessen Hilfe der Strahlrcklauf verkrzt und somit die Anzahl der sichtbaren Punkte erhht wird. Noch hat sich aber nichts ergeben, auer das es fr den Monitor (und fr einen selbst) ttlich sein kann, die Steilheit des Ablenksignals zu erhhen, da aus diesem Signal die Hochspannung generiert wird. Welche Programme laufen ???? ---------------------------- Generell alle Programme die auf Grobildschirmen laufen. Alle sauber programmierten GEM und TOS Programme Doodle GDOS (mu vor OVERSCAN im AUTO-Ordner gestartet werden) AMC-GDOS 1stWord 3.11(BRD) Calamus 1.01.8 (mit PhysbaseEmulator) That's Write KumaResource 1.0 KumaGraph 3.2 KumaSpread 2.09 EasyDraw 2.32 GemDraw GemPaint 1.3b2 SuperBase 2.01 DataMatST 1.06 DBaseST 1.0 Control.Acc Kubis.Acc Procalc.Acc Ti59.Acc DeskAssist2+.Acc ST-Digital 1.1 (Fenster drfen nicht ganz so gro werden) SoftSynth 2.0 Welche noch nicht ??? --------------------- Programme die in den Bildschirmspeicher schreiben oder die die BildschirmSpeicherAddresse verndern. SuperCharger 1.2 (Strzt bei Vollbild ab, sonst ok) GFA-Basic 3.06 Editor nicht/Programme gehen Turbo-C Editor/Compiler/Linker ja / Starten von Programmen nein Degas Elite TempleMon Tempus (sofort ndern !!!!, CCD Dalli zack !) CyberPaint Cad3D Signum etc. (leider !) Zur Geschichte von OVERSCAN.PRG ------------------------------- Stefan dreht mit seinem ST kleine VideoFilme... Dabei strte ihn etwas aber sehr, das nmlich das das Bild nur ein kleines Rechteck in der Mitte des Videofilmes ist und nicht wie beim AMIGA der ganze Bereich genutzt wird. Mehrere DEMOs von TEX, irgendwann 88 ------------------------------------ Das BIG-Demo von TEXT hatte ein Bild ohne unteren Rand. Und dies hat Stefan so fasziniert, das er wissen wollte was dabei in der Hardware vorgeht. Er hat also die Signal mit dem Oszilloskop berprft und hat so gesehen, das der Shifter im unteren Rand von der Software so irritiert wurde, das er einfach weiterschrieb. Alle folgenden Demos wurden nun auch per Oszi untersucht. Z.B das FNIL-Demo mit den 4096-Farben, was sich einfach also Humbug heraus- stellte. Einfach in MidResolution bei 60Hz jeden 2. Bildpunkt mit unter- schiedlicher Farbe ,ergibt jeweils die Mischfarbe daraus. Aber die Krnung des Ganzen war dann das DeathOfTheLeftBorder von TEX, bei dem es garkeine Rnder mehr gab. Was dabei auf dem Oszi passierte brachte Stefan auf die Idee, den Shifter per HardwareSignal zum weiterschreiben anzuregen. Er fing an, in dem Rechner nach einem geeigneten Signal zu suchen. Wenn man den Shifter mit einem andernen Signal ftterte, war der komplette Bildschirm von oben Links bis unten Rechts vollgeschreiben. Ich(Karsten) fing an die Sache von der SoftwareSeite aus anzugehen. Die Breite in BytesProZeile wurde festgestellt und ich habe ein RAMTOS von 6.2.86 (UraltTOS ) mit den neuen Werten gepatched. Wie wir schnell sahen, strzte LineA ab weil es nicht fr solch lange Bildschirmspeicher ausgelegt war. Ein Artikel im ST-Sonderheft brachte aber den ersehnten LineA-Patch und schon gab es die erste OVERSCAN-Version. Als nchstes gab es eine Version mit dem BETATOS.IMG, dem Englischen EntwicklerTOS, bei dem LineA nicht mehr gepatched werden mute. BETATOS.IMG und POKE.PRG von Karsten Isakovic, November 88 ---------------------------------------------------------- Es gab ein kurzes GFA-Basic Programm, das ein vorhandenes BETATOS.IMG auf Diskette patchte und ein POKE.PRG , das in den AUTO-Ordner gehrte und den Bildschirm-Offset einstellte. Es ging also nur mit einem RAMTOS und auch nur in den Farb-Modi. Diese Version wurde an das ST-Magazin geschickt, lag dort ein halbes Jahr auf Eis und wurde dann dank Julian wieder ausgegraben. OVERSCAN.PRG Version 1.1 , 30.03.89 ------------------------------------- (abgedruckt als HEX-DUMP im ST-Magazin Mai 89) Das OVERSCAN.PRG arbeitete jetzt mit 2 TOS-Versionen, mit dem BETA-RamTos und dem deutschen Entwickler-RamTos. (Beide nichtffentlich zu haben...). Der SchwarzWei-Modus ist schon eingebaut,die Sache mit der Hardcopy auch schon. Um die Bildschirmwerte zu ndern mu man das Programm neu bersetzen und eine Umschaltung der Auflsung vom Desktop aus war nicht mglich... Diese Version wurde von Julian auf der Hanover-Messe vorgefhrt. OVERSCAN.PRG Version 1.2 , 25.04.89 ------------------------------------- Endlich lief das Programm auch mit dem ROMTOS 1.4 . Diese Version ist auf der Leser-Service-Diskette von Markt und Technik zu haben. OVERSCAN.PRG Version 1.3 , 06.05.89 ------------------------------------- Unser Artikel vom November 88 ist im St-Magazin erschienen und leider vllig verndert worden. Vom der TOS 1.4 -Abhngigkeit und von den realen BildschirmWerten keine Rede, es wurden alle Hinweise darauf gestrichen und die BildschirmWerte wurden als groer Aufhnger verndert. Wenn man weiss , wie es wirklich ist, enthlt der Artikel keine groben Fehler, sondern nur sehr viele Unterlassungen. (Warum haben sie auch noch den Namen in HYPERSCREEN gendert ???) Dies ist die letzte Version in MegaMax-C, da Bernd das C-Programm an den GFA-Assembler angepasst hat. Auserdem ist der Bus-Error beim MEGA-ST4 ist nun beseitigt und das Programm etwas bersichtlicher geworden. OVERSCAN.PRG Version 1.4 von Bernd Gebauer, Berlin 31.05.89 ------------------------------------------------------------- Der zweite Teil des Artikels ist erschienen. Trotz Beschwerden beim Verlag immernoch kein Hinweis auf die falschen Werte bei den Grenangaben. Der zweite Teil handelt von der allerersten Version mit dem gepatchten BETA- RAMTOS und dem POKE.PRG im AUTO-Ordner, ist also vollkommen veraltet. Naja der Aufbau des Bildschirmspeichers ist ja immerhin derselbe geblieben . Dank Bernd, der nicht so faul war wie ich und die MausRoutinen des TOS 1.4 umbaute (anhand des Beispiels aus BIGSCREEN von Julian F. Reschke) luft das Programm jetzt auch mit Blitter-TOS 1.2 von 1987. Dazu wurde vor dem Bildschirmspeicher ein 32KByte Sicherheitspuffer angelegt und die Routinen, mit denen GEM das Mauszeichnen erledigt, vollstndig ersetzt (siehe auch BigScreen-Artikel im ST-Magazin 11/88). In einer spteren Version von OVERSCAN kann der Sicherheitspuffer hoffentlich wegfallen. Es luft jetzt auch mit einem richtig installiertem KAOS-TOS ( siehe c't 11/88 ) . OVERSCAN.PRG Version 1.5 , Karsten 04.06.89 -------------------------------------------- Die Anpassung GFA-Assembler und BlitterTos von Bernd hatte mir soviel Auftrieb gegeben, da ich drei Nchte durchgearbeitet habe um diese Version fertigzustellen. Nun gab es den BenutzerSetup, das Intro und das AutoRestore nach jedem Programm. OVERSCAN.PRG Version 1.6 , Karsten 05.07.89 -------------------------------------------- Diese Version kopiert den alten BildschirmInhalt in den OverscanBildschirm, beim Wechsel der Auflsung kann man in den SetupModus wechseln und die Auflsung auch wirklich wechseln. Auerdem kann die BildschirmLschTaste bestimmt werden und der PhysbaseEmulator fr weitere Kompatibilitt ist eingebaut. Diese Version wird wieder auf der Leser-Service-Diskette von Markt und Technik zu haben sein. Nach einigem Hin und Her haben wir uns doch wieder mit dem Verlag vertragen. karSTEN 22:17:48 am 05.07.89 P.S. : Bei Fragen einfach Post an Karsten Isakovic WilmersdorferStr. 82 1000 Berlin 12 oder ber Koppler in der Mailbox Parrot Berlin 030-724467 mit 'login visitor visitor' und 'write mail visitors.brd' eine Mail an mich (STEN) hinterlegen. P.S.S. : Wenn Ihr noch Programme findet die laufen, teilt es uns bitte mit. ( Name und VersionsNr angeben ! ) P.S.S.S. : Viele Gre an Julian Reschke, Andreas Hoepfner, Konrad Hinsen, Patrik,Volker und an alle anderen die mich kennen. f  f`ffp``fffff`f  f`g<``~~f~f`f  f`f````f`f`f f`f````f`f`~ g~~`~~f~~`> cLJ`n`:@d &H@ *oOHz?<&NN\09TJ@fP?<NATA?#Ah Ab#QLNuXBRAOVER @sf. A#  P Pf A h Pl#A /H zNa?a0Hz?< NA\P y1y1y09 @f1|N1|` @f1|N1|` 1|N1|/9NuXBRAOVER0 fNh`A Pg PLfHa&aL zNXBRAOVER098g0 fNh`A Pg zN 9NNsXBRAOVER?9pP0mžpP0G26pP03 3"3&3(3*3,HaTLaR3$Fm3$<<BG89 ƈ$:9"Ɗ$ @g 09&DRG Ag 29(ERGyg 49*DRGyg 69,ERGa&RFJGfa`H y1@1@1@1@Nu yBh$1|"1| 1@&1A(1B*1A,a| y1B&1A(1B*1C,ad y1B&1C(1@*1C,aL y1@&1A(1@*1C,a4Nu y1@&1A(1B*1C,a y1B&1A(1@*1C,aNuHLNuH y1|4Bh$1@&1A(1B*1C,C!I.1|2Bh6LNua&0<aaa0<aaJyPg`$aa3LaByPa`rHz _?< NA\09P @fHz ?< NA\`4 @f"Hz Q?< NA\Hz q?< NA\?<NAT` Hz D?< NA\09yLfaHNu?<NATH@3NNu09N @f 3P` @f` @bfa4` @Kf`< @Mf`P @Hf`d @Pf`| @efa`z @ffa`n @Jfa`b @Nfa`V @fa`J @.fa`> @#faf20<` @2faf0<` @&faf 0<`Nu`3FH3^JByFBy^Nu@ g`Hz?<&NN\Nu3HF3J^Nu@ g`Hz?<&NN\Nu3:09 @f3:"<J@g#NAXNuHz?< NA\?<NATNu09@yl y.PaNu09Byo y.PadNu09Dyl y209:PaBNu09Fyo y209:Pa Nu y6 9<` y6 9<ѐ` y6B09` y6B09ѐ`098J@fHz `Hz .?< NA\?<NATH@ @,fFy8Nu9: gHz V`Hz ?< NA\?<NATH@ @1fy:NuHzr?< NA\?<NATH@ @,Nu?/0<2<49SB69SCa:`C09aC09a C09`PHA4<< QAH@B@H@ H@2B@H@A0Jf/ ?< NA\Hz?< NA\LNuHAo4<A A o A AA`A0@Q/ ?< NA\Hz7?< NA\LNu?(?(BBJhlt?BBhe69CCb` @t`thA e69CCbz`:EABA` :9AREa*"yNG< Fe G<<@*{ .,{ .496C89%I5EE. 2`Dblx|B@@Po({ H`NL:M:T"GQ\Nu4HB410$N30HB2QNu44N2QNu44HBNHB2QNup0r2Np0H@r2HANԀFĀNՄFāNFĀNՄNճFĀNՄNFĀNձNg8*4SB69 jC:9UEbTg*f 0QNu QNu*HD*f$I00 MQNu$I0000 MQNu*HD*f$I&J(KD0000 MQNuD$I&J(K00000000 MQNuH0B4B69҂@L Nu Overscan Version 1.6 K.Isakovic | installed. B.Gebauer | | | Hold Shift-Key for Setup NOT aktivated. B.Gebauer | NOT installed. B.Gebauer |  Only with TOS 1.2/1.4 or BETA-TOS already installed... B.Gebauer EY!(pX:Y:Off: Hp OVERSCAN Version 1.6 K.Isakovic | Setup-Menu B.Gebauer | |------------------------------------| | | | Cursorkeys : Width & Heigth | | Block / * : Edge left/right | | Block - + : Edge up/down | | | | P : Physbase emulation | | C : Clear screen key | | | | L M H : Low Middle High Res. | | | | S : Save & Quit | | Q : Quit without saving | | | | Help : This page | | | |------------------------------------| Press Return... Change Resolution. Are you shure (y/n) ? Physbase emulation on (y/n) Physbase emulation off (y/n) Clear-screen with RIGHT-SHIFT/ALT/HELP (y/n) Clear-screen with ALT/HELP (y/n)A:\AUTO\OVERSCAN.PRGq Setup saved... q not found ! press < Return > q Setup not saved... p8    ? 82?RfL*. " j"<:RD402  0    ,  D>6,0T     (,X N , &  &    ,0T *  8?;----------------------------------------------------; ; ; ; OVERSCAN.S Version 1.6 ; ; Bernd Gebauer ,Berlin 31.05.89 ; ; Karsten Isakovic,Berlin 07.07.89 ; ; ; ; RAMTOS 1.4 / BETATOS / ROMTOS 1.4 / BLITTER TOS ; ; ------------------------------------------------- ; ; ; ; GFA-Assembler 1.2 ; ; ; ;----------------------------------------------------; ; ------------ NEGATIVE LINE-A VARIABLEN ------------- M_POS_HX = -$358 WKXRez = -$2b4 WKYRez = -$2b2 CUR_X = -$158 CUR_Y = -$156 CUR_FLAG = -$154 MOUSE_FLAG = -$153 SAVE_LEN = -$14a v_cel_ht = -$2e v_cel_mx = -$2c v_cel_my = -$2a v_cel_wr = -$28 v_cur_add = -$22 v_cur_of = -$1e v_cur_x = -$1c v_cur_y = -$1a v_rez_hz = -$c v_rez_vt = -4 bytes_lin = -2 ; ---------- LINE-A VARIABLEN ------------------------ v_planes = 0 width = 2 col_bit0 = $18 col_bit1 = $1a col_bit2 = $1c col_bit3 = $1e lstlin = $20 lnmask = $22 wmode = $24 x1 = $26 y1 = $28 x2 = $2a y2 = $2c patptr = $2e patmsk = $32 mfill = $34 clip = $36 ; ----------------- HARDWARE + TOS ------------------- gemdos = 1 bios = 13 xbios = 14 Pterm0 = 0 ; Gemdos Cconin = 1 ; Gemdos Cnecin = 8 ; Gemdos Cconws = 9 ; Gemdos Dgetdrv = 25 ; Gemdos Ptermres = 49 ; Gemdos Fopen = 61 ; Gemdos Fclose = 62 ; Gemdos Fwrite = 64 ; Gemdos Fseek = 66 ; Gemdos Pterm = 76 ; Gemdos Kbshift = 11 ; bios Physbase = 2 ; xbios Setscreen = 5 ; xbios Supexec = 38 ; xbios Dosound = 32 ; xbios dostrap = $84 gemtrap = $88 xbiostrap = $b8 memtop = $436 defshiftmd = $44b sshiftmd = $44c v_bas_add = $44e _nvbls = $454 _vblqueue = $456 dumpflag = $4ee sysbase = $4f2 hardcopy = $502 vid_bashigh = $ff8201 vid_basmid = $ff8203 vid_ismid = $ff8207 vid_pal3 = $ff8246 vid_palF = $ff825e add_len = $9000 .TEXT main: bra.s Start_of_Code ; Zum Anfang springen ;############################################################# ;# ;# Die Tabelle der BildschirmWerte ;# ;############################################################# ScreenTab: .DC.w 400,832,672 ; X-Auflsung Low,Mid,High .DC.w 280,280,480 ; Y-Auflsung .DC.w 236,236,100 ; Bytes pro Zeile .DC.l -$1600,-$1600,$2000 ; VideoAdd <> Memtop Offset .DC.l 252,248,9800 ; v_bas_add <> Memtop Offset .DC.w 320,640,640 ; Alte X-Auflsung .DC.w 200,200,400 ; Alte Y-Auflsung TruePhys: .DC.w 0 ; Physbase Emulation aus ActivateKey: .DC.b 9,0 ; Hardcopy Taste ;############################################################# ;# ;# Das Hauptprogramm ;# ;############################################################# Start_of_Code: movea.l 4(sp),a5 ; Basepointer einrichten lea.l $100(a5),sp ; Stack einrichten pea do_setup(pc) ; Test und Installation im move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; Ergebnis in inst_ok addq.l #6,sp move.w inst_ok,d0 tst.w d0 ; war Installation erfolgreich ? bne not_ok ; leider nein, raus move.w #Dgetdrv,-(sp) ; Bootlaufwerk holen trap #gemdos ; addq.l #2,sp ; lea.l save_name(pc),a0 ; add.b d0,(a0) ; und einstellen move.w #-1,-(sp) ; Irgendeine Sondertaste gedrckt move.w #Kbshift,-(sp) ; trap #bios ; addq.l #4,sp ; tst.w d0 beq DoIntro bsr UserInstall bra DoTitle DoIntro: bsr Intro ; GrowBox und Sound ausgeben DoTitle: pea msg_title(pc) ; Titelzeile ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp pea msg_installed(pc) ; 'Installiert' Meldung ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp clr.w -(sp) ; Resident beenden lea.l _ende(pc),a0 ; Programmende suba.l a5,a0 ; - Programmanfang move.l a0,-(sp) ; = Programmlaenge move.w #Ptermres,-(sp) trap #gemdos ;----------------------------------------------------- not_ok: pea msg_title(pc) ; Titelzeile ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp move.w inst_ok,d0 cmpi.w #1,d0 ; war's das falsche TOS ? bne main_2 ; nein -> Kein Overscan-Modus pea msg_notactive(pc) ; 'Nicht aktiviert' Meldung ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp bra Goodbye ; einfach beenden ;----------------------------- main_2: cmpi.w #2,d0 bne main_3 pea msg_noTos(pc) ; 'Falsches TOS' Meldung ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp bra wait_key ; einfach beenden ;----------------------------- main_3: pea msg_already(pc) ; 'Schon installiert' Meldung move.w #Cconws,-(sp) ; ausgeben trap #gemdos addq.l #6,sp ; und ;----------------------------- wait_key: move.w #Cnecin,-(sp) ; Auf Tastendruck warten trap #gemdos addq.l #2,sp ;----------------------------- Goodbye: clr.w -(sp) ; Programm beenden (Returncode 0) trap #gemdos ;############################################################ ;# ;# Die Installations-Routine ;# ;############################################################# do_setup: movem.l d0-d7/a0-a6,-(sp) move.w #3,inst_ok ; Status : schon installiert movea.l dostrap,a0 ; GemDos-Trap nach OVERSCAN absuchen tstXBRA: cmpi.l #'XBRA',-12(a0) ; XBRA ? bne noXBRA ; nein -> Ende der Vektorkette cmpi.l #'OVER',-8(a0) ; OVER ? beq EndSetup ; ja -> Schon Installiert ! movea.l -4(a0),a0 ; bra tstXBRA ; weiter suchen noXBRA: move.w #2,inst_ok ; Status : falsches TOS ;---------------------------- auf richtige TOS-Version testen sf BadTos ; TOS als ok annehmen testBETATOS: movea.l #$170ee,a0 ;-------- Ist es BETA-RAMTOS ? cmpi.l #$cec0e84f,(a0) ; schon gepatched ? beq isBETA ; ja cmpi.l #$e848cec0,(a0) ; LSR #4,D0 / MULU D0,D7 ? bne testRAMTOS1_4 ; nein -> RAMTOS1.4 move.l #$cec0e84f,$170ee ; MULU D0,D7 / LSR #4,D7 isBETA: movea.l $5232,a0 ; A0 = Zeiger auf MemAllocList bra TOSok ; testRAMTOS1_4: movea.l #$17192,a0 ;-------- Ist es RAMTOS 1.4 ? cmpi.l #$cec0e84f,(a0) ; schon gepatched ? beq isRAMTOS1_4 cmpi.l #$e848cec0,(a0) ; bne testROMTOS1_4 ; nein -> ROMTOS1.4 move.l #$cec0e84f,$17192 ; 1. mal Scrollfehler isRAMTOS1_4: move.l #$cec0e84f,$171d6 ; 2. mal Scrollfehler beheben movea.l $5232,a0 ; A0 = Zeiger auf MemAllocList bra TOSok ; testROMTOS1_4: movea.l sysbase,a1 ;-------- Ist es ROMTOS 1.4 ? cmpi.w #$0104,2(a1) ; os_version testen bne testTOS1_2 ; nein -> TOS 1.2 (BlitterTOS) movea.l $532c,a0 ; A0 = Zeiger auf MemAllocList bra TOSok ; testTOS1_2: cmpi.w #$0102,2(a1) ;-------- Ist es TOS 1.2 ? bne EndSetup ; nein -> falsches TOS -> ENDE st BadTos ; BlitterTOS -> Flag setzen movea.l $7e92,a0 ; A0 = Zeiger auf MemAllocList TOSok: move.w #1,inst_ok ; Status : Nicht im OVERSCAN-Modus ;--------------------------------------------- ; Ist der Schalter umgelegt (OVERSCAN aktiv) ? ; Es wird gewartet, bis der Videoadresszhler bis zum Ende ; der normalen Bildschirmseite hochgezhlt hat. ; Dann wird getestet, ob er auf den Anfang zurckspringt. ; Tut er das nicht, ist OVERSCAN aktiv. clr.w d0 move.b vid_basmid,d0 ; move.w d0,d1 ; addi.w #$7d,d1 ; Wait1: cmp.b vid_ismid,d1 ; bne Wait1 ; Wait2: cmp.b vid_ismid,d1 ; beq Wait2 ; cmp.b vid_ismid,d0 ; beq EndSetup ; Nicht aktiv -> Beenden clr.w inst_ok ; Status : OVERSCAN aktiv move.l v_bas_add,StartBasAdd ; Startaddr des Bildschirms move.l memtop,d0 ; Letzte beschreibbare Addresse addi.l #$8000,d0 ; bestimmen und merken move.l d0,MemEnd ; subi.l #add_len,8(a0) ; Belegten Speicherblock subi.l #add_len,memtop ; ... verkrzen tst.b BadTos ; BlitterTOS ? beq no_extra_buff ; nein, weiter subi.l #32768,8(a0) ; 32K Sicherheitpuffer ... subi.l #32768,memtop ; ... vor Bildspeicher anlegen no_extra_buff: clr.w d0 move.b sshiftmd,d0 move.w d0,Reso ; Auflsung merken .DC.w $a000 ; LineA init move.l d0,LineA ; Zeiger auf LineA Variablen move.l memtop,MyMemtop ; AltenWert sichern bsr SetOverscan ; Overscan Werte einstellen ; ; Diese einmalige Initialisieren der Werte reicht nicht aus, ; da sie beim Starten vom AES wieder zurckgesetzt werden. ; Wir mssen also die Werte kurz nach v_opnwk nochmal setzen ; ;----------------------> ALSO GEM-Routine (AES/VDI) umleiten lea.l OldVec(pc),a0 ; Alten GemTrapVektor retten move.l gemtrap,(a0) ; lea.l MyGem(pc),a0 ; move.l a0,gemtrap ; und neuen Vektor eintragen tst.b BadTos ; BlitterTOS ? beq NoSlot ; nein -> Nicht in VBL einhngen move.w _nvbls,d0 ; Anzahl Routinen in _vblqueue lsl.w #2,d0 ; mal sizeof(long) movea.l _vblqueue,a0 ; Zeiger auf _vblqueue moveq.l #4,d1 ; ersten Slot auslassen TestSlot: tst.l 0(a0,d1.w) ; ist Eintrag frei ? beq.s SlotFound ; ja, gefunden addq.w #4,d1 ; offset fr nchsten Slot cmp.w d0,d1 ; Ende der Liste ? bne.s TestSlot ; nein, nchsten Slot testen bra NoSlot ; keinen freien Slot gefunden, raus SlotFound: lea.l MyVB(pc),a1 ; eigene VBL-Routine ... move.l a1,0(a0,d1.w) ; ... in Slot eintragen NoSlot: ;---------------------------- Gemdos umleiten lea.l OldDos(pc),a0 ; Alten GemdosVektor retten move.l dostrap,(a0) ; lea.l MyDos(pc),a0 ; move.l a0,dostrap ; und neuen Vektor eintragen ;---------------------------- Xbios umleiten lea.l OldXbios(pc),a0 ; Alten XbiosVektor retten move.l xbiostrap,(a0) ; lea.l MyXbios(pc),a0 ; move.l a0,xbiostrap ; und neune Vektor eintragen ;---------------------------- Hardcopy-Routine umleiten lea.l OldHard(pc),a0 ; Alten HardcopyVektor retten move.l hardcopy,(a0) ; lea.l MyHard(pc),a0 ; move.l a0,hardcopy ; und neuen Vektor eintragen sf GemStarted EndSetup: movem.l (sp)+,d0-d7/a0-a6 rts ;############################################################# ;# ;# Die umgebogenen Traps und Vektoren ;# ---------------------------------- ;# MyGem AES/VDI Trap ;# MyDos GEMDOS Trap ;# MyXbios XBIOS TRAP ;# MyHard Hardcopy-Vektor ;# MyVB VerticalBlank-Vektor (nur bei BlitterTOS ) ;# MyMouse Mouse-Vektor (nur bei BlitterTOS) ;# ;################################################ GEM- TRAP ; XBRA-Protokoll .DC.b "XBRAOVER" ; !! Ja, das ist alles !! OldVec: .DC.l 0 MyGem: cmpi.w #$73,d0 ; Ist es ein VDI-Aufruf ? bne NotMyGem ; nein -> weiter movea.l d1,a0 ; Addresse der VDI-Parameterfelder move.l 12(a0),WorkOut ; WorkOut-Zeiger speichern movea.l (a0),a0 ; VDI-Control[0] = VDI-Befehlscode cmpi.w #1,(a0) ; ist es Open-WorkStation ? bne NotMyGem ; nein-> weiter movea.l d1,a0 movea.l 4(a0),a0 ; WorkIn-Zeiger cmpi.w #5,(a0) ; WorkIn[0] gleich Screen ? bge NotMyGem ; nein -> weiter ;-------------> NACH !!! 'v_opnwk()' in Patchroutine springen move.l 2(sp),Back ; Orginal Rcksprungadresse merken lea.l PatchIt(pc),a0 ; Rcksprung auf 'PatchIt' ... move.l a0,2(sp) ; ... umleiten NotMyGem: movea.l OldVec(pc),a0 ; Orginal GEM-Routine ... jmp (a0) ; ... ausfhren ;---------------------------------------------------------- PatchIt: bsr SetOverscan ; LineA Werte nochmal eintragen move.w #-1,-(sp) ; Auf rechte Schifttaste testen move.w #Kbshift,-(sp) ; trap #bios ; addq.l #4,sp ; tst.w d0 beq PatchCont bsr UserInstall PatchCont: bsr ClearScreen ; Rand lschen pea msg_erase(pc) ; und Mitte auf Weiss move.w #Cconws,-(sp) ; trap #gemdos ; addq.l #6,sp ; st GemStarted ; Okay GEM luft movea.l WorkOut,a0 ; Adresse des Workout-Feldes move.w RezX,0(a0) ; Work_out[0] = Breite move.w RezY,2(a0) ; Work_out[1] = Hhe move.w VPlanes,d0 ; Farben Vorgeben cmpi.w #4,d0 bne PatchMid move.w #200,78(a0) move.w #16,26(a0) bra PatchEnd PatchMid: cmpi.w #2,d0 bne PatchHigh move.w #200,78(a0) move.w #4,26(a0) bra PatchEnd PatchHigh: move.w #2,78(a0) move.w #2,26(a0) PatchEnd: move.l Back,-(sp) ; Zum 'v_opnwk()' - Aufrufer rts ; zurckspringen ;################################################ GEMDOS-Trap .DC.b "XBRAOVER" OldDos: .DC.l 0 MyDos: move.w (sp),d0 ; Je nachdem ob GEMDOS vom btst #13,d0 ; Supervisor- oder User-modus bne no_super ; aufgerufen wurde sind die move.l usp,a0 ; Parameter auf dem entsprechendem bra tst_term ; Stack no_super: lea.l 6(sp),a0 tst_term: cmpi.w #Pterm0,(a0) ; Der Overscan-Modus wird beq TermFound ; NACH jedem Programm nocheinmal cmpi.w #Pterm,(a0) ; neu installiert, da viele bne NoTerm ; Programme den Bildschirm umsetzen TermFound: movem.l d0-d7/a0-a6,-(sp) ; oder direkt beschreiben. bsr SetOverscan ; bsr ClearScreen ; NoClear: movem.l (sp)+,d0-d7/a0-a6 NoTerm: movea.l OldDos(pc),a0 jmp (a0) ;################################################ XBIOS-Trap .DC.b "XBRAOVER" OldXbios: .DC.l 0 MyXbios: move.w TruePhys,d0 beq No_Xbios move.w (sp),d0 ; Je nachdem ob XBIOS vom btst #13,d0 ; Supervisor- oder User-modus bne no_x_super ; aufgerufen wurde sind die move.l usp,a0 ; Parameter auf dem entsprechendem bra tst_phys ; Stack no_x_super: lea.l 6(sp),a0 tst_phys: cmpi.w #Physbase,(a0) ; Beim Physbase-Aufruf wird beq PhysFound ; No_Xbios: movea.l OldXbios(pc),a0 jmp (a0) PhysFound: move.l v_bas_add,d0 ; v_bas_add zurckgegeben rte ;################################################ HARDCOPY-Vec .DC.b "XBRAOVER" ; HARDCOPY OldHard: .DC.l 0 ; MyHard: move.w #-1,-(sp) ; Auf Shift ALT/HELP testen move.w #Kbshift,-(sp) ; trap #bios ; addq.l #4,sp ; cmp.b ActivateKey,d0 ; ja -> eigene Routine beq NewHard ; movea.l OldHard(pc),a0 ; nein -> alte Routine anspringen jmp (a0) ; ;------------------------------------------ NewHard: movem.l d0-d7/a0-a6,-(sp) bsr SetOverscan ; Overscan Werte nochmal setzen bsr ClearScreen ; Bilschirmrnder lschen DoNotClear: move.w #-1,dumpflag ; Hardcopy-DumpFlag lschen EndHard: movem.l (sp)+,d0-d7/a0-a6 rts ; zurck ;################################################ VBL-Vektor .DC.b "XBRAOVER" ; VerticalBlank nur bei BLITTER-TOS .DC.l 0 MyVB: tst.b GemStarted ; Luft GEM schon beq.s MyVB_1 ; nein, raus movea.l _vblqueue,a0 ; in VBL-Slot 0 schon ... tst.l (a0) ; ... GEM-Mausroutine installiert ? beq.s MyVB_1 ; nein, raus pea MyMouse(pc) ; durch eigene Mausroutine ... move.l (sp)+,(a0) ; ... ersetzen ; ??????????????????????????? movea.l MouseVec,a0 cmpi.l #$fcfe82,(a0) bne.s MyVB_1 move.w sr,-(sp) ori.w #$700,sr move.l #$fcfe8c,(a0) move.w (sp)+,sr MyVB_1: rts ;################################################ MOUSE-Vektor .DC.b "XBRAOVER" ; MouseVec nur bei BLITTER-TOS .DC.l 0 MyMouse: move.w sr,-(sp) ; Alte Interruptmaske merken ori.w #$0700,sr ; alle Interrupts sperren movea.l LineA,a0 ; Zeiger auf LineA Variablen bclr #0,CUR_FLAG(a0) ; !0 -> Maus neu zeichnen ? beq.s MyMouse_2 ; nein, raus clr.l d0 clr.l d1 move.w CUR_X(a0),d0 ; Maus X-Position holen move.w CUR_Y(a0),d1 ; Maus Y-Position holen move.w (sp)+,sr ; wieder Interrupts zulassen tst.b MOUSE_FLAG(a0) ; !0 -> Mausinterrupt ein ? bne.s MyMouse_1 ; ja, raus movem.w d0/d1,-(sp) ; Register retten lea.l SAVE_LEN(a0),a2 ; Zeiger auf LineA SpriteSaveBuffer bsr UndrawSprite ; Mauszeiger lschen movem.w (sp)+,d0/d1 ; Register restaurieren movea.l LineA,a0 lea.l SAVE_LEN(a0),a2 ; Zeiger auf LineA SpriteSaveBuffer lea.l M_POS_HX(a0),a0 ; SDB-Zeiger fr LineA-MausSprite bsr DrawSprite ; Mauszeiger neu zeichnen MyMouse_1: rts ; raus MyMouse_2: move.w (sp)+,sr ; wieder Interrupts zulassen rts ; raus ;############################################################# ;# ;# Die wichtigsten Unterprogramme ;# ------------------------------ ;# SetOverscan LineA und Auflsung initialisieren ;# ClearScreen Nur BildschirmRnder auf Schwarz ;# ClearFullScreen Ganzen Bildschirmspeicher lschen ;# ;############################################################# SetOverscan: clr.l d2 move.b sshiftmd,d2 ; Aktuelle Aufsung move.w d2,Reso ; merken add.w d2,d2 ; mal 2 als Word-Offset in Tabelle lea.l ScreenTab(pc),a0 ; TabellenZeiger holen move.w 0(a0,d2.w),RezX ; X-Auflsung move.w 6(a0,d2.w),RezY ; Y-Auflsung move.w 12(a0,d2.w),BpL ; Bytes pro Zeile add.w d2,d2 ; mal 2 als Long-Offset move.l 18(a0,d2.w),d0 ; Offset MEMTOP <> VIDEO_ADD move.l 30(a0,d2.w),d1 ; Offset MEMTOP <> V_BAS_ADD move.w d1,Offset ; merken ;---------------------------- Videoaddresse auf 'memtop + D0' move.l MyMemtop,v_bas_add tst.b BadTos ; Bei BlitterTOS beq no_buff_1 ; hinter Sicherheits- addi.l #32768,v_bas_add ; Puffer beginnen no_buff_1: add.l d0,v_bas_add move.b v_bas_add+1,vid_bashigh ; Addresse setzen move.b v_bas_add+2,vid_basmid move.l v_bas_add,VidAdd ; und merken ;---------------------------- v_bas_ad auf 'memtop + D1' setzen move.l MyMemtop,v_bas_add tst.b BadTos ; Bei BlitterTOS beq no_buff_2 ; hinter Sicherheitspuffer addi.l #32768,v_bas_add ; no_buff_2: add.l d1,v_bas_add ; v_bas_add setzen move.l v_bas_add,BasAdd ; und merken ;--------------- Werte in den negativen LineA Variablen anpassen movea.l LineA,a0 ; LineA Zeiger holen move.w RezX,v_rez_hz(a0) ; Breite setzen move.w RezX,WKXRez(a0) ; subi.w #1,WKXRez(a0) ; Breite-1 move.w RezY,v_rez_vt(a0) ; Hhe setzen move.w RezY,WKYRez(a0) ; subi.w #1,WKYRez(a0) ; Hhe-1 move.w BpL,bytes_lin(a0) ; Bytes pro Zeile setzen move.w BpL,width(a0) ; move.w RezX,d0 ; asr.w #3,d0 ; subq.w #1,d0 ; Breite/8 -1 move.w d0,v_cel_mx(a0) ; -> Anzahl Buchstaben pro Zeile clr.l d0 ; move.w RezY,d0 ; divu.w v_cel_ht(a0),d0 ; subq.w #1,d0 ; Hhe/Buchstabenhhe -1 move.w d0,v_cel_my(a0) ; -> Anzahl Buchstabenzeilen move.w v_cel_ht(a0),d0 ; mulu.w BpL,d0 ; AnzBuchstaben*BytesProZeile move.w d0,v_cel_wr(a0) ; -> Blocklnge fr Scrolling move.w v_planes(a0),VPlanes ; Anzahl der Farbebenen tst.b BadTos ; BLITTER-TOS ? beq setLineA_1 ; nein -> fertig ;----------------------------- move.w #3,MonPLine move.b sshiftmd,d0 cmpi.b #1,d0 bgt setLineA_1 move.w #2,MonPLine tst.b d0 bne setLineA_1 move.w #1,MonPLine setLineA_1: bsr ResetCursor ; Neue CursorAddresse bestimmen rts ;----------------------------- CallSetOverscan: move.w sr,d0 btst #13,d0 beq DoCallOver bra SetOverscan DoCallOver: pea SetOverscan(pc) ; im move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; addq.l #6,sp rts ;############################################################# ClearScreen: bsr BlackColor ; Lschfarbe holen in D0 move.l d0,d4 ; ;----------------------------- movea.l VidAdd,a1 ; Oberen Rand lschen movea.l BasAdd,a0 ; subq.l #2,a0 ; Falls HIGH_OFF nicht /4 teilbar Hflp: move.l d4,(a1)+ ; Vor dem Bildschirm Rcklauf cmpa.l a0,a1 ; Pixel auf Schwarz setzen blt Hflp ; ;----------------------------- move.w Reso,d5 ; movea.l BasAdd,a0 ; Links & Rechts im Rcklauf lschen clr.l d0 ; Den ungenutzten Bereich im clr.l d1 ; Rcklauf auf Schwarz setzen move.w BpL,d0 ; Bytes pro Zeile - Pixel/xxx move.w RezX,d1 ; addq.w #1,d5 asr.w d5,d1 ; >>3:High >>2:Mid >>1:Low sub.w d1,d0 ; move.w RezY,d2 ; Hhe des Bereichs subq.w #1,d2 ; subq.w #1,d0 ; Hlp1: adda.l d1,a0 ; Normalen Bildbereich berspringen move.w d0,d3 ; Hlp2: move.b d4,(a0)+ ; Bereich lschen dbf d3,Hlp2 ; dbf d2,Hlp1 ; ;----------------------------- move.l a0,d0 ; Unteren Bildrand lschen bclr #0,d0 ; Zeiger auf gerade Addresse movea.l d0,a0 ; bringen move.l MemEnd,d1 ; Anzahl der zulschenden Blcke sub.l d0,d1 ; Speicherende minus ZeigerAddr asr.l #4,d1 ; durch 16 (Blocklnge) subq.l #1,d1 ; minus 1 (wegen dbf) ;----------------------------- Hlp3: move.l d4,(a0)+ ; auf Schwarz lschen move.l d4,(a0)+ ; move.l d4,(a0)+ ; move.l d4,(a0)+ ; dbf d1,Hlp3 ; rts ; fertig ;----------------------------- CallClearScreen: move.w sr,d0 btst #13,d0 beq DoCallClearSc bra ClearScreen DoCallClearSc: pea ClearScreen(pc) ; im move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; addq.l #6,sp rts ;############################################################# ; Gesamten Bildspeicher lschen (auf schwarz) ; Lschfarbe bestimmen ClearFullScreen: bsr BlackColor ; Lschwert holen in D0 move.l #$8000,d1 ; Lnge des alten Bildschirmspeichers addi.l #add_len,d1 ; plus Erweiterung lsr.l #4,d1 ; geteilt durch 16L subq.l #1,d1 ; minus 1 wegen dbf ;----------------------------- movea.l MyMemtop,a0 ; ab MEMTOP lschen tst.b BadTos ; BlitterTOS ? beq sc_clp ; Sicherheitspuffer beachten adda.l #32768,a0 ; alte Lnge ;----------------------------- sc_clp: move.l d0,(a0)+ ; move.l d0,(a0)+ ; move.l d0,(a0)+ ; move.l d0,(a0)+ ; dbf d1,sc_clp ; die nchsten 16 Bytes bsr ResetCursor rts ; fertig ;----------------------------- CallClearFull: move.w sr,d0 btst #13,d0 beq DoCallClearFu bra ClearFullScreen DoCallClearFu: pea ClearFullScreen(pc) ; im move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; addq.l #6,sp rts ;----------------------------- BlackColor: move.l #-1,d0 ; erstmal Fllwert $FFFFFFFF move.w Reso,d1 ; Bildschirmmodus ... cmpi.w #2,d1 ; ... Monochrom ? bne NotWhite ; nein, weiter btst #0,$ff8241 ; Inverse Monochrome ? bne NotWhite ; nein, Farbe richtig not.l d0 ; sonst Fllwert $0 NotWhite: rts ;----------------------------- CallBlackColor: move.w sr,d0 btst #13,d0 beq DoCallBlackCo bra BlackColor DoCallBlackCo: pea BlackColor(pc) ; im move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; addq.l #6,sp rts ;############################################################# ; Retten des alten SchirmInhaltes in den neuen OVERSCAN Bildschirm ; ScreenSave: movem.l d0-d7/a0-a6,-(sp) ; movea.l StartBasAdd,a0 ; Bildschirmspeicher kurz movea.l MyMemtop,a1 ; vor MemTop kopieren ! suba.l #$8000,a1 ; move.l #1000,d0 ScSaveLoop: movem.l (a0)+,d1-d7/a2 movem.l d1-d7/a2,(a1) lea.l 32(a1),a1 ; 32 Bytes transportieren dbf d0,ScSaveLoop movem.l (sp)+,d0-d7/a0-a6 rts ;--------------------------------------------------------- ScreenCopy: movem.l d0-d7,-(sp) ; movea.l BasAdd,a0 ; Bildschirmspeicher wieder movea.l MyMemtop,a1 ; zurckkopieren suba.l #$8000,a1 ; move.w #160,d0 ; Alte Breite in BYTE D0 move.w #200,d1 ; Alte Hhe D1 cmpi.w #2,Reso ; bne CopyNoHigh ; move.w #80,d0 ; High-Reso move.w #400,d1 ; CopyNoHigh: clr.l d2 ; move.w BpL,d2 ; Neue Bytes Pro Line D3 sub.w d0,d2 ; Differenz Neue-Alte asr.w #2,d0 ; /4 -> Longs subq.w #1,d0 ; wegen dbf -> LONGs to copy subq.w #1,d1 ; Lines to Copy subq.w #1,d2 ; Rest zu lschen CopyLoop: move.w d0,d3 ; Copy_1: move.l (a1)+,(a0)+ ; Alten Schirm kopieren dbf d3,Copy_1 ; move.w d2,d3 ; Copy_2: clr.b (a0)+ ; dbf d3,Copy_2 ; Zeile bis Ende lschen dbf d1,CopyLoop ; bsr CallClearScreen bsr ResetCursor ; CursorAddr bestimmen movem.l (sp)+,d0-d7 rts ;##################################################################### ; Neue CursorAddresse bestimmen ; ResetCursor: movea.l LineA,a0 ; move.l BasAdd,v_cur_add(a0) ; Neue Addresse move.w v_cur_y(a0),d0 ; = V_bas_add mulu.w v_cel_wr(a0),d0 ; add.l d0,v_cur_add(a0) ; + y * cel_wr move.w v_cur_x(a0),d0 ; bclr.l #0,d0 ; + x^1 * v_planes mulu.w v_planes(a0),d0 ; add.l d0,v_cur_add(a0) ; + x^1 * planes move.w v_cur_x(a0),d0 ; andi.l #$fffe,d0 ; add.w d0,v_cur_add(a0) ; + x&1 clr.l d0 ; move.w v_cur_of(a0),d0 ; add.l d0,v_cur_add(a0) ; + cursor_offset rts ;############################################################# ;# ;# INTRO GrowBox Effekt und Sound ;# ;############################################################# Intro: bsr ScreenSave pea SoundTab(pc) ; Sound abspielen move.w #Dosound,-(sp) trap #xbios addq.l #6,sp ;----------------------------- clr.w d0 bsr set_color move.w Reso,d5 ; Aktuelle Aufsung add.w d5,d5 ; mal 2 als Word-Offset in Tabelle lea.l ScreenTab(pc),a0 move.w RezX,d6 ; D6 = (Breite - AlteBreite)/2 cmp.w 42(a0,d5.w),d6 ; Neue Breite kleiner als Alte ? blt EndIntro ; ja -> Nur Schirm kopieren sub.w 42(a0,d5.w),d6 asr.w #1,d6 move.w d6,d0 ; als X1 move.w d0,d2 add.w 42(a0,d5.w),d2 ; X2 = X1 + AlteAuflsung move.w RezY,d7 ; D7 = (Hhe - AlteHhe )/2 cmp.w 48(a0,d5.w),d7 ; Neue Hhe kleiner als Alte ? blt EndIntro ; ja -> Nur Schirm kopieren sub.w 48(a0,d5.w),d7 asr.w #1,d7 move.w d7,d1 ; als Y1 move.w d1,d3 add.w 48(a0,d5.w),d3 ; Y2 = Y1 + AlteAuflsung move.w d6,Dx ; Alle Werte abspeichern move.w d7,Dy ; move.w d0,Xa ; move.w d1,Ya ; move.w d2,Xe ; move.w d3,Ye ; movem.l d0-d7/a0-a6,-(sp) bsr CallClearFull movem.l (sp)+,d0-d7/a0-a6 bsr draw_rect ; Das gefllte Rechteck zeichnen ;------------------------------------------------------------- move.w d6,Max ; In welche Richtung ist der cmp.w d6,d7 ; Zugewinn am grten ? blt grow_box ; move.w d7,Max ; grow_box: move.w #1,d6 ; Zaehler grow_loop: clr.w d7 ; Schleife fr die grer werdenden move.w Dx,d4 ; Rechtecke. Die Bewegung soll mulu.w d6,d4 ; proportional verlaufen... divu.w Max,d4 ; ...deswegen der ganze Hermann move.w Dy,d5 ; mulu.w d6,d5 divu.w Max,d5 cmpi.w #0,d0 ; X links oben beq no_d0 move.w Xa,d0 sub.w d4,d0 addq.w #1,d7 no_d0: cmpi.w #0,d1 ; Y links oben beq no_d1 move.w Ya,d1 sub.w d5,d1 addq.w #1,d7 no_d1: cmp.w RezX,d2 ; X rechts unten beq no_d2 move.w Xe,d2 add.w d4,d2 addq.w #1,d7 no_d2: cmp.w RezY,d3 ; Y rechts unten beq no_d3 move.w Ye,d3 add.w d5,d3 addq.w #1,d7 no_d3: bsr draw_box ; das Rechteck zeichnen ;----------------------------- addq.w #1,d6 ; tst.w d7 ; Solange sich noch was ndert bne grow_loop ; die Rechteckschleife wiederholen EndIntro: bsr ResetCursor bra ScreenCopy ;----------------------------- set_color: movea.l LineA,a0 ; Farbe setzen move.w d0,col_bit0(a0) ; move.w d0,col_bit1(a0) ; move.w d0,col_bit2(a0) ; move.w d0,col_bit3(a0) ; rts ;--------------------------------- draw_box: movea.l LineA,a0 ; Ein Rechteck aus Linien zeichnen clr.w wmode(a0) ; d0/d1 linke obere Ecke move.w #$ffff,lnmask(a0) ; d2/d3 rechte untere Ecke move.w #1,lstlin(a0) move.w d0,x1(a0) move.w d1,y1(a0) move.w d2,x2(a0) move.w d1,y2(a0) bsr draw_line ; Oben movea.l LineA,a0 move.w d2,x1(a0) move.w d1,y1(a0) move.w d2,x2(a0) move.w d3,y2(a0) bsr draw_line ; Rechts movea.l LineA,a0 move.w d2,x1(a0) move.w d3,y1(a0) move.w d0,x2(a0) move.w d3,y2(a0) bsr draw_line ; Unten movea.l LineA,a0 move.w d0,x1(a0) move.w d1,y1(a0) move.w d0,x2(a0) move.w d3,y2(a0) bsr draw_line ; Links rts ;----------------------------- draw_diag: movea.l LineA,a0 ; Diagonalen zeichnen move.w d0,x1(a0) ; move.w d1,y1(a0) ; Parameter wie oben move.w d2,x2(a0) ; move.w d3,y2(a0) bsr draw_line ; Diagonale links movea.l LineA,a0 move.w d2,x1(a0) move.w d1,y1(a0) move.w d0,x2(a0) move.w d3,y2(a0) bsr draw_line ; Diagonale rechts EndBox: rts ;----------------------------- draw_line: movem.l d0-d7,-(sp) ; Einzelne Linie Ziehen .DC.w $a003 movem.l (sp)+,d0-d7 rts ;----------------------------- pattern: .DC.w $ffff ; Fuellmuster ;----------------------------- draw_rect: movem.l d0-d7,-(sp) ; Ein Rechteck zeichnen movea.l LineA,a0 ; move.w #1,mfill(a0) ; d0/d1 linke obere Ecke clr.w wmode(a0) ; d2/d3 rechte untere Ecke move.w d0,x1(a0) move.w d1,y1(a0) move.w d2,x2(a0) move.w d3,y2(a0) lea.l pattern(pc),a1 move.l a1,patptr(a0) move.w #1,patmsk(a0) clr.w clip(a0) .DC.w $a005 movem.l (sp)+,d0-d7 rts ;############################################################# ;# ;# OVERSCAN - Einstellung ;# ;############################################################# UserInstall: bsr UserInit ; Initialisieren UserLoop: move.w #0,d0 ; Wiederhole bsr DrawSetup ; bsr WriteSetup ; Zeichne Kreuz und Werte bsr GetKey ; Hole Taste move.w #1,d0 ; bsr DrawSetup ; Lsche Kreuz bsr ChangeSetup ; Bearbeite Taste tst.w UserSave ; beq UserLoop ; Bis EndeFlag gesetzt bra UserExit ; Meldung ausgeben ;------------------------------------------------------------ UserInit: bsr CallClearFull ; Schirm lschen bsr CallClearPal ; Farbregister 3 lschen move.w Reso,ResoSave ; Startauflsung merken bsr InitReso clr.w UserSave bsr Do_Help ; HilfsText bra CallClearFull ; und wieder schwarz ;-------------------------------------------- UserExit: pea msg_erase(pc) ; Bildschirm lschen & CursorHome move.w #Cconws,-(sp) ; trap #gemdos ; addq.l #6,sp ; move.w UserSave,d0 cmpi.w #1,d0 ; 1 -> Nicht gespeichert bne tstNotFound pea msg_nosave(pc) ; move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp bra UserContinue ;---------------------- tstNotFound: cmpi.w #2,d0 ; 2 -> Datei nicht gefunden bne Saved ; pea save_name(pc) ; Datei-Name ausgeben move.w #Cconws,-(sp) ; trap #gemdos ; addq.l #6,sp ; pea msg_notfound(pc) ; move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp move.w #Cnecin,-(sp) ; Tastendruck abwarten trap #gemdos addq.l #2,sp bra UserContinue ;-------------------------- Saved: pea msg_save(pc) ; 3 -> Alles gespeichert move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp UserContinue: move.w Reso,d0 cmp.w ResoSave,d0 bne NoRestorePal bsr CallRestorePal ; Farbregister 3 zurck NoRestorePal: rts ;----------------------------- GetKey: move.w #Cnecin,-(sp) trap #gemdos addq.l #2,sp swap.w d0 ; ScanCode move.w d0,UserKey rts ;----------------------------- ChangeSetup: move.w UserKey,d0 ; Auf Tastendruck reagieren cmpi.w #16,d0 ; Q bne NoQ move.w #1,UserSave bra ChangeClear NoQ: cmpi.w #31,d0 ; S bne NoS bra Do_Save NoS: cmpi.w #98,d0 ; Help bne NoHelp bsr Do_Help bra ChangeClear NoHelp: cmpi.w #75,d0 ; LinksPfeil bne NoLeft bra Do_Left NoLeft: cmpi.w #77,d0 ; RechtsPfeil bne NoRight bra Do_Right NoRight: cmpi.w #72,d0 ; RaufPfeil bne NoUp bra Do_Up NoUp: cmpi.w #80,d0 ; RunterPfeil bne NoDown bra Do_Down NoDown: cmpi.w #101,d0 ; / bne NoDiv bsr Do_Div bra ChangeClear NoDiv: cmpi.w #102,d0 ; * bne NoMul bsr Do_Mul bra ChangeClear NoMul: cmpi.w #74,d0 ; - bne NoSub bsr Do_Sub bra ChangeClear NoSub: cmpi.w #78,d0 ; + bne NoAdd bsr Do_Add bra ChangeClear NoAdd: cmpi.w #25,d0 ; P bne NoP bsr Do_Phys bra ChangeClear NoP: cmpi.w #46,d0 ; C bne NoC bsr Do_Activ bra ChangeClear NoC: cmpi.w #35,d0 ; H bne NoH bsr ResoChangeTest bne ChangeClear move.w #2,d0 bra SetScreenReso NoH: cmpi.w #50,d0 ; M bne NoM bsr ResoChangeTest bne ChangeClear move.w #1,d0 bra SetScreenReso NoM: cmpi.w #38,d0 ; L bne EndChange bsr ResoChangeTest bne ChangeClear move.w #0,d0 bra SetScreenReso EndChange: rts ChangeClear: bra CallClearFull ;---------------------------------------------- ClearPal: move.w vid_pal3,Pal3Save ; Farbregister 3 retten move.w vid_palF,PalFSave clr.w vid_pal3 ; auf schwarz setzen clr.w vid_palF rts CallClearPal: move.w sr,d0 btst #13,d0 beq DoCallClearPa bra ClearPal DoCallClearPa: pea ClearPal(pc) ; Farbregister 3 lschen move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; addq.l #6,sp rts ;---------------------------------------------- RestorePal: move.w Pal3Save,vid_pal3 ; Farbregister 3 zurck move.w PalFSave,vid_palF rts CallRestorePal: move.w sr,d0 btst #13,d0 beq DoCallRestore bra RestorePal DoCallRestore: pea RestorePal(pc) ; Farbregister 3 lschen move.w #Supexec,-(sp) ; Supervisormodus durchfhren trap #xbios ; addq.l #6,sp rts ;---------------------------------------------- InitReso: move.w #8,Y_Inc move.w Reso,d0 ; Aktuelle Auflsung cmpi.w #2,d0 ; bne NoHighReso ; move.w #16,Y_Inc ; Y-Inkrement feststellen ;----------------------------- NoHighReso: move.l #8,d1 ; tst.w d0 beq InitOffset asr.l d0,d1 ; InitOffset: move.l d1,Off_Inc ; Offset-Inkrement festlegen ;----------------------------- clr.l d1 ; Max X/Y feststellen move.w d0,d1 ; addq.w #1,d1 ; move.w #1,d2 ; asl.w d1,d2 ; 1 << (Reso+) mulu.w BpL,d2 ; move.w d2,X_Max ; MaxX = Bpl * 1<<(Reso+1) move.l MemEnd,d1 ; sub.l MyMemtop,d1 ; divu.w BpL,d1 ; MaxY = Speicherlnge/BytePerLine move.w d1,Y_Max ; move.w #320,X_Min ; move.w #160,Y_Min ; cmpi.w #2,d0 ; bne InitPointer ; move.w #320,Y_Min ; ;----------------------------- InitPointer: add.w d0,d0 ; Words lea.l ScreenTab(pc),a0 ; Breite/Hhe/Offset Pointer lea.l 0(a0,d0.w),a1 ; ermitteln move.l a1,X_Add lea.l 6(a0,d0.w),a1 move.l a1,Y_Add add.w d0,d0 ; Longs lea.l 30(a0,d0.w),a1 move.l a1,Off_Add rts ;----------------------------- Do_Save: bsr CallClearFull ; Schirm lschen move.w #2,UserSave ; Nicht gefunden Flag setzen move.w #1,-(sp) ; Fopen('\AUTO\OVERSCAN.PRG',1) pea save_name(pc) ; move.w #Fopen,-(sp) trap #gemdos ; addq.l #8,sp ; tst.w d0 ; Gefunden ? bmi EndSave ; nein -> ende move.w #3,UserSave ; Flag setzen... move.w d0,Handle ; Dateihandle merken clr.w -(sp) ; move.w Handle,-(sp) ; Header berlesen move.l #30,-(sp) ; move.w #Fseek,-(sp) ; Fseek(30,Handle,0) trap #gemdos ; lea.l $a(sp),sp ; pea ScreenTab(pc) ; ScreenTab speichern move.l #60,-(sp) ; move.w Handle,-(sp) ; move.w #Fwrite,-(sp) ; Fwrite(Handle,60L,ScreenTab) trap #gemdos ; lea.l $c(sp),sp ; move.w Handle,-(sp) ; move.w #Fclose,-(sp) ; Fclose(Handle) trap #gemdos ; addq.l #4,sp ; EndSave: rts ;---------------------------------------------------- Do_Help: pea msg_help(pc) ; Hilfstext ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp move.w #Cnecin,-(sp) trap #gemdos addq.l #2,sp ; Tastendruck abwarten rts ;----------------------------- Do_Left: move.w X_Min,d0 ; Breite vermindern cmp.w RezX,d0 bge End_Left movea.l X_Add,a0 subi.w #16,(a0) bsr CallSetOverscan End_Left: rts ;----------------------------- Do_Right: move.w X_Max,d0 ; Breite erhhen cmp.w RezX,d0 ble End_Right movea.l X_Add,a0 addi.w #16,(a0) bsr CallSetOverscan End_Right: rts ;----------------------------- Do_Up: move.w Y_Min,d0 ; Hhe vermindern cmp.w RezY,d0 bge End_Up movea.l Y_Add,a0 move.w Y_Inc,d0 sub.w d0,(a0) bsr CallSetOverscan End_Up: rts ;----------------------------- Do_Down: move.w Y_Max,d0 ; Hhe erhhen cmp.w RezY,d0 ble End_Down movea.l Y_Add,a0 move.w Y_Inc,d0 add.w d0,(a0) bsr CallSetOverscan End_Down: rts ;----------------------------- Do_Div: movea.l Off_Add,a0 ; Offset vermindern move.l Off_Inc,d0 ; Linke obere Ecke nach links sub.l d0,(a0) bra CallSetOverscan ;----------------------------- Do_Mul: movea.l Off_Add,a0 ; Offset erhhen move.l Off_Inc,d0 ; Linke obere Ecke nach rechts add.l d0,(a0) bra CallSetOverscan ;----------------------------- Do_Sub: movea.l Off_Add,a0 ; Offset erhhen clr.l d0 move.w BpL,d0 ; Linke obere Ecke nach oben sub.l d0,(a0) bra CallSetOverscan ;----------------------------- Do_Add: movea.l Off_Add,a0 ; Offset erhhen clr.l d0 move.w BpL,d0 ; Linke obere Ecke nach unten add.l d0,(a0) bra CallSetOverscan ;----------------------------- Do_Phys: move.w TruePhys,d0 ; Den jetzigen Zustand ausgeben tst.w d0 bne PhysIsOn pea msg_phys_on(pc) bra Write_phys PhysIsOn: pea msg_phys_off(pc) Write_phys: move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp move.w #Cnecin,-(sp) trap #gemdos addq.l #2,sp swap.w d0 cmpi.w #44,d0 ; Nur bei 'Y' bne EndPhys not.w TruePhys ; -> Zustand ndern EndPhys: rts ;----------------------------- Do_Activ: move.b ActivateKey,d0 ; Den jetzigen Zustand ausgeben cmpi.b #9,d0 beq ActivShift pea msg_shift_off(pc) bra Write_Shift ActivShift: pea msg_shift_on(pc) Write_Shift: move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp move.w #Cnecin,-(sp) trap #gemdos addq.l #2,sp swap.w d0 cmpi.w #49,d0 ; Nur bei 'N' bne EndShift bchg #0,ActivateKey ; Zustand ndern EndShift: rts ;----------------------------- ResoChangeTest: pea msg_change(pc) ; Hilfstext ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp move.w #Cnecin,-(sp) trap #gemdos addq.l #2,sp swap.w d0 cmpi.w #44,d0 rts ;----------------------------- SetScreenReso: move.w d0,-(sp) ; Neue Auflsung mit Setscreen move.l #-1,-(sp) ; setzen move.l #-1,-(sp) ; move.w #Setscreen,-(sp) ; trap #xbios ; lea.l $c(sp),sp bsr CallSetOverscan ; Overscan neu installieren bsr CallClearFull ; bra InitReso ; und initialisieren ;----------------------------- DrawSetup: bsr set_color ; Box mit Diagonalen zeichnen move.w #0,d0 move.w #0,d1 move.w RezX,d2 subq.w #1,d2 move.w RezY,d3 subq.w #1,d3 bsr draw_box bra draw_diag ;----------------------------- WriteSetup: lea.l user_x(pc),a1 ; Zahlenwerte schreiben move.w RezX,d0 bsr WriteDec lea.l user_y(pc),a1 move.w RezY,d0 bsr WriteDec lea.l user_off(pc),a1 move.w Offset,d0 bra WriteHex ;----------------------------- WriteDec: movem.l d0-d7,-(sp) ; Zahlen ausgabe in Dezimal lea.l end_number(pc),a0 ; Alten String lschen move.w #3,d2 ; WriteClr: move.b #' ',-(a0) ; dbf d2,WriteClr ; lea.l end_number(pc),a0 ; swap.w d0 ; Oberen Werte lschen clr.w d0 swap.w d0 WriteLp: divu.w #10,d0 swap.w d0 move.w d0,d1 clr.w d0 ; Modulo Rest lschen swap.w d0 addi.w #'0',d1 move.b d1,-(a0) tst.l d0 bne WriteLp ;----------------------------- move.l a1,-(sp) ; Text ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp pea user_number(pc) ; Zahlzeile ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp movem.l (sp)+,d0-d7 rts ;----------------------------- WriteHex: movem.l d0-d7,-(sp) ; Zahlen Ausgabe in Hexadezimal lea.l end_number(pc),a0 ; Alten String lschen move.w #3,d2 WriteHlp: move.b d0,d1 andi.w #$f,d1 cmpi.w #9,d1 ble NotAF subi.w #10,d1 addi.w #'A',d1 bra WriteIt NotAF: addi.w #'0',d1 WriteIt: move.b d1,-(a0) asr.w #4,d0 dbf d2,WriteHlp ;----------------------------- move.l a1,-(sp) ; Text ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp pea user_number(pc) ; Zahlzeile ausgeben move.w #Cconws,-(sp) trap #gemdos addq.l #6,sp movem.l (sp)+,d0-d7 rts ;############################################################# ; eigene Versionen der DrawSprite und UndrawSprite Routinen ; die nicht auf 32KB Bildschirmspeicher begrenzt sind. ; ; mit einigen Anpassungen fr OVERSCAN ; von Bernd Gebauer 31.05.89 ; DrawSprite: ; Parameter ; D0.W : X-Koordinate des Aktionspunktes des Sprites auf Schirm ; D1.W : Y-Koordinate ; A0 : Zeiger auf SDB-Struktur ; A2 : Zeiger auf Sprite-Save-Buffer ( #Farbebenen*64 + 10 ) move.w 6(a0),-(sp) ; bgcol retten move.w 8(a0),-(sp) ; fgcol retten clr.w d2 tst.w 4(a0) ; form ( 1=VDI , -1=XOR ) bge.s lab_1 moveq.l #16,d2 lab_1: move.w d2,-(sp) ; offset retten clr.w d2 bclr #1,6(a2) sub.w 0(a0),d0 ; X -= xhot bcs.s lab_2 move.w RezX,d3 subi.w #15,d3 cmp.w d3,d0 ; xhot > XRez-15 ? bhi.s lab_4 ; ja, weiter bset #1,6(a2) ; Clipflag setzen bra.s lab_3 ;------------- lab_2: addi.w #16,d0 moveq.l #8,d2 bra.s lab_3 ;------------- lab_4: moveq.l #16,d2 lab_3: sub.w 2(a0),d1 ; Y -= yhot lea.l 10(a0),a0 ; Zeiger auf Sprite-Image 32Bytes bcs.s lab_5 move.w RezY,d3 subi.w #15,d3 cmp.w d3,d1 ; bhi.s lab_6 moveq.l #16,d5 bra.s lab_7 ;------------- lab_5: move.w d1,d5 addi.w #16,d5 asl.w #2,d1 suba.w d1,a0 clr.w d1 bra.s lab_7 ;------------- lab_6: move.w RezY,d5 sub.w d1,d5 addq.w #1,d5 lab_7: ; D0 = X , D1 = Y bsr CalcScreenPos ; D0 = X mod 15 , D1.L = offset vom Bildschirmanfang movea.l v_bas_add,a1 ; Bildspeicheradresse adda.l d1,a1 ; + offset lea.l func_2,a3 move.w d0,d6 ; X mod 15 cmpi.w #8,d6 ; (X mod 15) < 8 ? bcs.s lab_8 ; ja, weiter lea.l func_1,a3 move.w #16,d6 sub.w d0,d6 ; 16 - (X mod 15) lab_8: movea.l tab1(pc,d2.w),a5 movea.l tab1+4(pc,d2.w),a6 move.w VPlanes,d2 move.w d2,d3 add.w d3,d3 move.w BpL,d4 move.l a1,2(a2) move.w d5,0(a2) bset #0,6(a2) lea.l 8(a2),a2 move.l a1,d7 move.w d5,d1 bra.s lab_9 ;----------------------------------------------------- tab1: .DC.l proc_1 .DC.l proc_2 .DC.l proc_3 .DC.l proc_4 .DC.l proc_5 .DC.l proc_6 ;----------------------------------------------------- loop_1: clr.w d0 lsr.w 2(sp) addx.w d0,d0 lsr.w 4(sp) roxl.w #3,d0 add.w 0(sp),d0 movea.l tab2(pc,d0.w),a4 movem.l d1/d2,-(sp) jsr (a6) movem.l (sp)+,d1/d2 move.w d1,d5 lsl.w #2,d5 suba.w d5,a0 move.w d1,d5 addq.l #2,d7 movea.l d7,a1 lab_9: dbra d2,loop_1 addq.l #6,sp rts ;----------------------------------------------------- tab2: .DC.l proc_7 .DC.l proc_8 .DC.l proc_9 .DC.l proc_a .DC.l proc_b .DC.l proc_c .DC.l proc_d .DC.l proc_e ;----------------------------------------------------- loop_2: move.w (a1),d2 swap.w d2 move.w 0(a1,d3.w),d2 move.l d2,(a2)+ jmp (a3) ;------------- proc_1: move.w d2,0(a1,d3.w) swap.w d2 move.w d2,(a1) adda.w d4,a1 proc_2: dbra d5,loop_2 rts ;----------------------------------------------------- loop_3: move.w (a1),d2 move.w d2,(a2)+ jmp (a3) ;------------- proc_3: move.w d2,(a1) adda.w d4,a1 proc_4: dbra d5,loop_3 rts ;----------------------------------------------------- loop_4: move.w (a1),d2 move.w d2,(a2)+ swap.w d2 jmp (a3) ;------------- proc_5: swap.w d2 move.w d2,(a1) adda.w d4,a1 proc_6: dbra d5,loop_4 rts ;----------------------------------------------------- func_1: moveq.l #0,d0 move.w (a0)+,d0 rol.l d6,d0 moveq.l #0,d1 move.w (a0)+,d1 rol.l d6,d1 jmp (a4) ;----------------------------------------------------- func_2: moveq.l #0,d0 move.w (a0)+,d0 swap.w d0 ror.l d6,d0 moveq.l #0,d1 move.w (a0)+,d1 swap.w d1 ror.l d6,d1 jmp (a4) ;----------------------------------------------------- proc_7: ; (~(D0|D1))&D2 --> D2 or.l d1,d0 not.l d0 and.l d0,d2 jmp (a5) ;----------------------------------------------------- proc_8: ; (D0|D2)&(~D1) --> D2 or.l d0,d2 not.l d1 and.l d1,d2 jmp (a5) ;----------------------------------------------------- proc_9: ; ((~D0)&D2)|D1 --> D2 not.l d0 and.l d0,d2 or.l d1,d2 jmp (a5) ;----------------------------------------------------- proc_a: ; (D0|D1|D2) --> D2 or.l d0,d2 or.l d1,d2 jmp (a5) ;----------------------------------------------------- proc_b: ; (~(D1^D2))&D0 --> D2 eor.l d1,d2 not.l d0 and.l d0,d2 jmp (a5) ;----------------------------------------------------- proc_c: ; (D0|D2)^D1 --> D2 or.l d0,d2 eor.l d1,d2 jmp (a5) ;----------------------------------------------------- proc_d: ; ((~D0)&D2)^D1 --> D2 not.l d0 and.l d0,d2 eor.l d1,d2 jmp (a5) ;----------------------------------------------------- proc_e: ; (D0^D2)|D1 --> D2 eor.l d0,d2 or.l d1,d2 jmp (a5) ;----------------------------------------------------- UndrawSprite: ; A2 = Zeiger auf SpriteSaveBlock bclr #0,6(a2) beq lab_10 ; raus move.w 0(a2),d4 ; xhot move.w d4,d2 ; xhot subq.w #1,d2 ; xhot - 1 move.w BpL,d3 movea.l 2(a2),a0 ; Zeiger auf Bildschirmoffset lea.l 8(a2),a1 ; Zeiger auf Spritedaten move.w VPlanes,d5 subq.w #2,d5 bhi.s lab_11 beq.s lab_12 btst #1,6(a2) bne.s lab_13 loop_9: move.w (a1)+,(a0) adda.w d3,a0 ; + Bytes per Line dbf d2,loop_9 ; nchste Zeile rts ; raus ;----------------------- lab_13: move.l (a1)+,(a0) adda.w d3,a0 dbra d2,lab_13 rts ;----------------------------------------------------- lab_12: movea.l a0,a5 add.w d4,d4 btst #1,6(a2) bne.s lab_14 movea.l a1,a2 adda.w d4,a2 loop_5: move.w (a1)+,(a0)+ move.w (a2)+,(a0) adda.w d3,a5 movea.l a5,a0 dbra d2,loop_5 rts ;------------- lab_14: movea.l a1,a2 adda.w d4,a2 adda.w d4,a2 loop_6: move.w (a1)+,(a0)+ move.w (a2)+,(a0)+ move.w (a1)+,(a0)+ move.w (a2)+,(a0) adda.w d3,a5 movea.l a5,a0 dbra d2,loop_6 rts ;----------------------------------------------------- lab_11: movea.l a0,a5 add.w d4,d4 btst #1,6(a2) ; VDI oder XOR ? bne.s lab_15 ; movea.l a1,a2 adda.w d4,a2 movea.l a2,a3 adda.w d4,a3 movea.l a3,a4 add.w d4,d4 loop_7: move.w (a1)+,(a0)+ move.w (a2)+,(a0)+ move.w (a3)+,(a0)+ move.w (a4)+,(a0) adda.w d3,a5 movea.l a5,a0 dbra d2,loop_7 rts ;------------- lab_15: add.w d4,d4 movea.l a1,a2 adda.w d4,a2 movea.l a2,a3 adda.w d4,a3 movea.l a3,a4 adda.w d4,a4 loop_8: move.w (a1)+,(a0)+ move.w (a2)+,(a0)+ move.w (a3)+,(a0)+ move.w (a4)+,(a0)+ move.w (a1)+,(a0)+ move.w (a2)+,(a0)+ move.w (a3)+,(a0)+ move.w (a4)+,(a0) adda.w d3,a5 movea.l a5,a0 dbra d2,loop_8 lab_10: rts ;----------------------------------------------------- CalcScreenPos: ; Parameter : ; in : ; D0.W = X-Position ; D1.W = Y-Position ; out : ; D0.W = X mod 15 ; D1.L = offset vom Bildschirmanfang ; alle anderen Register unverndert movem.w d2/d3,-(sp) mulu.w BpL,d1 ; Y *= Bytes per line clr.l d2 move.w d0,d2 ; (long) X andi.w #$fff0,d2 move.w MonPLine,d3 asr.l d3,d2 add.l d2,d1 andi.w #$f,d0 ; X mod 15 movem.w (sp)+,d2/d3 rts ;############################################################# .DATA msg_title: .DC.b 13,10 .DC.b ' Overscan Version 1.6 K.Isakovic ',13,10,0 msg_installed: .DC.b '| installed. B.Gebauer |',13,10 .DC.b '| |',13,10 .DC.b ' Hold Shift-Key for Setup ',13,10,0 msg_notactive: .DC.b ' NOT aktivated. B.Gebauer ',13,10,0 msg_noTos: .DC.b '| NOT installed. B.Gebauer |',13,10,7,7 .DC.b ' Only with TOS 1.2/1.4 or BETA-TOS ',13,10,0 msg_already: .DC.b ' already installed... B.Gebauer ',13,10,7,7,0 msg_erase: .DC.b 27,'E',0 user_x: .DC.b 27,'Y',33,40,27,'p','X:',0 user_y: .DC.b 'Y:',0 user_off: .DC.b 'Off:',0 user_number: .DC.b ' ' end_number: .DC.b ' ',0 msg_help: .DC.b 27,'H',27,'p' .DC.b ' OVERSCAN Version 1.6 K.Isakovic ',13,10 .DC.b '| Setup-Menu B.Gebauer |',13,10 .DC.b '|------------------------------------|',13,10 .DC.b '| |',13,10 .DC.b '| Cursorkeys : Width & Heigth |',13,10 .DC.b '| Block / * : Edge left/right |',13,10 .DC.b '| Block - + : Edge up/down |',13,10 .DC.b '| |',13,10 .DC.b '| P : Physbase emulation |',13,10 .DC.b '| C : Clear screen key |',13,10 .DC.b '| |',13,10 .DC.b '| L M H : Low Middle High Res. |',13,10 .DC.b '| |',13,10 .DC.b '| S : Save & Quit |',13,10 .DC.b '| Q : Quit without saving |',13,10 .DC.b '| |',13,10 .DC.b '| Help : This page |',13,10 .DC.b '| |',13,10 .DC.b '|------------------------------------|',13,10 .DC.b ' Press Return... ',13,10,0 msg_change: .DC.b 10,10 .DC.b 13,10,' Change Resolution.' .DC.b 13,10,' Are you shure (y/n) ?',0 msg_phys_on: .DC.b 10,10,13,10,' Physbase emulation on (y/n)',0 msg_phys_off: .DC.b 10,10,13,10,' Physbase emulation off (y/n)',0 msg_shift_on: .DC.b 10,10,13,10,' Clear-screen with RIGHT-SHIFT/ALT/HELP (y/n)',0 msg_shift_off: .DC.b 10,10,13,10,' Clear-screen with ALT/HELP (y/n)',0 save_name: .DC.b 'A:\AUTO\OVERSCAN.PRG',0 msg_save: .DC.b 27,'q',13,10,' Setup saved...',13,10,0 msg_notfound: .DC.b 27,'q',' not found !',13,10 .DC.b 'press < Return > ',13,10,0 msg_nosave: .DC.b 27,'q',13,10,' Setup not saved...' .DC.b 13,10,0 SoundTab: .DC.b 0,112,1,4,2,56,3,2,4,28,5,1 .DC.b 6,20 .DC.b 7,0 .DC.b 8,16,9,16,10,16 .DC.b 11,0,12,16,13,4 .DC.b 255,16 .DC.b 7,63 .DC.b 255,4 .DC.b 11,0,12,32,13,0 .DC.b 7,56 .DC.b 255,50 .DC.b 7,63 .DC.b 255,0 .BSS GemStarted: .DS.w 1 ; Luft GEM schon ? BadTos: .DS.w 1 ; !0 == BlitterTOS Offset: .DS.w 1 ; Offset VideoAdd <> MyMemtop RezX: .DS.w 1 ; Breite des Bildschirms RezY: .DS.w 1 ; Hhe des Bildschirms BpL: .DS.w 1 ; BytesPerLine , also Bytes pro Bildschirmzeile Reso: .DS.w 1 ; Aktuelle Auflsung MonPLine: .DS.w 1 ; ??? (was immer sich Julian dabei dachte...) VPlanes: .DS.w 1 ; Anzahl der Farbebenen LineA: .DS.l 1 ; Zeiger auf LineA Variablen MouseVec: .DS.l 1 ; temp. Kbdvbase WorkOut: .DS.l 1 ; Zeiger auf das WorkOut-Feld der 'v_opnwk()'- ; aufrufenden Funktion (hoffentlich der DESKTOP !) Back: .DS.l 1 ; RcksprungAddresse zu dieser Funktion MyMemtop: .DS.l 1 ; Zwischenspeicher zur Restauration des Desktops nach VidAdd: .DS.l 1 ; einem inkompatiblen Programm BasAdd: .DS.l 1 ; MemEnd: .DS.l 1 ; Letzte beschreibbare Speicheraddresse StartBasAdd: .DS.l 1 ; v_bas_add zu Beginn des Programms Dx: .DS.w 1 ; Zwischenspeicher fr GrowBox Effekt Dy: .DS.w 1 ; Abweichung der Auflsung Max: .DS.w 1 ; Grssere Abweichung Xa: .DS.w 1 ; Ya: .DS.w 1 ; Koordinaten des GrowBox Effekt Xe: .DS.w 1 ; Ye: .DS.w 1 ; X_Add: .DS.l 1 ; Zeiger auf die aktuellen Bildschirmwerte Y_Add: .DS.l 1 ; Off_Add: .DS.l 1 ; Y_Inc: .DS.w 1 ; Inkrement der Bildschirmwerte Off_Inc: .DS.l 1 ; X_Min: .DS.w 1 ; Grenzen der Bildschirmwerte X_Max: .DS.w 1 ; Y_Min: .DS.w 1 ; Y_Max: .DS.w 1 ; Pal3Save: .DS.w 1 ; Farbpalette 3 PalFSave: .DS.w 1 ; Farbpalette 15 ResoSave: .DS.w 1 ; Start-Auflsung UserKey: .DS.w 1 ; Tastendruck beim UserSetup UserSave: .DS.w 1 ; EndeFlag fr UserSetup Handle: .DS.w 1 ; Dateihandle inst_ok: .DS.w 1 ; Installationsstatus _ende: .DS.w 1 Stefan Hartmann Electronic Research and Development Keplerstrasse 11 B 1000 Berlin 10 West-Germany Tel: West-Germany/30 344 23 66, email on Compuserve ID: 72017,3216 "Hey You man, wanna have some Overscan ?" Introduction of an "Xtended Graphics Mode" for the Atari ST Computers from Stefan Hartmann (Hardware and article) and Carsten Isakovic(Software:Overscan.PRG) If You are a graphics freak and an owner of an Atari ST computer You might have been looking with keen eyes into the direction of the Commodore Amiga Computer and have been thinking about selling Your 32000 Bytes Sreen Memory Machine and gonna buy the Interlace- HAM-Baby ? Stop it man ! This article will tell You why ! With a simple switch (cost about a buck) and additionally only at the STM520: 2 Rectifier diodes, 2 Resistances, a NPN Transistor and a capacitor, we will show You how to get a visible 59640 Bytes big Screen Memory (in 50 Hertz Mode). (the following description will apply for 50 Hertz mode , 60 Hertz Mode and Monochrome-Overscan-Mode has some other sreen memory size) What does this mean ? This means in Low resolution mode there are now 420*284 Pixels available to display, still 16 colors per pixel. In midres resolution there we have now the gorgious resolution of 840*284 Pixel, still 4 colors per dot. In monochrome mode we get now 688*480 pixel with a well adjusted SM124 monochrome monitor ! Well this means, in color mode there is no more screen window visible but pixels all over the screen, indeed some pixels You'll never see, because they hide behind the left and right monitor tube border till You adapt Your horizontal screen width ! The same thing is available on the Amiga. There they call this mode : OVERSCAN . This overscan mode is now with this article also possible for all the Atari ST computers, from the 512KB 260 machine to the Mega ST 4 ! That means the Atari ST can now like the Amiga be used for semi-professionel Desktop-Video applications for examle together with a genlock-interface to get a scrolled text message in the lower border of a video movie. How was this little hardware modification found ? The story of the Overscan modification began, when some month ago I got a demo disk on which a nice grahic screen appeared. But what the hack was this ? In the lower border of the ST screen was a scrolling text message ! How to come ? Had my monitor been shifted away ? Not at all ! I couldn`t trust my eyes ! This programmer called Alyssa (special nickname of this hacker-guy) had programmed a very fine flowing scrolling text message out of pixel graphics at the bottom of the screen where normally only the color palette register 0 (that means the static border color) is available ! Did this guy found an undocumented "poke" to switch off the lower border and display further pixel graphics,which Mr. Shiraz Shivji (the father of the ST) didn't told us ? Not at all ! He had found the software-trick, that if the picture frequency is shortly switched inside the 199th scan line from 50 to 60 Hertz the result is that the Glue chip is disturbed, so that it holds its Display-Enable-Signal longer at High(5 Volts)-Level and this tells the MMU and the Video-Shifter to display Pixel-Graphics till the end of the screen.(but still with a left and right border) What a guy ! He must have been poked "till the shit hits the fan(Glue)" ! To understand all this screen manipulation I have shortly to explain how the ST generates its picture in color mode: In 50 Hertz Mode the screen is build up of 313 scan lines which are 50 times per second written onto the tube. (In 60 Hertz mode there are 263 scan lines displayed) This means that the Atari doesn't work with Interlace, the so called "half frames" (semi frames) are placed precisely one upon onother so there is no placement shifting like in TV-Systems (e.g. NTSC). Normally in 50 Hertz mode the first 39 scan lines are displayed without pixel graphics but with background color palette 0. This is the upper Border. Then there are 200 scan lines in which the normal Screen window is displayed but still with this left and right border, which is still generated from palette 0. The following 45 scan lines display the lower border, still palette 0. (normally no pixel graphics available) The last 29 scan lines of the total 313 lines are not visible, because they are used for vertikal blanking. This is needed to synchronize the picture frequency of a connected monitor. The Blanking is done by the blank-signal that is also generated by the Glue chip and this signal switches the RGB-D/A-Resistor-Converter to Zero when the vertikal blank period is active. (In 60 Hertz Mode the normal mode is : upper border 14 scan lines, 200 display lines, 24 lower border scan lines and 25 scan lines blanked) A few months ago there arrived the 2 new demo programs "Amiga-Demo" from the TEX-Programmers ( some special assembler graphics wizzards ) and the LT.PRG (the death of the left border) of the TNT-Crew. This 2 programs blowed my mind because they already featured pixel graphics inside the right (Amiga-Demo) and in either border(left and right, LT.PRG). How this is possible I don't know yet, because the assembler code is very sophisticated crypted so no chance for a tracking monitor program disassembler. But it's possible that they use a 50 Hertz to 71 Hertz switching every scanline synchronized with the video adress counter. Must be very tricky code ! They wanna keep this still a secret ! (In the meantime February `89 the gorgious UNION-Demo was launched: Level 16 has now implemented a full software controlled Overscan screen with no borders at all!; unbelieveable, but very timeconsumming interruptprogramming; not much time left for animation !) I thought, wow ! If these guys are able to display some border graphics with some very tricky but time consumming code how about trying to convince the little Shifter to do this with a simple hardware modification and without any time consumming calculations ? No problem ! I fetched my scope, booted the Amiga-Demo and switched between the additional right border pixel display and normal mode. At this time I took a closer look with the scope next to the Shifter area of the ST board. That's it! I recognized that if I switched the modes, the Display-Emable-Signal changed its puls-stop relationship. The Display Enable Signal determines if pixel graphics should be displayed by the Shifter or if the border should be displayed (palette register 0). Every time if this signal goes high, pixel graphics is displayed, if it is low, palette 0 is displayed. The Display Enable signal is generated by the Glue, like the Blank-, HSync- and VSync-Signal which are all used to generate the picture. The DE-Signal also goes to the MMU and the Timer B Input of the MFP chip (for counting the scan line through interrupt routines). The screen is build up with the following sequence : The vertical Sync signal which is not only going to the monitor connector bush but which comes from the Glue and is also controling the MMU is telling the internal counter of the MMU to take over the adress of the next "semi frame" from the video.bas adress FF8201 and FF8203. If now the Display Enable signal goes high then the DCYC (Display-Cycle-Clock) signal from the MMU is activated which is strobing the videodisplay information (pixel graphics) from the RAM in 16 bits words into the Shifter for displaying. That means the DCYC signal clocks the Load Input of the Shifter. At this moment the internal counter of the MMU is counting upwards. The actual adress is been written all 2 microseconds to the video adress counter in FF8205/07/09. Remains at this point the Display Enable Signal longer at high level, accordingly more memory RAM is adressed as screen video ram by the MMU and still transfered to the Shifter during every scan line! So with the Puls Stop relationship of the DE signal we can determine the size of the screen window. At last we have the Blank signal which is also blanking the video signal from the RGB-Converter during horizontal flyback time and vertikal snchronisation time (as mentioned above). To complete the description, there is still the CMPS Signal (Color Map Chip Select), which is generated by the MMU and which is only changing for telling the Shifter to load a new color palette. (what will Spectrum 512 look in Overscan mode: super gorgious !) Conclusion: How do I find the right signal in exchange for the DE signal ? Looking around inside the ST I found the Composite Sync Signal which is generated by an AND-Combining of the HSync and VSync Signals. One can use the already installed Composite Sync Signal which feeds the monitor bush connector. Make sure to use the Composite Sync Signal directly from the Emitter of the driver (buffer) transistor. (Take a look into Your circuit diagram of Your ST!) At the 520 STM (the STs with RF-modulators) there the internal Composite Sync Signal is missing. Here You have to add the above mentioned circuit of 2 rectifiers, 2 resistors a transistor and a optional buffer capacitor( buffers the collector(5Volts) of the transistor versus ground). This Composite Sync Signal is ideal for controlling the new Overscan mode. We have been trying other signal for example: only the HSync, the VSync, the Blank signal or only permanent 5 Volts but this doesn't work with either 50 and 60 Hertz and GEM couldn't be installed. To find a better signal than the Composite Sync signal is not possible with such a simple modification. The ST has only 4 signal which come from the GLUE which could be used to create a " new " Display Enable signal, because all other signals vary ! The only time invariant signals are : 1. The old DE-Signal 2. The HSync Signal 3. The VSync Signal 4. The BLANK Signal. And still the divided clock frequencies 2 MHz and 500 kHz. To create a better signal than the composite sync signal one would have to use some counters and dividers to build up a better "DE"-signal. This would mean a lot of additional hardware! GEM needs a video scan line whose number has to be able to divide by 4 to install it. So the Composite Sync Signal was the simplest solution to find. Description of the Hardware Modification The Display Enable Signal which is going to the Shifter Pin 37 and to the MMU Pin 52 has to be cut and instead of this the Composite Sync Signal has to be fed to this two Pins. This could be done by a simple 3 Pins switch which switches between the original and the new Overscan Mode. The switch could be installed at the back of the ST for example. It is also possible to switch it during operation of the ST without hanging up. If You switch back it might could happen, that the color palettes have been cycled. This is due to percussion during switching but could be removed by switching 3 or 4 times again till the color palettes are in the right order again. Hint: If there will a shifted palette as the desktop appears, You have to switch again a few times the change-over switch so due to percussion this shifted palettes will disappear! This shifted palettes only sometimes occur during booting but this is the only time ! How to connect and wire the Overscan-change-over-switch: Directly at the Emitter of the Composite Sync signal driver Transistor You pick up the buffered Composite Sync Signal and feed it to the third pin of the switch. The second pin of the switch (the pin in the middle) goes to the pin 37 of the Shifter and pin 52 of the MMU. The first pin of the switch is connected to pin 39 of the Glue (Display Enable Signal) Reminder: the MFP 68901 pin 20 still gets the Display Enable Signal in both modes !!! We have tried to use also the Composite Sync for the Timer B-Input in Overscan mode, but then the ST doesn't boot himself after a Reset ! Softwareadaption to the Overscan Mode If You switch directly from the normal desktop after booting without any accessories or programs to the Overscan mode, You will see some nice "pixel trash" in the upper half of the screen, but going from the very left to the very right.(without a border) But what has happened to the lower half screen ? There is some pretty moiree jumping and changing in a strange pattern of 16 bits in various colors ! What is this, You will ask ? Don't worry, be happy ! This is only the display of RAM databus signals !!! This happens because the normal Video screen display Ram is installed at the top of the available ST Memory. If switched to Overscan the ST needs more than the 32kBytes but there at the top is no more available, so behind the end of the RAM the ST displays the undefinable Databus signals ! What a funny picture ! ( I just wonder wether the first game will use this for displaying "screen communication problems" like in the game: Carrier Command ?) So the answer to get a correct full screen Overscan picture is : Write a lower Adress into the Screen Starting Adress Pointer FF8201/03 ! But then there is still the Pixel-Trash, but now all over the screen ! This is because the color bit planes have changed their place. This can be corrected by adapting the GEM. This was done by us by writing the Overscan.PRG which adapts the GEM. It runs with the Blitter-TOS and the new ROM-TOS 1.4 and the BETA-RAMTOS and the Developer-RAMTOS 1.4, but not with the old ROMTOS from 1985 ! You start it out of the AUTO-folder of a disk or from the harddisk and a whole new OVERSCAN-world opens up. If You push the CONTROL button during booting, it will come up with an installation menu and You can change the Overscan-resolution, so it will fit to Your monitor screen adjustment ! You can then save this Overscan-adjustment, so it will boot itself up with the right size the next time !(The installation menu is only available from Overscan.PRG version 1.5 up) The GEM desktop with this resolution is just wonderfull ! With this solution one can use already a few programs, which get their screen parameters directly from GEM and don't write the graphics directly into the screen memory, for example the DOODLE.PRG, Wordplus, GEM Paint, Easydraw, Kuma Graph and Spreadsheet etc. These programs and some more already work with Overscan in color and monochrome mode ! Unfortuneally the best two graphics programms, CAD3D from TOM HUDSON and CYBERPAINT from JIM KENT don`t work at this moment with this higher resolution. TOM and JIM are YOU jet listening to this ??? Please try to adapt Your superb programs !!! This Overscan.PRG patches the TOS with the negative LINE A-Variables, so every application, for example CAD3D only would have to fetch the actual SCREEN SIZE with the command OPEN WORKSTATION (VDI). This will also apply for the the new 19" Matrix or Mat Screen Monitors that are used espacially for DTP with Calamus and other applications. Wouldn`t this be great to design Your objects on such a big screen with CAD3D? Imagine an OVERSCAN-Delta-Animation in color played back in realtime from a 800 MBYTE Hardisk, synchronized by midi-clock with a midi-sequenzer (a second Atari ST for example ) which is controlling a complete orchestra of synthesizers ! What a realtime multi media show this would be ! This could also open up a whole new world of videomusic production in the Music-Business Industry ! Still a few words to the screen-memory partitioning in OVERSCAN mode in 50 Hertz image frequency: The visible screen memory is now 59640 Bytes (if Your monitor can be regulated to this screen width and height). But because of the Composite Sync Signal there are also pixels displayed during the blanking time ( flybacktime) of one scan line. This are 26 Bytes per scan line. This adds up to 7384 Bytes more than the visible 59640 Bytes. This means the actual size of the screen memory has to be 67024 Bytes big. (calculated for 50 Hertz, in 60 Hertz some other size will fit) This about 7 kByte can be used for storing palette information or other stuff. If it's to memory wasting the software could also store only the 59640 Bytes for one screen but then reloading will take a short moment longer, due to jump over the 26 unused Bytes in every video scan line. Because of the puls stop relation time of the Composite Sync signal during vertikal blanking time there are also some Pixels transferred which aren't visible but blanked. That's why there has to be an offset starting adress of about 5 kBytes subtracted from the video.bas pointer registers FF8201/03. But this is already done too with our Overscan.PRG ! If we would have tried to avoid these little two disadvantages we would have been forced to generate a very special NEW DISPLAY ENABLE Signal which would have been needed an anormous amount of counters and flip-flops. So it's easier to live with this a little more memory consuming but simple to install Composite Sync signal. The difference between 50 and 60 Hertz color mode : In 50 Hz mode with using the Composite Sync signal You have 236 Bytes per scan line. 210 Bytes are visible . The other 20 Bytes aren't visible because of horizontal flyback blanking ( the BLANK signal of the GLUE is doing his job during this time period !) Well, 236 Bytes can be divided by 4 , this is what GEM needs. So 50 Hertz GEM SHELL installation is no problem. In this moment our Overscan.PRG (version 1.6) runs the GEM SHELL only in 50 and 71 Hz. In 60 Hertz mode You have 234 Bytes per scan line. This is only dividable by 2! So it might be that we will get GEM only to work in Mid-Res-mode in 60 Hz, but a special written Cyberpaint could also handle 60 Hertz, if the color palettes are adapted the right way in Lowres. There would have to be 2 different versions of Cyberpaint like Spectrum 512, because in 50 Hz there are 512 clock cycles and in 60 Hz there are 508 Clock cycles per scan line. In 60 Hz there are also only 238 visible scan lines instead of 284 of the 50 Hz mode. My proposal is, first to adapt CAD3D to 50 Hz mode so that the created DELTA-files could then transfered to a special Cyberpaint that might handle also 50 and 60 Hz mode. This Overscan-Cyberpaint then could also convert the 284 scan lines pictures to the visible 238 NTSC compatible scan lines pictures ! So You could design Your CAD3D animation with a 50 Hertz bigger screen and load it with Cyberpaint into a 60 Hertz compatible animation ! How about this ??? The monochrome Overscan-mode When we developed the hardware Overscan mode for the first time in end of september 1988, we only adapted the color mode. When we switched to the monochrome mode , there the flyback beams of the monochrome monitor SM124 were visible because in monochrome mode the ST sends NO Blank-signal to the SM124 circuit. Look at it now in monochrome Overscan-mode, before You boot the Overscan.PRG ! Now You still also see the flyback beams because there is no flyback blanking due to this new puls- stop- time- relationship of the composite sync signal ! So the SM124 has to blank the flyback beams itself. With the normal DE-signal controling the picture size it's no problem. But we did modify this with Overscan, so switched to the Composite Sync signal for controling the picture size, we get now 800*500 pixels generated by the ST in monochrome mode. But this is to much for the SM124: It doesn't fit onto the screen of the SM124. This means: many pixels are displayed during flyback time of the electron beam and we get the unwanted visible flyback beams onto the screen. So we thought, that the monochrome mode wouldn't be possible to install with the Composite Sync signal. But then in January 1989 I had the idea to fill all the new screen memory with $FF: And THAT`S IT : the whole screen was BLACK ! No more flyback beams to see ! So it was possible to suppress the flyback beams by adjusting the screen memory in this way, that in every visible monochrome Overscan- scanline the last Bytes have to be set to $FF !(so they are blanked and no more visible) Well, this is the trick to install the GEM SHELL also in monochrome Overscan mode. With this software adjustment we get now at maximum 688*480 pixel without distortion on a, from the manufacturer well calibrated, SM124 monitor. The resolution is again adjustable with our Overscan.PRG through the installation menu. With a NEC Multisync monitor one gets already now 732 pixel in one scan line, so it's now yet possible to do true HERCULES graphics emulation, which needs only 720*350 pixel. With the NEC Multisync we have now 732*480 pixel! Isn't that gorgious ? Maybee Avantgarde Software will fit their PC-Ditto to run this fully emulated Hercules graphics mode ??? How about that ? There is the rumour that Mr.Sack from West Germany, who has developed the first really running Hardware MS-DOS emulator will include OVERSCAN for emulating the HERCULES graphics mode in the near future ! I'm just working now to modify the SM124 monitor with a little additionally hardware, so it will also display at least the 720 pixels in one scan line for Hercules emulation. Maybee I'll also get the full 800*500 pixel display to work on the modified SM124 soon ?! (Take a look into the OVERSCAN.DOC-file fore more explanation of the new screen memory partitioning in monochrome Overscan mode !) Final conclusion Overscan brings a whole new world of applications to the ST especially in Desktop-Video and new Bigscreen-applications and Hercules emulation in monochrome mode. In color mode there will be programms like on the Amiga in two versions, one PAL and one NTSC versions, unfortuneally. So there is still the hope that HDTV brings us a new world standard in picture frequency and picture resolution, so everybody could swap and exchange videotape cassettes with computer-graphics or movies on it between Europe and America without needing to convert ! I still hope, that Europe will change to 60 Hertz picture frequency, because if not, we will have to program our next generation of color computers, for recording HDTV graphics onto tape, again in the flickering 50 Hertz mode. But because a new standard for television surely remains at least for 20 years, please beware us of the flickering 50 Hertz EUREKA-HDTV-Freaks-standard ! It would be no problem to use already today 60 Hertz picture frequency in Europe, as You can see it, if You connect Your ST to the SCART(RGB-Inputs) connector of Your television set and then switch Your ST to 60 Hertz by software !(change Hz.PRG) No problem at all ! Literature: 1. Data Becker : ST-Intern 2. Circuit diagram of the ST computers 3. Markt and Technik Verlag, ST68000 magazine,issue May and June 1989: "Ausser Rand und Band mit Hyperscreen"; publishing of this article by the german ST68000 magazine West-Berlin, on the 2nd July 1989 Stefan Hartmann This article is copyright protected (c) 1989 and 1990 P.S.: I have drawn some pictures with Degas monochrom of the new screen partitioning and we have made some digitized photos, also PI3 format, which shows the board modification and the switch wiring. /********************************************************************** * BeispielProgramm das zeigt, wie man sich unter dem OVERSCAN-Modus * eine 2.BildschirmSeite anlegen kann. * * Karsten Isakovic 05.07.89 */ #include long OldPhys,NewPhys; long OldLog ,NewLog ; long Offset; #define V_REZ_HZ -0xc #define V_REZ_VT -4 #define BYTES_LIN -2 main() { int BpL,MaxX,MaxY; long block,*b,len; asm { dc.w 0xa000 ; LineA-Init move.w BYTES_LIN(A0),BpL(A6) ; Bytes pro Zeile move.w V_REZ_VT(A0),MaxY(A6) ; Breite in Pixel move.w V_REZ_HZ(A0),MaxX(A6) ; Hhe in Pixel } OldPhys= Physbase(); /* Alten Werte holen */ OldLog = Logbase(); Offset = OldLog-OldPhys; /* Offset bestimmen */ /* Wenn der PhysbaseEmulator an ist bekommt man bei Physbase den Wert */ /* von Logbase zurckgeliefert, kann also den notwendigen Offset nicht*/ /* bestimmen ! */ len = (long)BpL * (long)MaxY + 5000L; /* Breite*Hhe + ExtraRnder */ block = Malloc(-1L); /* SpeicherPlatz testen */ if (block < len) { Cconws("\n\rNicht genug Speicher.\n\r"); Cconws(" Return drcken..\n\r"); Cnecin(); exit(-1); } else Cconws("\r\n\n MiniDemo fr 2. Bildschirm\n\r"); block = Malloc(len); /* SpeicherPlatz anlegen */ b = (long *)(block); /* Speicher auf Schwarz lschen */ while((long)b < block+len) /* Ist wegen dem RcklaufStrahl */ *b++ = -1L; /* notwendig */ NewPhys = (block+2000L)&0xffff00L; /* Physbase berechnen */ NewLog = NewPhys + Offset; /* Logbase berechnen */ demo(); Mfree(block); /* Speicher wieder freigeben */ } demo() { Cconws("\n\r Mit den Shift Tasten kann zwischen"); Cconws("\n\r den beiden Bildschirmen umgeschaltet"); Cconws("\n\r werden.\r\n\n Ende durch Tastendruck."); Setscreen(NewLog,-1L,-1); /* 2. Bildschirm auf wei lschen */ Bconout(2,27); Bconout(2,'E'); Cconws("\n\r Dies ist der 2. Bildschirm\n\r"); Cconws("\n\r Ich hab ja gesagt, da es nur"); Cconws("\n\r eine MiniDemo ist."); while( !Cconis() ) /* Solange keine Taste gedrckt */ if ( Kbshift(-1) ) /* Je nach Status der Sondertasten */ Setscreen(NewLog,NewPhys,-1); /* Shift/Control/Alt Schirm 1 oder */ else /* Schirm 2 anzeigen */ Setscreen(OldLog,OldPhys,-1); Cnecin(); /* Tastendruck lschen */ Setscreen(OldLog,OldPhys,-1); /* Wieder zurckschalten */ } $%K}OII