@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}} } HE |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED COPYING---DN:4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uEiͩkΩ͙kCop j`j {j`Hi͝Νh`V}L"UNEM:D"NURͩkΩ͙kCop j`j {j`Hi͝Νh`  "EXLINEAFxxy &&;A ,;@,;@,W (} ( (1) HELP file#(@( X}(2) How to 'port' filesW( to an ST disk (( SELECTION(+41)42,@ ,6. D:DOC.TXT Y}42,6. D:PORT.TXT1 (}@1@@ A(@2vB:,!@- Z}7@<@,4XXX0(3(E-@@"Y(ӠΠf@l(}v @@<( @@dj@ [} B*-@@"R("ΠҠՠҠˠҠ_@j%D:MENU D1:HELP.BASile#(@( r@STm } AXLPB0NZ ]} +AdAUuA@'A @9A@K@@]@@7c(^}}uAR@++(#++(#| ANTIC MONTHLY DISK APR. 1986 |++(#_}( | Side 'B' |++(# @ -@A`} $ GG;@@,;@ ,;@@,;A,;@,;@@, "D1:MENU" &&@@a}D:*.* 6,6." 6 @0i6-%@(6.7@<@,A67@ <@ ,..b}i67@<@,.7@<@,3 6.|67B:,%@,.367B:,%@,.G67@<@,.(--@c}B:,:7<,4 G67<,..] 6.=:, @D67@<@,.7@<@,]67@<@,d}.0$@(''7@<@,4FREE@- @ 2() <@F''7@<e}@,4FREE@K @ P(7@<@,)|U @0W'!-@6+'@,%@' |Z++(f}#| |[ ( |  |\++(#d**(" Selg}ect HELP.BAS for information.xAR[@@9'-@@#C( FILE NUMBERM A0h}Q[ BP:,A00"@&6.7@<@,0 AELB6.7+&@,$@%@<+&i}@,$@%@,L B37@<@,4 36.7@<@,!7@<@,4DOS!.0 6j}.-@B:,07<,4 AH67B:,%@,.7<,   6.! 6.D1:!67B:,%@,.?Ak}R@'-@@"?  LOADING ? A@@91@@5%? B[-@l}@"-  CANNOT RUN 7 @LF:A,"@![% D:HELP.BAS B A0D1:MENU.ARm}TOON.SYSMENU.DOC.TXT .TXTC |ATARTOON.SYS(TA0063  >ST LISTINGSON MONTHLY DISK...and how to get themby CHARLES JACKSONAntic Program EditorFor those ST owners who do not o}yetown a C compiler, but are eager totry out Antic's C language listings,we are now including the executableobject code op}n the Antic MonthlyDisk.XXXAll disk files with extendersof .PRG, .TOS, .TPP and .ACC arecompiled ST programs, ready toq} betransferred to an ST disk andexecuted. Given enough disk space,we will also include the sourcecode. Source code filer}s will have a.C extender.XXXPORTING FILESBefore using an ST program, you musttransfer it to an ST disk. Thisprocess s}of transferring filesbetween computers is called"porting."XXX To port a file from the AnticMonthly disk to an ST dist}k, you'llneed: - A telecommunications programfor the ST which supports XMODEMfile transfers. Chat (version 1.1)or PCu}/InterComm will work).XXX - A similar program for your8-bit Atari which supports XMODEMfile transfers. Chameleon orv}BackTalk will work. Unfortunately,HomeTerm won't do the job because ittranslates all carriage returns intoATASCII value 1w}55. Also, don'texpect to succeed at ST porting withany version of AMODEM.XXXA - 8-bit Atari computerB - An Atari 850 x}Interface Module with a modem cable (RS-232 to D-9.)C - Null modem connectorD - Gender changer (if required)E - Yoy}ur ST    | A |=>| B |=>| C |=>| D |=>| E |     Sample porz}ting configurationXXX IMPORTANT: Both modem programsmust be configured similarly. Ifyour 8-bit software is set for 1{}200baud, your ST software also must beconfigured for 1200 baud. You may use any baud rate whichis supported by both pr|}ograms.Antic used PC/InterComm andChameleon to port files at 9600baud.XXX Additionally, BOTH programs mustbe set fo}}r 8-bit (binary) filetransfers. Once both computers are linkedtogether and both modem programs arerunning, you may beg~}in the filetransfer. You can also reverse thisprocedure to transfer files from STdisks to your 8-bit machine.XXXWALK-}THROUGH DEMOLet's walk-through a sample filetransfer. We'll use BackTalk on an8-bit machine, and Chat on the ST. Con}figure BackTalk for 1200 baud,with Full Duplex and ASCIItranslation. Press [SELECT],choose the XSEND option, selectXMOD}EM protocol and enter the nameof the file you wish to port.XXX From the ST desktop, double clickon CHAT.PRG. Make su}re Chat isrunning at 1200 baud. Use the [F7]function key to change baud rates,if necessary. Now press [F6] andclick on }the RECEIVE button. Whenthe file selector box appears, press[ESCAPE] and type the name of thefile to receive. Press [RET}URN] orclick on OK.XXX To begin the transfer, press the[F3] key on the ST and press [START]on the 8-bit Atari. W}hen you're done, remember topress the ST's [F10] key to closeany open files. You'll also want tomove your ported program }out of theSUPPORT folder and onto anotherdisk, where you can make backupcopies.XXX Occasionally some versions ofXMO}DEM will append extra "garbage"characters to your files. Textfiles, such as C listings, areparticularly susceptible to th}isproblem. If your implementation ofXMODEM appends garbage characters toyour source code, you must removethose character}s with a text editorbefore compiling the program.by CHARLES JACKSONAntic Program EditorFor those ST owners who do not 4 WELCOME TO THE ANTIC MONTHLY DISKMost of the pr}ograms on this side of the disk are for the ATARI 520 ST.We recommend you refer to thecorresponding issue of ANTIC forco}mprehensive documentation. If youwish to order a back issue, or needsubscription information, contact usat (415) 957-0886 }or, for credit cardorders, dial (800) 227-1617, Ex. 133.In California,(800) 722-3545, Ex. 133XXXThe menu that appeared o}n the screenwhen you booted the disk will onlyRUN programs with a .BAS extender.(NOTE: The menu WILL NOT RUN ST }BASIC programs!)If you try to run a program and theresponse is 'cannot run Filename',then check the file extender withthe} following list:XXX.SYS Reserved for DOS system files..DAT Data file. Usually accessed by another program..T}XT Text file. Usually accessed by another program..SC A SynCalc worksheet file for your 1985 tax return. } Must be used with Synapse's SynCalc software. See the corresponding article for complete inst}ructions.XXX*** Files for the 520 ST ***.C C Language source code. Must be ported to an ST disk. See} the corresponding article for complete details..BAS An ST BASIC program. WILL NOT RUN on 8-bit comp}uters!!! Must be ported to an ST disk. See the corresponding article for complete details.XXX.PRG } A compiled ST program. Must be ported to an ST disk. See the corresponding article for complete details}.XXX Whenever possible, we will try toadapt our programs to work with asmany configurations of C as we can.But we th}ink ANTIC's published Clistings should come as close aspossible to the industry standard. At this time, only Alcyon Cwi}ll do this.XXXAll programs from ANTIC issues datedprior to August 1984 were reproducedfrom ANTIC's Archive. We've upda}tedthem from our HELP columns andmost are compatible with the XL andXE machines. We have worked to insurethat our program}s operate aspublished, but we consider all oursoftware listings to be works inprogress which we encourage you topersonali}ze and enhance.Good luck, and ENJOY!-ANTIC EDware listings to be works inprogress which we encourage you topersonali4passing -- you still won't be able totype in and run many of ANTIC's Clistings with Hippo-C.XXX Whenever possible, we} will try toadapt our programs to work with asmany configurations of C as we can.But we think ANTIC's published Clistings} should come as close aspossible to the industry standard. Atthis time, only Alcyon C will do this.XXXTHE HIPPO XBIOS} The following are the XBIOS callswe have been able to build for HabaHippo-C. The most important XBIOS calls havebe}en included, but not all of thecalls are here. Calls which seem tobe duplicated by standard BIOS calls,such as Floprd(), }Flopwr(), Flopfmt(),Flopver(), Protobt(), Mfpint(),Gettime(), Settime(), and Supexec()are not here.XXX We have not b}een able to get someof the calls, such as Rsconf(),Jdisint(), Jenabint(), and Cursconf()to work properly. Although it may} bethe Hippo Operating system getting inthe way of proper operation, we justdon't know. Drop us a line if you canhelp.} The XBIOS calls included here havebeen tested using the supplied Clanguage program called HIPOX2.CXXXXBIOS #2 "Physb}ase" Returns the address of theupper-left corner of the 32K screen weare looking at.C Binding:long address;address }= Physbase();XXXXBIOS #3 "Logbase" Returns the address of theupper-left corner of the 32K screen weare drawing to.}C Binding:long address;address = Logbase();XXXXBIOS #4 "Getrez" Returns the current screenresolution. (0, 1, 2).}C Binding:int resolution;resolution = Getrez();XXXXBIOS #5 "Setscreen" Sets the Physbase, Logbase, andresolution }of the screen. If anyparameter passed negative, that valueis not updated.C Binding:long physbase, logbase;int rez;S}etscreen(physbase,logbase,rez);XXXXBIOS #6 "Setpallete" Sets the hardware palette registersto a pointer to RGB color} values madeup of sixteen words.C Binding:long paladdress;Setpallete(paladdress);XXXXBIOS #7 "Setcolor" Sets a}n individual color in thepalette and returns the previouscolor.C Binding:int pal_col, color_val;old_color = Setcolor(p}al_col,color_val);XXXXBIOS #12 "Midiws" Writes string of characters(-1) toMidi Port (see ANTIC, March 1986).C Bin}ding:long string_point;int count;Midiws(string_point, count-1);XXXXBIOS #14 "Iorec" Returns where the seria}l devices'records are located.C Binding:long address;int device;address = Iorec(device);Where: device is0=RS}2321=Keyboard2=Midi PortXXXThe address returned points to arecord in the form of:(long) ibuf; buff pointer(int) } ibufsiz; buff size(int) ibufhd; buff head index(int) ibuftl; buff tail index(int) ibuflow; buff low water(int) } ibufhi buff high waterXXXXBIOS #17 "Random" Returns a 24-bit random number.C Binding:(long) number;number=Ra}ndom();XXXXBIOS #24 "Bioskeys" Restores power-up keyboardsettings.C Binding:Bioskeys();XXXXBIOS #25 "Ikbdws"} Writes a string to the keyboard.The second parameter contains thenumber of characters to write.C Binding:long strin}g_point;int count;Ikbdws(string_point, count-1);XXXXBIOS #28 "Giaccess" Writes/Reads value to/fromAY-3-8910 (see} ANTIC, March 1986).C Binding:int value, register, return;return = Giaccess(value,register);Where: value<128 regist}er returned.value>127 register written.XXXAll programs from ANTIC issues datedprior to August 1984 were reproducedfro}m ANTIC's Archive. We've updatedthem from our HELP columns andmost are compatible with the XL andXE machines. We have wor}ked to insurethat our programs operate aspublished, but we consider all oursoftware listings to be works inprogress which} we encourage you topersonalize and enhance.Good luck, and ENJOY!-ANTIC EDALL of the proR`b<P*O.|!*m - ЭЭм// ??<JNA NJ/<NA"/0<NBNuNVaa@Jy#ga N}^NuNVNj./</<^/<N 3.`/</<NP3`3b3z#By`00y}>/?N3 yf3Bya V.BgNHT>N#} <#м#>?9NTBy#N^NuNVBy#a a0a B?<NTBy# `33}##B@H/NX##3##`&B@H/NX##B@H/NX##ByB@H/N}X#`/9/9NP//9/9NP/NP#/9/9pH/NX/NP/NP#}/9/9N0P#/9/9N0P#/9/9NP//9/9NP/N0P#Ry09y}6l&/909H/NX/NPPn09H3 yo3a/9#/9#N0P##./<#/<}#/<#?9?9BgBgBgNJy#g3#3#Ry#/9 /9N0P#09#ym yf$0}9#y43#09y43/9/9N0P#RyJy#l6B?<NTa*.4?<NHT=@ nf3}#N^NuNVBn`Rn n'm.?<NHT=@ nfd>/9/9?<N #.Y/</<N}jP>/9/9?<N JngBW/<?<?<>N"TN^NuNV09`P/9#NXy29A=@`4/9#NX29}Ay=@` |g|g/9#NX29Ay=@0y"|4>?9NvT333#3}.?<?9NVX3#0.R@33 yg/<>/9NPPlBW?9NvT.?<?9}NVX3#3N^NuNV#G=#Bn`>/<8/9#N2PBn` |Z2n2n8QRn nm.}Z?<NHT=@ nf/<n8/9#NP## nf/<n8/9#N0P## nfZ#\Bn`>/<8/9}N2PBn` |2n2n8QRn nm.?<NHT=@ nf/< :/9NP# nf/< }:/9N0P# nfZ/9/9#pH/NX/NP/N0P#09S@H/NX//9#NnP# }#R Bn`>/<8/9 N2PBn` |2n2n8QRn nm.?<NHT=@ nf/< :/9} NP# nf/< :/9 N0P# nfZ/9 /<A/9#NP/N0P#09S@H/NX/}/<@/9#NP/NnP##BBn`>/<8/9N2PBn` |`2n2n8QRn nm.}`?<NHT=@ nf/<=/9NP# nf/<=/9N0P# nfZ/9NX3N^NuNV}3 yg.T?<NHT334#@# yf #@#3d6309H3#3 }yfVB@H/NX##By4B@H/NX#By09H3#09#33 yf.(?<N}HT309`T1096H3`H2096H3`,3096H3`J@g|g|g3}" yg.?<NHT3"09"`<.?<NT`:.?<NT`&.?<NT`|g|g̰|gN^}NuNV>?9NT>?9NTBW?9NTBnBn=y=y>N.Q?9NNBN}^NuNV>N.>?<NTNN^NuNV# !3 3 By$3(3*N#!N^NuNV3e}By By$3*NN^NuNV3{By By$3*NN^NuNV#!#! .мZ#!3dBy} 3 $ n 3*N n 0*#!!#"!#!#!N^NuNV# !33 By$3*N}#!N^NuNV3 !3By 3$3*N09"N^NuNV3 !3By 3$3*N09}"N^NuNV3 !3By 3$3*N09"N^NuNV3 !3zBy 3$3*NN^NuNV3 }!3By 3$3*N09"N^NuNV3 !3By 3$3*N09"N^Nu#!"<!p}sNBNuNV30.|Hмb-@=|` nH2n2RRn nm.N>B@09N^NuNV##}#######6#####> aF3pN^NuNV>a*pN^NuNV33 3} 33>N n0 n0 n0 n0B@09N^NuNV3# 6>4NN^NuNV#}6# :>ZN n0B@09N^NuNV>MN n0 n 0 n0 n0B@09N^NuNV3#} 6>NNN^Nu#!NN/9!Nu#!NM/9!Nu#!NA/9!NuNVH-n Jnnp` nop`0.R@8BGB/.NP}Pl n -R /.NX-@B/.NPPo.`/<D/.NP-@SG/<A/.NPPm`/<D/.NnP-@RG/<}D/.NPPlG|0H/NX-@`/<D/.NnP-@RFDm/<B/.NnP//.N0P-@/<D/.NPPm -|}ARGJGl4 n 0R n .R JDlD|` n 0R SFGnBF`j/.NX:0|0"n R Gf n .R 0H/N}X-@//.NP-@/<D/.NP-@RFDm n BR .JLN^NuNVH..,. N$ LN^NuNVH..,. }NLN^NuNVH..,. N& LN^NuNVHJl| .D-@`BFJfB`^~` .-@R .f` .-@}S. g .-@޼@ JFg .JLN^NuNVH .м<JgJFlB`V .:|oJE}g <` <`0..μ|`RFJFm`SFJFnJEg D. JLN^NuNVH..,. N LN^NuNVH..N} LN^NuNVH..,. N LN^Nu<NuJg NugR kjklf`>k^g>k^g2k8<d,&B<ރeNuRi}d~S<Nu.NuJNu:ڼ.gNugRghEDvi^E]HE:BB8HD&HC؃H}F&؃BDHDHGHFHEބj ޼gNuSiex@ބއdRgNu~NujJ<Numc68343 floating point firmware (c) copyri}ght 1981 by motorola inc.} }}Sp`P@0  000@@P`7WurppppP0C @P`prtv}   [2][ Type of representation? ][ 2-D | 3-D ][2][ Which palette should I use? ][ Earth | Wind | Fire ]}[1][ 3-D Fractal Landscapes | (c)1985 Antic Publishing | Written by Patrick Bass | V. 122385 ][ Fractalize ][2][ Type of t}errain wanted? ][ Hills | Valleys ][2][ Magnification: ][ < | > | Select ][2][ Real Corner: } ][ < | > | Select ][2][ Imaginary Corner: ][ < | > | Select ][2][ Want me to save this pic? ][ Yes | No} ][2][ Want me to draw another? ][ Yes | No ][2][ Current scale: ][ < | > | Select ]a:*.*_crystal>_}ctrl_cnb_earth_p_wind_pa_fire_pa_workin_color_o4_talertT_palert_alert0}_alert1(_alert2Z_alert2a_alert3_alert5_alert64_alert8`_path_main}J_initiald_draw_fr_termina_clear_s _get_ran_ask_que _plot_pol_save_it_v_bar}<_v_clsvw_v_hide__v_opnvw_v_plineV_vsf_col_vsf_int_vsf_sty_v_show_B_vsl_col}v_vsm_typ_gsx1_gsx2_iioff!_iooff!_pioff!_pooff!_vdi_crys_if}_appl_inj_appl_ex_evnt_mo_form_alH_fsel_inj_graf_ha_graf_mo_gemdos"_bios}_xbios_ftoa2fpadd0_fpadd0fpcmpP_fpcmpPfpdivn_fpdivn_fpltof}_fpftolfpmul_fpmulfpmult_fpmultfpneg_fpnegfpsub_fpsub}ffpabsffpnegffpadd$ffpsubffpcmpffptstffpdiv&ffpmul2ffpcpy}rt@_intin!_which_p"_a"_b"_intout"_status#_max_col#_slope#_slop}e_a#_c#_finishe#_left_si#_mx#_my#_side#_xp#_alt_scr#_i}_count_yp_handle_ptsin_type_di_x_corne_fscale_ptsout_pl}ot_co_right_s_size_li_y_corne _write_h_color_s_temp_si_global_slope_r4_c}ount_l6_numbuff8_terrain_x_y_x_real_y_real_size_x_const_}plot_y_const_xres_control_int_in_int_out_yres_primary_dum}_old_xp_old_yp_scale_file_ha_ad_c_ch_resolut_x_end_x_temp }_y_temp_gap_x _y_end_gap_y_imag_ra_gl_apid_contrl_addr_in6_gem_pal }>_cw^_workout`_filenam_seconda_addr_ou.$         }                        }                      }              (      }  $     <T0: : } Ny  %}1 4BA0?$@$40 L 30@$TION 10@$8 DEDUCTION 1040 L 304%t}/* * 3-D Fractal Landscapes * Ver. 122385/11:39 * (c) 1985 Antic Publishing * Written by Patrick Bass * *-- Alcyo!}n Include Files -------*/ #include "osbind.h" /*-- Definitions ----------------*/ #define TRUE 1 #define FAL!}SE 0 #define YES 1 #define NO 2 #define CANCEL 0 #define LESS 1 #define MORE 2 !}#define SELECT 3 #define HILLS 1 #define VALLEYS 2 #define EARTH 1 #define WIND 2 #define !}FIRE 3 #define LOREZ 0 #define MEDREZ 1 #define HIREZ 2 #define TWO_DEE 1 #define THREE_DEE !}2 #define not ! #define equals == #define does_not_equal != /*-- Declarations, Constants ----*/ int !} contrl[12], intin[128], intout[128], ptsin[128], ptsout[128], handle, write_handle, st!}atus, finished, plot_color, max_color, gem_pal[16], plot[4], type_dimension, slope_rate, whi!}ch_palette, earth_palette[] = { 0x053, 0x670, 0x460, 0x250, 0x040, 0x030, 0x220, !}0x320, 0x230, 0x330, 0x430, 0x340, 0x440, 0x450, 0x560, 0x000 }!}, wind_palette[] = { 0x707, 0x607, 0x407, 0x007, 0x037, 0x057, 0x075, 0x072, !} 0x070, 0x370, 0x570, 0x770, 0x750, 0x730, 0x700, 0x000 }, !} fire_palette[] = { 0x343, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700, 0x720, !} 0x740, 0x750, 0x760, 0x770, 0x772, 0x774, 0x776, 0x000 }, a, b,! } i, workin[]={ 1,1,1,1,1,1,1,1,1,1,2 }, workout[57], left_side, right_side, ch, cw, dum, !!} count, count_limit, size_limit, xres, xp, old_xp, mx, yres, yp, old_yp, my, color_!"}step, scale, terrain, resolution, color_offset[]={ 0,2,3,6,4,7,5,8,9,10,11,14,12,15,13,1 }; float x, x_corn!#}er, x_end, gap_x, side, y, y_corner, y_end, gap_y, imag_range, x_temp, y_temp, x_real, y_rea!$}l, x_constant, y_constant, size, temp_size, fscale, slope, slope_amount; long file_handle, prim!%}ary_screen, secondary_screen; char talert[]="[2][ Type of representation? ][ 2-D | 3-D ]", palert[]="[2][ !&}Which palette should I use? ][ Earth | Wind | Fire ]", alert0[]="[1][ 3-D Fractal Landscapes | (c)1985 Antic Publi!'}shing | Written by Patrick Bass | V. 122385 ][ Fractalize ]", alert1[]="[2][ Type of terrain wanted? ][ Hills | Va!(}lleys ]", alert2[]="[2][ Magnification: ][ < | > | Select ]", alert2a[]="[2][ Real Cor!)}ner: ][ < | > | Select ]", alert3[]="[2][ Imaginary Corner: ][ < | > | Select ]", !*} alert5[]="[2][ Want me to save this pic? ][ Yes | No ]", alert6[]="[2][ Want me to draw another? ][ Yes !+}| No ]", alert8[]="[2][ Current scale: ][ < | > | Select ]", numbuff[ 80 ], path[]="a!,}:\*.*", filename[ 20 ], alt_screen[ 32768 ]; /*---------------------------------*/ main() { initialize(!-}); do{ draw_fractal(); }while( not finished ); terminate(); } /*-------------------------------*/ initia!.}lize() { appl_init(); handle=graf_handle( &ch, &cw, &dum, &dum ); v_opnvwk( workin, &handle, workout ); !/} xres=workout[ 0 ]; yres=workout[ 1 ]; max_color=workout[ 13 ]; for( i=0; i<16; gem_pal[ i ]=Setcolor( i++,!0} -1 )); resolution=Getrez(); if( resolution equals HIREZ ) { wind_palette[ 0 ]=0x707; wind_palette!1}[ 15 ]=0x000; } clear_screen(); form_alert( 0, alert0 ); primary_screen=Physbase(); secondary_scr!2}een=( 0xffff00 & alt_screen )+0x0100; vsm_type( handle,1 ); finished=FALSE; } /*-----------------------------!3}----*/ draw_fractal() { int button; finished = FALSE; clear_screen(); get_ranges(); ask_!4}questions(); graf_mouse( 256, 0x0L ); for( yp=0, y=y_corner; left_side>=0; y=y+gap_y, yp++ ){ ol!5}d_yp=yp; old_xp=left_side; x=x_corner; slope=0; for( xp=left_side; xp15 ) plot_color=15; !;} plot_point(); slope=( slope+slope_amount ); evnt_mouse( 0, 0, 0, xres, yres, &mx, &!<}my, &status, &dum ); if( status does_not_equal FALSE ){ left_side=(-1); !=} xp=right_side; } } if( type_dimension equals THREE_DEE ){ left_si!>}de=( left_side-slope_rate ); right_side=( right_side-slope_rate ); } } graf_mouse( 257!?}, 0x0L ); save_it(); button=form_alert( 1, alert6 ); if( button equals NO ) finished=TRUE; } /*------!@}------------------------*/ save_it() { int delay, keypress; for( delay=0; delay<10000; delay++ ); ke!A}ypress=form_alert( 2, alert5 ); if( keypress equals YES ){ Setscreen( secondary_screen, secondary_screen, -1 !B}); file_handle=(-1); fsel_input( path, filename, &keypress ); Setscreen( primary_screen, primary_scre!C}en, -1 ); if( keypress does_not_equal CANCEL ){ file_handle=Fcreate( filename, 0 ); if( f!D}ile_handle>=0 ){ write_handle=file_handle; Fwrite( write_handle, 2L, &resolution ); sw!E}itch( which_palette ){ case EARTH: Fwrite( write_handle, 32L, &earth_palette ); break; case WIN!F}D: Fwrite( write_handle, 32L, &wind_palette ); break; case FIRE: Fwrite( write_handle, 32L, &fire_palette ); !G} } Fwrite( write_handle, 32000L, primary_screen ); Fclose( write_handle ); } !H} } } } /*--------------------------------*/ plot_point() { int temp_yp, bottom; switc!I}h( terrain ){ case HILLS: temp_yp=yp+( (int)slope )-( scale*plot_color ); break; case VALLEYS: temp_yp=!J}yp+( (int)slope )+( scale*plot_color ); } bottom=yp+( (int)slope )+( scale*15 ); vsl_color( handle, color!K}_offset[ plot_color ]); plot[0]=old_xp; plot[1]=old_yp; plot[2]=xp; plot[3]=temp_yp; v_pline( h!L}andle, 2, plot ); plot[0]=xp; plot[1]=temp_yp+1; plot[3]=bottom; if(( resolution equals HIREZ )||( !M}fscale<(0.2))) vsl_color( handle, 0 ); v_pline( handle, 2, plot ); old_xp=xp; old_yp=temp_yp; } /*---!N}----------------------------*/ get_ranges() { int i, button; side=.11; button=FALSE; while( butt!O}on does_not_equal SELECT ){ ftoa( side, numbuff, 5 ); for( i=0; i<5; alert2[ 20+i ]=numbuff[ i++ ] ); !P} button=form_alert( 3, alert2 ); if( button equals LESS ) side=( side-.002 ); if( button equ!Q}als MORE ) side=( side+.002 ); } x_corner=(-1.02); button=FALSE; while( button does_not_equal SELEC!R}T ){ ftoa( x_corner, numbuff, 5 ); for( i=0; i<5; alert2a[ 18+i ]=numbuff[ i++ ] ); button!S}=form_alert( 3, alert2a ); if( button equals LESS ) x_corner=( x_corner-.01 ); if( button equals MORE )!T} x_corner=( x_corner+.01 ); } x_end=x_corner+( side*2 ); gap_x=( side /( xres-1 ) ); y_corner=( -.3!U}1 ); button=FALSE; while( button does_not_equal SELECT ){ ftoa( y_corner, numbuff, 5 ); fo!V}r( i=0; i<5; alert3[ 23+i ]=numbuff[ i++ ] ); button=form_alert( 3, alert3 ); if( button equals LESS !W}) y_corner=( y_corner-.01 ); if( button equals MORE ) y_corner=( y_corner+.01 ); } y_end=y_corner+( si!X}de*1.5 ); gap_y=( side*.75 )/( yres-1 ); fscale=2.0; button=FALSE; while( button does_not_equal SEL!Y}ECT ){ ftoa( fscale, numbuff, 5 ); for( i=0; i<4; alert8[ 20+i ]=numbuff[ i++ ] ); button=!Z}form_alert( 3, alert8 ); if( button equals LESS ) fscale=( fscale-0.1 ); if( button equals MORE ) fscal![}e=( fscale+0.1 ); } scale=((int)fscale); } /*----------------------------------*/ ask_questions() { !\} type_dimension=THREE_DEE; if(resolution does_not_equal HIREZ) type_dimension=form_alert(2,talert); slope_rate=!]}2; slope_amount=(.5); if( resolution equals HIREZ ) slope_amount=(.6); count_limit=100; size_limit=4; lef!^}t_side=( xres/2 ); right_side=xres; if( type_dimension equals TWO_DEE ){ slope_amount=0; slope_rate=0; !_} fscale=0; scale=0; left_side=( xres/4 ); right_side=( left_side*3 ); } terrain=VALL!`}EYS; if( type_dimension equals THREE_DEE ) terrain=form_alert( 2, alert1 ); switch( resolution ){ ca!a}se LOREZ: filename[ 11 ]='1'; color_step=count_limit/16; break; case MEDREZ: filename[ 11 ]='2'; color_step=count_!b}limit/4; break; case HIREZ: filename[ 11 ]='3'; color_step=count_limit/16; } which_palette=WIND; !c} if( resolution does_not_equal HIREZ) which_palette=form_alert(1, palert ); switch( which_palette ){ case!d} EARTH: Setpallete( earth_palette ); break; case WIND: Setpallete( wind_palette ); break; case FIRE: Se!e}tpallete( fire_palette ); } } /*-------------------------------*/ clear_screen() { int temp[4]; vs!f}f_interior( handle, 2 ); vsf_style( handle, 8 ); vsf_color( handle, 0 ); temp[ 0 ]=0; temp[ 1 ]=0;!g} temp[ 2 ]=xres; temp[ 3 ]=yres; v_hide_c( handle ); v_bar( handle, temp ); v_show_c( handle ); } !q}b'DOS SYSb*+DUP SYSbUAUTORUN SYSbWHELP BASb\MENU bnPORT TXTbDOC TXTbTFRAC3D PRGbYFRAC3D C bzTAX1040 SC b'VDISHOW BAS /*--------------------------------*/ terminate() { v_clsvwk( handle ); Setpallete( gem_pal ); appl_e!r}xit(); } !s}-D Fractal Landscapes * Ver. 122385/11:39 * (c) 1985 Antic Publishing * Written by Patrick Bass * *-- Alcyo   $@$ LINE 5@$ER FROM@$6 SMALLER FROM LINE 544@$INCO%u}ME@$UALIFD @$5 NET QUALIFD INCOME  @$-27,31@$040,L26@$4 ADJ 1040,L26-27,3144%v}@$NCOME@$ARNED I@$3 TOT EARNED INCOME  @$C,F,K@$T, SCH @$2 PROFIT, SCH C,F,K  %w}@$040, L7@$, ETC 1@$1 WAGES, ETC 1040, L7@$SPOUSE@$YOU @$COUPLES@$ARRIED @$E W - M@$%x}SCHEDULE W - MARRIED COUPLES4@$LN 41@$T 1040,@$L CREDI@$9 TOTAL CREDIT 1040,LN 41 @$@ 84'S%@$%y} IN 85 @$XP PAID@$8 84 EXP PAID IN 85 @ 84'S%4@$OUNT@$TAGE AM@$ PERCEN@$7 1984 PERCENTAGE AMOUNT %z}$$? $B$$$$?!$B`$$2?@H$PERCENT$?"$B@$%{}@ BLEH$DEDUCTIBLE$?#$B $ H$LINE 6$?$$B$ $$?%$B$ %|}$$?&$B`$ $$?'$B@$ $$?($B $ $$?)$B%}}@$TABLE $$?0$@$PERCENTAGE4$@$E@$NSE BAS@$5 EXPENSE BASE4%~}   @  INCOME@ SE'S E.@$4b SPOUSE'S E. INCOME  @ INCOME@%} EARNED @$4a OWN EARNED INCOME$ @$ID@$NSES PA@$3 EXPENSES PAID @$ED 2441@$DIT SCH@$ARE CRE@$%}CHILD CARE CREDIT SCHED 24414A0@$,LN 38@$TO 1040@$ G TAX @$28 SCH G TAX TO 1040,L%}N 3844u@$INE 10@$AX ON L@$26&27 TAX ON LINE 10 4u@$%}E 8@$ ON LIN@$25 TAX ON LINE 84@ @$NE 23@$% OF LI@$24 300% OF LINE 23$4@$21 & 22%}@$ LINES @$23 NET LINES 21 & 22$4w@$E 16@$ ON LIN@$22 TAX ON LINE 16$4w@$%}E 17@$ ON LIN@$21 TAX ON LINE 174w$@$E 19@$ ON LIN@$20 TAX ON LINE 194@$ & 18@$%}INES 17@$AL OF L@$19 TOTAL OF LINES 17 & 184$@$LINE 11@$UNT ON @$18 AMOUNT ON LINE 114@$ &%} 16@$INES 15@$AL OF L@$17 TOTAL OF LINES 15 & 164$@$LINE 7@$UNT ON @$16 AMOUNT ON LINE 74?%%}@$ INCOME@$RAGABLE@$ OF AVE@$15 25% OF AVERAGABLE INCOME4$@$ INCOME@$RAGABLE@%}$14 AVERAGABLE INCOME4 @ INE 7@  FROM L@$13 1.4 FROM LINE 74@  10@ %}ES 11 &@  OF LIN@$12 NET OF LINES 11 & 10$ @ STATE@ MUNITY @$11 COMMUNITY STATE4@ ON@ %}TRIBUTI@  OF DIS@$10 NET OF DISTRIBUTION$@ TION@ ISTRIBU@ ATURE D@$9 PREMATURE DISTRIBUTION4g %}@ 040 L37@ NCOME 1@$8 85 INCOME 1040 L374@@ @  1.4@ IPLY BY@$7 MULTIPLY BY 1.44@ %} @ DE BY 3@$6 DIVIDE BY 34& @ COME@ OTAL IN@$5 TOTAL INCOME$@ 2-84@ NCOME 8@%} DE US I@$4 OUTSIDE US INCOME 82-84$ @ 7@ 040 L 3@$3 '84 1040 L 37$ @ 7@ 040 L 3@$4%} '83 1040 L 37$ @ 7@ 040 L 3@$1 '82 1040 L 37 @ RAGING@ OME AVE@ E G INC@$SCHEDULE G INCOME AVE%}RAGING4@ INE 9@ 1040, L@ NET TO 1040, LINE 9@$@104&@4UDABLE@ TL EXCL@  SUB TOTL EXCLUDABLE%}@$@9$ @  EXCL@  UTILITY EXCL@$@8 @ BLE@  NONTAXABLE@$@7 @ STRIB@  GAIN D%}ISTRIB@$@64 @  TOTAL@$@5  $@@$@4  $@@$@4  @%}$@PAYOR@$@4 @  II@ DS PART@$PDIVIDENDS PART II4&@ 40 LN 8@ INT, 10@  TOTAL INT, 1040 LN 8@$@%}3  $@@  $@@  @ NTEREST@ OTHER INTEREST$@@%} @ D@ FINANCE@ SELLER-FINANCED$@@ @ T I@ EST PAR@$ INTEREST PART I   @ E B@$%} SCHEDULE B4@ INE 34a@  1040 L@ TAL DED@ 26 TOTAL DED 1040 LINE 34a4] @%} ] @A5@] @ ] @A#] @Ap@ ON@ DEDUCTI@ STATUS DEDUCTION@$@%}254 @ VE@  SUM ABOVE@$@24 @$@ TOTALS4& @ TION@  DEDUCTI%}ON@$@23  $@@$@22  @$@OTHER@$@22  @ P@$PTAX PREP@$@21  %} @$@DUES@$@20 @$@ MISC$ @ S@ LTY LOS@$P19 CASULTY LOSS4& @ TION@  %}DEDUCTION@$@18  @ ER@  CARRYOVER@$@17  @ H@ NON-CASH@$@16  @ RGE@  CASH L%}ARGE@$@15b$ @ ALL@  CASH SMALL@$@15a @ S@ IBUTION@$P CONTRIBUTIONS4& @ TION@ %} DEDUCTION@$@14  $@@$@13  @$@OTHER@$@13  @ CARDS@  CREDIT CARDS@$@%}12  @ HER@  INT. OTHER@$@11b$ @ NANCIAL@ INT. FINANCIAL@$@11a @ EST@$P INT%}EREST4& @ TION@  DEDUCTION@$@10  @$@OTHER@$@9  @$@SALES@$@8a/b %} @ TATE@  REAL ESTATE@$@7$ @$@INCOME@$@6 @$@ TAXES4%} @ TION@  DEDUCTION@$@54? @ LESS 5%@$@44& @ L@  TOTAL@$@3 %} @$@2c  $@@$@2c  @$@OTHER@$@2c  @ RTATION@ TRANSP%}ORTATION@$@2b$ @ ETC.@  DR,DDS,ETC.@$@2a$$@ PTIONS@  PRESCRIPTIONS$@@ @ %}AL@$ MEDICAL   @ E A@$ SCHEDULE A  $?P BS0 B' $ $?H B$%}BQ0 $?E B$B0p $?B B2$Be $?5 Arq`$B%}T$2@2@2@$LINE 10$?2 AU %}$Bp$2@2@2@$@LINE 8$?( %}A9b@$BD`$2@2@2@$LINE 16$?$%} A&7`$B@$2@2@2@$LINE 17%}$? Aq`$BV$2 @2 @2 @$L%}INE 19$? Ar $B"@$@E G TAXES@$SCHEDULE G TAXES$? A#$AP$2- %}@2- @-2- @$1040TAX$? AP$Ag`$$$%}? A@$AE$ @@@$FLAG$? $A# $ %}$@ @ USEHOLD@ D OF HO@ E Z HEA@$SCHEDULE Z HEAD OF HOUSEHOLD  $?P B%u BE%} $?I Bae$Bi0 $?E B4@$BEE $?B Ax$B%%} $?8 AP$B85$2@2@2%}@$LINE 10$?3 A2d $B$2@2@2%}@$@LINE 8$?( A$$BU`$2@2@2%}@$LINE 16$?% A$B($2@2@2%}@$LINE 17$?" A$B$2 @2 @%}2 @$LINE 19$? A p$A%@$E G TAXES@$SCHEDULE G TAXES$? %}Ad$Aa$2- @2- @-2- @$1040TAX$?%} AQ0$A9U$$$? A$A(`$ @@@$FLAG$? %}$Ap $ $@ @ ARATE@ E Y SEP@$SCHEDULE Y SEPARATE  $?P%} BQQp B $ $?I B#0$B8`$ $?E Biv$B$ $?B %}BW$B$P$ $?8 Bq`$Bvp$2@2@2%}@ LINE 10$?3 Ae(@$Bf0$2@2@%}2@$@LINE 8$?( AI`$B $2@2@%}2@ LINE 16$?% A6`$BV$2@2%}@2@ LINE 17$?" A%$B $2 @2%} @2 @ LINE 19$? A@$BfP@$@E G TAXES@ SCHEDULE G TA%}XES$? A)$B#$2- @2- @-2- @%} 1040TAX$? A`$Ay$ $? A9$AW $ @  @@%}@ FLAG$? $A5@$ $ $@@ R)@ WIDOW(E@ RIED & @ E Y MAR%}@$SCHEDULE Y MARRIED & WIDOW(ER)  $?P$B  BQ0 $?H$Bgpp BuP$ %}$?B$B9P$B1 $?8$AxP$BT $?4$AY6p$Bp$ $%}?0$ABp$BD`$q @ A#2@2@2%}@ LINE 10$?&$A(HP$B@$q @ A#2@2%}@2@$@LINE 8$?#$A `$BV$q @ %}A#2@2@2@ LINE 16$? $AF`%}$B40$q @ A#2 @2 @2 %}@ LINE 17$?$AR@$B@$q @ A#2 @2 @%}2 @ LINE 19$?$Ap$AP@$ TAXES@$ SCHED G TAXES$?$%}AVP$Ag` $?$AQ0$AE$ @ -A#2- @2-%} @-2- @ 1040TAX$?$A&P$A5@$ $?$%}$A# $$@$ @ GLE@ E X SIN@$SCHEDULE X SINGLE4%} @$@OWED$@@h4 @ D@ OVERPAID$@@e4&@ YMENTS@ OTAL PA%}@  *** TOTAL PAYMENTS$@@d @ XES@  MISC TAXES@$@62/63 @ FICA@  EXCESS FICA$@@a%} @ 68@  FORM 4868$@@` @ INCOME@  EARNED INCOME$@@Y @ PAYM%}NTS@ 85 EST PAYMNTS$@@X$ @ D@ WITHHELD$@@W4 @ AX@  TOTAL TAX$@@V%}  @ AXES@  OTHER TAXES@$@52/55 @ ch SE)@ PLOY (S@ SELF EMPLOY (Sch SE)@$@514%} @  +CRED@  NET TAX +CRED@$@50$ @ S CRED@  BUSINESS CRED@$@47/494%}@ D@  +- CRE@ NET TAX +- CRED@$@464 @ EDITS@  MISC CREDITS@$@42/45$4%}@ ED 2441@ CARE CRED 2441@$@414$@ TAL TAX@  *** TOTAL TAX@$@40$@$ES@ NAL TAX@ ADDITIO%}NAL TAXES@$@394 4@  TAX@  SCHED G TAX$$4*:J@ HED TAX@ RATE S%}CHED TAX@$@384@ COME@ ABLE IN@ NET TAXABLE INCOME@$@374A@@ E@ ON VALU@ EXEMPTION VALUE@$@%}364 @ OME@  NET INCOME@$@354&@@ IBLE@  DEDUCT@  - NET DEDUCTIBLE@ 34e %}@ ON-CASH@  - NON-CASH@ 34c @  - CASH@ CONTRIB - CASH@ 34b4@ Sch A)@  DED. (@ I%}TEMZED DED. (Sch A)@$@34a4@ INCOME@  GROSS @$*** ADJ GROSS INCOME@$@32&334&@  ADJ@  INCOME@%}  TOTAL INCOME ADJ@$@314@  DED@  COUPLE@ SCHED W COUPLE DED@$@30$ @  PAID@  ALIMONY PAID@$@%}29$@ ALTY@ WAL PEN@ WITHDRAWAL PENALTY@$@28$ @$@KEOGH@$@27$ @ UCTION@  IR%}A DEDUCTION@$@26$@ (2106)@ E BUS. @ EMPLOYEE BUS. (2106)@$@25$ @ EXP@  MOVING EXP@$@244%}&@ E@ L INCOM@  TOTAL INCOME@@23$ @ NCOME@  OTHER INCOME@@22 @ AXABLE@ SEC%}., T@ SOCIAL SEC., TAXABLE@$@21b$@ TAXABLE@ YMENT, @ UNEMPLOYMENT, TAXABLE@@20b$ @ ch F)@%}$P FARM (Sch F)@@$@ ch E)@ ETC. (S@ RENTS, ETC. (Sch E)@@$@ TAXABLE@ ENSION,@%} OTHER PENSION,TAXABLE@@17b$@ PENSION@ AXABLE @ FULLY TAXABLE PENSION@@$@ AINS@ EN%}TAL G@ SUPPLEMENTAL GAINS@@$ @  GAIN@  40% CAP GAIN@@$@ Sch D)@  GAIN (@ %}CAPITAL GAIN (Sch D)@@$@ C)@ S (Sch @ BUSINESS (Sch C)@@$@ ED@  RECEIV@ ALI%}MONY RECEIVED@@$ @ UNDS@  TAX REFUNDS@@4$@ ON@  EXCLUSION@@9b-C$%}4@ DS(S.B)@ DIVIDENDS(S.B)@@9a4@ d B)@ T (Sche@ INTEREST (Sched B)@@$ @$@%}WAGES@@@$ ---------@$-------@$-------@$-------H@-------@ NS =@ XEMPTIO@ TOTAL EXEMPTIONS =%}H@6f @@ .......@ DOW(ER)@  (5= WIDOW(ER).......$P @ EHOLD, @ AD/HOUS@  (4= HE%}AD/HOUSEHOLD, 5= WIDOW/ERP @ EPARATE@ RRIED-S@  (3= MARRIED-SEPARATE$P @ OINT,@ RRIED-J@  (2= MARRIED-%}JOINT,H@1-5@ GLE@ (1= SINHPSTATUS @ FILING STATUS (1= SINGLEH@1040 @$@ ---------@ ES!@ T 5 TIM%}@ IS SHEE@$PCALC THIS SHEET 5 TIMES!@$@LINE @  @  @  @$@FORM @ LATOR@ X CALCU@ %}COME TA@$P1985 INCOME TAX CALCULATOR$& 1080 dim pxy(100) 1090 numpoints=0 1100 linecolor=0 1110 linewidth=2 1120 textcolor=1 1130 texteffects=2 1140 fillcol)}or=1 1150 fillstyle=1 1160 fillindex=1 1170 writemode=1 1180 markertype=3 1190 markercolor=5 1200 markerheight=4 1210 )}' 1220 '---------------------- 1230 rez=peek(systab) 1240 if rez=1 then xres=639: yres=399 1250 if rez=2 then xres=639: y)}res=199 1260 if rez=4 then xres=319: yres=199 1270 ' 1280 '---------------------- 1290 ' 1300 MAIN: 1310 fullw 2: clear)}w 2 1320 ' 1330 ' Create a filled, 1331 ' rounded rectangle. 1340 fillcolor=7: gosub VSFCOLOR 1350 fillstyle=2: gosub V)}SFINTERIOR 1360 fillindex=5: gosub VSFINDEX 1370 pxy(0)=30: pxy(1)=30 1380 pxy(2)=100: pxy(3)=100 1390 gosub VRFBOX 1400)} ' 1410 ' Draw a box with thick, 1411 ' red lines. 1420 linewidth=6: gosub VSLWIDTH 1430 linecolor=2: gosub VSLCOLOR 1)}440 pxy(0)=xres/5 1441 pxy(1)=yres/5 1450 pxy(2)=xres-(xres/5) 1451 pxy(3)=yres/5 1460 pxy(4)=xres-(xres/7) 1461 pxy(5)=)}yres-(yres/5) 1470 pxy(6)=xres/7 1471 pxy(7)=yres-(yres/5) 1480 pxy(8)=xres/5 1482 pxy(9)=yres/5 1490 numpoints=5 1500 )}gosub VPLINE 1510 ' 1520 ' 1530 ' 1530 for i=0 to 99 1550 ' First select a color. 1560 markercolor=rnd(9)*16 1562 gosu)}b VSMCOLOR 1570 ' 1580 ' Then select marker height. 1590 markerheight=rnd(9)*15 1592 gosub VSMHEIGHT 1600 ' 1610 ' Next)} select a type. 1620 markertype=rnd(9)*7 1621 gosub VSMTYPE 1630 ' 1640 ' Now plot the marker 1650 pxy(0)=rnd(9)*xres 1)}652 pxy(1)=rnd(9)*yres 1660 numpoints=1 1670 gosub VPMARKER 1680 ' 1690 next i 1700 ' 1710 ' 1720 gotoxy 15,10 1722 w)}ritemode=2: gosub VSWRMODE 1730 texteffects=4+8 1732 gosub VSTEFFECTS 1740 textcolor=6 1742 gosub VSTCOLOR 1750 ' 1760 )}print "Antics' VDI Demo!" 1770 ' 1780 ' 1782 writemode=0 1784 gosub VSWRMODE 1790 for i=0 to 5000: next i 1800 texteffe)}cts=0 1802 gosub VSTEFFECTS 1810 closew 2 1820 end 1830 ' 1840 '-------------------------- 1850 VPLINE: 1860 poke cont)}rl,6 1870 poke contrl+2, numpoints 1880 for vindex=0 to numpoints*2 1890 vpoint=vindex*2 1900 poke ptsin+vpoint, pxy(vind)}ex) 1910 next vindex 1920 vdisys(1) 1930 return 1940 ' 1950 '-------------------------- 1960 VSLCOLOR: 1970 poke contr)}l,17 1980 poke contrl+2,0 1990 poke contrl+6,1 2000 poke intin, linecolor 2010 vdisys( 1 ) 2020 return 2030 ' 2040 '--)}------------------------ 2050 VSLWIDTH: 2060 poke contrl, 16 2070 poke contrl+2, 1 2080 poke contrl+6, 0 2090 poke ptsin*}, linewidth 2100 poke ptsin+2, 0 2110 vdisys( 1 ) 2120 return 2130 ' 2140 '-------------------------- 2150 VSTCOLOR: 2*}160 poke contrl, 22 2170 poke contrl+2, 0 2180 poke contrl+6, 1 2190 poke intin, textcolor 2200 vdisys( 1 ) 2210 return *} 2220 ' 2230 '-------------------------- 2240 VSTEFFECTS: 2250 poke contrl, 106 2260 poke contrl+2, 0 2270 poke contrl+6*}, 1 2280 poke intin, texteffects 2290 vdisys( 1 ) 2300 return 2310 ' 2320 '-------------------------- 2330 VRFBOX: 234*}0 poke contrl, 11 2350 poke contrl+2, 2 2360 poke contrl+6, 0 2370 poke contrl+10, 9 2380 poke ptsin, pxy(0) 2390 poke p*}tsin+2, pxy(1) 2400 poke ptsin+4, pxy(2) 2410 poke ptsin+6, pxy(3) 2420 vdisys( 1 ) 2430 return 2440 ' 2450 '----------*}---------------- 2460 VSFCOLOR: 2470 poke contrl, 25 2480 poke contrl+2, 0 2490 poke contrl+6, 1 2500 poke intin, fillco*}lor 2510 vdisys( 1 ) 2520 return 2530 ' 2540 '-------------------------- 2550 VSFINTERIOR: 2560 poke contrl, 23 2570 p*}oke contrl+2, 0 2580 poke contrl+6, 1 2590 poke intin, fillstyle 2600 vdisys( 1 ) 2610 return 2620 ' 2630 '------------* }-------------- 2640 VSFINDEX: 2650 poke contrl, 24 2660 poke contrl+2, 0 2670 poke contrl+6, 1 2680 poke intin, fillinde* }x 2690 vdisys( 1 ) 2700 return 2710 ' 2720 '-------------------------- 2730 VSWRMODE: 2740 poke contrl, 32 2750 poke c* }ontrl+2, 0 2760 poke contrl+6, 1 2770 poke intin, writemode 2780 vdisys( 1 ) 2790 return 2800 ' 2810 '-----------------* }--------- 2820 VPMARKER: 2830 poke contrl, 7 2840 poke contrl+2, numpoints 2850 poke contrl+6, 0 2860 for vindex=0 to nu* }mpoints*2 2870 vpoint=vindex*2 2880 poke ptsin+vpoint, pxy(vindex) 2890 next vindex 2900 vdisys( 1 ) 2910 return 2920 '*} 2930 '-------------------------- 2940 VSMCOLOR: 2950 poke contrl, 20 2960 poke contrl+2, 0 2970 poke contrl+6, 1 2980 *}poke intin, markercolor 2990 vdisys( 1 ) 3000 return 3010 ' 3020 '-------------------------- 3030 VSMHEIGHT: 3040 poke *}contrl, 19 3050 poke contrl+2, 1 3060 poke contrl+6, 0 3070 poke ptsin, 0 3080 poke ptsin+2, markerheight 3090 vdisys( 1*} ) 3100 return 3110 ' 3120 '-------------------------- 3130 VSMTYPE: 3140 poke contrl, 18 3150 poke contrl+2, 0 3160 p*}oke contrl+6, 1 3170 poke intin, markertype 3180 vdisys( 1 ) 3190 return extcolor=1 1130 texteffects=2 1140 fillcol(Q