@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 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;DEL`?<0LV`@ʆ 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  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uI BEGIFINIS| DRAW MAT}IN MENU || RELEASE 2.0 | +@AR@4=GSCREEN,2=EDIT SCREEN$70@U}@ @70@@ @.0=GTEXT, 1=EDIT TEXT870@ @70@@ @V}B-@L (@ ATARI CAD/CAMV-@@`!!(@ FACILITY LAYOUTj-@W}@t(@ MAIN MENU~-@@(@(A) 3D DRAWING-@@ (@X}(B) PRINT FILES-@@""(@(C) ONLINE MANUAL-@@""(@(D) LOAD TUBEDUMY}P-@@(@(E) 2D DRAWING-@@ (@ (F) TERMINATE0#@@Z}K:0)@@ Ap  @e Ap!@p Ap"@hA[}("@p+2!"@i!% D1:DRAW2D.MSH<"@g% D1:HELP.BASF""@f"%D1:LISTING.BAS\}P!"@e!% D1:DRAW3D.MSHZ +d(CURRENTLY THIS OPTIONn(EXISTS ONLY AS A GLEEMx(IN THE DISTA]}NT EYE OF ( THE CREATOR!!((HIT ANY KEY TO( TRY ANOTHER0#@@K:0)@^}@% Ap| LOAD TUBE DUMP OBJ || START=30844 || EN_}D =32624 | +@AR@4=GSCREEN,2=EDIT SCREEN70@@ `}@70@@ @0=GTEXT, 1=EDIT TEXT"70@ @70@@ @,-@a}6 (@ ATARI CAD/CAM@-@@J!!(@ FACILITY LAYOUTT-@@^!!b}(@ IS NOW LOADINGh-@@r""(@ A TUBE DUMP |-@@!!(@ c} UTILITY -@@$$(@ PLEASE WAIT!! //@@D:TDUMPG24.OBJ)@d})@)@)@6-$AV%)@)@6-$AV%" -e})@" @ 6-?:, A@D:DRAW)@6-$AV%" -O10000 REM Outside Walls10010 DATA 11,0,0,.6,910011 DATA 10,0,9,.2,410012 DATA 11,0,13,.6,910020 DATA 11,0,22,8,-.610021 g}DATA 10,8,22,4,-.210022 DATA 11,12,22,8,-.610030 DATA 11,20,22,-.6,-910031 DATA 10,20,13,-.2,-410032 DATA 11,20,9,-.6,-9 h}10040 DATA 10,20,0,-3.5,.210041 DATA 10,16.6,0,-3.6,.210042 DATA 11,13,0,-5.5,.610043 DATA 10,7.5,0,-2.5,.210044 DATA 11, i}5,0,-5,.610100 REM Inside Walls10110 DATA 9,4,.65,.65,.65,21.35,19.35,21.35,19.35,.6510120 DATA 10,.65,.6,4.35,.0510121 D j}ATA 10,7.5,.6,5.5,.0510200 REM Counter Top10210 DATA 9,4,13,.65,10.5,3.15,10,3.15,7.5,.6510220 DATA 9,7,3.15,.65,3.15,16.3 k}5,5.65,18.85,14.35,18.85,16.85,16.35,16.85,5.65,19.35,3.1510300 REM Cabinets10310 DATA 10,.65,.65,2.5,210311 DATA 4,1.5,2, l}CAB10320 DATA 10,.65,16.35,2.5,-210321 DATA 4,1.5,16,CAB10330 DATA 10,5.65,21.35,2,-2.510331 DATA 4,7,21,CAB10340 DATA 1 m}0,16.85,16.35,2.5,-210341 DATA 4,18.5,16,CAB10350 DATA 10,16.85,5.65,2.5,210351 DATA 4,18.5,8.5,CAB10400 REM Printer Stan n}ds10410 DATA 10,.65,6.5,2.5,210411 DATA 4,2,8,PRT10420 DATA 10,.65,8.5,2.5,210421 DATA 4,2,10,PRT10430 DATA 10,14.35,21. o}35,-2,-2.510431 DATA 4,13.5,20,PRT10500 REM Book Cases10510 DATA 12,3.15,16.35,3.54,1,4510511 DATA 4,4,19.5,BK10520 DATA p} 12,14.30,19.05,3.54,1,31510521 DATA 4,15.5,18,BK10530 DATA 9,5,8.5,.65,10.25,2.30,10.25,3.15,10.25,2.30,12,.6510531 DATA q}4,9,3.5,BK10532 DATA 4,12,3.5,BK11000 DATA 1,0,0,COMPUTER ROOM,8.5,.65,10.25,2.30,10.25,3.15,10.25,2.30,12,.6510531 DATA A10000 REM 10010 REM | HOUSE DATA FLOOR 1 |10020 REM 10030 REM 10040 REM OUTSIs}DE WALLS (WEST)10050 DATA 10,0,0,27.0,.710060 DATA 11,-.7,.7,2.7,-.710070 REM DEN WINDOW10080 DATA 10,2,.5,5,-.310090 REt}M KITCHEN WINDOW 110100 DATA 11,25,.7,2,-.710110 DATA 10,20,.5,5,-.310120 REM KITCHEN WINDOW 210130 DATA 11,7,.7,5,-.710u}140 DATA 10,12,.5,3.5,-.310150 DATA 11,15.5,.7,4.5,-.710160 REM SOUTH WALL10170 REM DEN WALLS10180 DATA 10,9,0,.4,-6.410v}190 DATA 10,9,-8.9,.4,-2.510200 DATA 10,0,-11,6,-.410210 DATA 10,0,-11,1,-.410220 DATA 11,-.7,0,.7,-24.410230 REM COMMON w}WALL KIT/DINNING RM10240 DATA 10,9.4,-11,13.5,-.410250 REM DINNING RM10260 DATA 10,13,-11.4,.4,-6.2510270 DATA 10,13,-23.x}9,.4,-.510280 REM FRONT WALL10290 DATA 10,-.7,-24.4,26.7,-.710300 DATA 11,-.7,-24.4,2.95,-.710310 DATA 10, 2.25,-24.6,2.5y},-.310320 DATA 11,4.75,-24.4,5,-.710330 DATA 10,9.75,-24.6,2.5,-.310340 DATA 11,12.25,-24.4,3.15,-.710350 REM FRONT DOORz}10360 DATA 10,15.4,-24.6,3,-.310370 DATA 11,18.4,-24.4,3.5,-.710380 REM HALF BATH WINDOW10390 DATA 10,21.9,-24.6,2,-.3104{}00 DATA 11,23.9,-24.4,2.5,-.710410 REM NORTH WALL10420 DATA 10,27,0,.4,-410430 DATA 10,27,-7,.4,-410440 DATA 10,26,-11,.4|},-.510450 DATA 10,26,-14.5,.4,-10.610460 REM FAMILY ROOM10470 DATA 10,26.7,9.7,.7,-9.710480 DATA 10,26.7,9.7,17.4,-.7104}}90 DATA 11,43.4,9.7,.7,-48.0510500 DATA 10,26,-11,17.4,-.410510 REM DOOR FM10520 DATA 10,26.9,8.5,.3,-5.510530 DATA 11,26~}.7,9.7,.7,-1.210540 DATA 11,26.7,3,.7,-310550 REM WINDOW FM10560 DATA 11,26.7,9.7,4.7,-.710570 DATA 10,31.4,9.5,8,-.3105}80 DATA 11,39.4,9.7,4.7,-.710590 REM LAUNDRY RM10600 DATA 10,37.5,-11.4,.4,-610610 DATA 10,29.4,-17.4,8.5,-.410620 REM KI}TCHEN CLOSET10630 DATA 10,15.75,-9,.4,-210640 DATA 10,18.1,-9,.4,-210650 DATA 9,2,15.75,-9,18.1,-910660 REM GARAGE10670 }DATA 11,25.7,-25.1,.7,-13.2510680 DATA 11,25.7,-37.65,1.25,-.710690 DATA 11,42.85,-37.65,1.25,-.710700 DATA 10,26.95,-37.8}5,15.9,-.310710 REM PORCH10720 DATA 10,13.7,-25.1,12,-910730 REM BATH AND CLOSET WALLS10740 DATA 10,19.15,-18.9,3,-.4107}50 DATA 10,24.15,-18.9,1.85,-.410760 DATA 9,2,19.15,-18.9,19.15,-24.410770 DATA 10,21.25,-19.3,.4,-5.110780 REM WALL FOR S}TAIRS10790 DATA 10,16.4,-14.4,.4,-3.2510800 DATA 10,16.8,-14.4,6.1,-.410810 REM STEPS10820 DATA 10,13.4,-14.4,3,-110830 }DATA 10,13.4,-16.4,3,-110840 DATA 10,16.4,-11.4,1,-310850 DATA 10,18.4,-11.4,1,-310860 DATA 10,20.4,-11.4,1,-310870 REM R}OOM NAMES10880 DATA 5,4.5,-4.5,DEN10890 DATA 4,33,-14,WASH10900 DATA 4,6.5,-18,DINNING10910 DATA 4,6.5,-20,ROOM10920 DAT}A 4,35,5,FAMILY10930 DATA 4,35,1,ROOM10940 DATA 5,35,-26,GARAGE10950 DATA 4,19,-29,PORCH10960 DATA 4,24,-20.5,B10970 DAT}A 4,19,-4,KITCHEN10980 DATA 1,0,0,FIRST FLOOR LAYOUT,-26,GARAGE10950 DATA 4,19,-29,PORCH10960 DATA 4,24,-20.5,B10970 DAT610000 REM 10010 REM | INPUT DATA |10020 REM 10030 REM 10040 REM TABLE AND CHAIRS10060 DATA 2},18,-5,TABLE10070 DATA 8,10,20,-5.5,210080 DATA 10,19.25,-1.5,1.5,-1.510090 DATA 10,19.25,-8.0,1.5,-1.510100 DATA 10,16,-}4.50,1.5,-1.510110 DATA 10,22.75,-4.50,1.5,-1.510120 REM BASEMENT WALLS(OUTSIDE)10130 DATA 11,-1,1,5,-110140 DATA 11,6.75},1,20.95,-110150 DATA 10,4,1,2.75,-.2510160 DATA 11,-1,-24.5,28.7,-110170 DATA 11,26.7,0,1,-24.510180 REM SOUTH WALL AND }WINDOWS10185 DATA 1,0,0,BASEMENT LAYOUT 198410190 DATA 11,-1,0,1,-1.510200 DATA 11,-1,-4.25,1,-1.1510210 DATA 10,-1,-1.5,}.25,-2.7510220 DATA 10,-1,-5.4,.25,-2.7510230 DATA 11,-1,-8.15,1,-7.710240 DATA 10,-1,-15.85,.25,-2.7510250 DATA 11,-1,-1}8.6,1,-1.2510260 DATA 10,-1,-19.85,.25,-2.7510270 DATA 11,-1,-22.6,1,-1.910280 REM INSIDE WALLS10290 DATA 9,7, .5,-.5, .5},-24, 26.2,-2410300 DATA 26.2,-15, 13.5,-15, 13.5,-14.5, 26.7,-14.510310 DATA 10,13.5,-10.75,13.4,-.510320 REM SUMP PUMP1}0330 DATA 8,15,2.75,-2,.7510340 REM HOT WATER HEATER10350 DATA 8,15,9.5,-1,.7510360 REM SAW SHOP VAC10370 DATA 8,15,17.5,}-21,.7510380 REM SHOP SAW10390 DATA 2,12.8,-20.9,SAW10400 DATA 10,12.5,-20.25,3.5,-210410 REM FURNACE WALL10420 DATA 9,1}1, .5,-.5, 7,-.5, 7,-3, 9,-710430 DATA 13.75,-7, 13.75,-2.25, 13.4,-2.25, 13.4,-6.65, 9.3,-6.65, 7.35,-2.8, 7.35,010440 REM} FURNACE10450 DATA 3,11,-3,F10460 DATA 10,10,-2.5,2.25,-3.510470 REM SHELVES10480 DATA 10,25.5,-2,1,-8.2510490 DATA 10,1}8.7,-.3,7,-110500 REM WORK BENCH10510 DATA 2,19,-15.5,BENCH10520 DATA 10,18.2,-15,8,-2.510530 REM HIGH SAW HORSES10540 D}ATA 10,19,-20,.5,-2.210550 DATA 10,9,-20,.5,-2.210560 REM GRINDER10570 DATA 10,10,-22.5,1.5,-110580 REM SHOP WASTEBASKET }& VACUUM10590 DATA 8,15,14.25,-16.25,.7510600 DATA 8,20,16,-16,.510610 REM STUDY DESK10620 DATA 3,1,-2,DESK10630 DATA 9,}5, 7,-2.5, 4,-2.5, 2.5,-4, 2.5,-15.5, .5,-15.510640 REM WATER VALVE10650 DATA 10,2.75,-23.25,2,-.510660 REM SHOP SHELVES1}0670 DATA 10,5.5,-22.50,3,-110680 DATA 10,17,-22.50,3,-110690 DATA 10,.75,-20,1,-2.510700 REM TOY BOX10710 DATA 10,14.5,-}9,4.5,-1.510720 REM SHOP CLOSET10730 DATA 9,3, 26.2,-21.9, 21,-21.9, 21,-2410740 DATA 9,3, 26.2,-21.55, 20.65,-21.55, 20.6}5,-2410750 REM BASEMENT POLE10760 DATA 8,45,8.5,-11.5,.1610770 REM STEPS TO UP STAIRS10780 DATA 10,13.8,-11.25,.8,-3.251}0790 DATA 10,15.4,-11.25,.8,-3.2510800 DATA 10,17.0,-11.25,.8,-3.2510810 DATA 10,18.6,-11.25,.8,-3.2510820 DATA 10,20.2,-1}1.25,.8,-3.2510830 DATA 10,21.8,-11.25,.8,-3.2510840 DATA 10,23.4,-11.25,.8,-3.2510850 DATA 10,25.0,-11.25,.8,-3.2510860 }REM DESK CHAIRS10870 DATA 10,3,-13,1.5,-1.510880 DATA 10,3,-8,1.5,-1.510890 DATA 10,4.8,-3,1.5,-1.510900 REM COUCH10910 }DATA 10,5,-12,5,-370 DATA 10,3,-13,1.5,-1.510880 DATA 10,3,-8,1.5,-1.510890 DATA 10,4.8,-3,1.5,-1.510900 REM COUCH10910 10000 REM TEST DATA10010 DATA 10,0,0,10,1010020 DATA 10,2.5,2.5,5,510030 DATA 10,4,4,2,210040 DATA 10,0,3,10,410050 DATA} 10,3,0,4,1010060 DATA 10,5,-5,1,110070 DATA 10,5,15,1,110080 DATA 10,-5,5,1,110090 DATA 10,15,5,1,1,0,3,10,410050 DATAi10000 REM BOX10010 DATA 10,0,0,10,1010015 REM TITLE10020 DATA 1,0,0,TEXT TYPE 110025 REM OTHER TEXT10030 DATA 2,5,1,TEXT} TYPE 210040 DATA 4,5,2,TEXT TYPE 410050 DATA 3,1,5,TEXT TYPE 310060 DATA 5,3,5,TEXT TYPE 510070 REM SOLID BOX11000 DATA} 11,0,0,1,111005 REM ANGLED BOX11010 DATA 12,7,7,1,2,2011015 REM FULL CIRCLE11020 DATA 8,10,1,8,.7511025 REM CCW ARC110}30 DATA 7,10,5,5,2,-30,30ED BOX11010 DATA 12,7,7,1,2,2011015 REM FULL CIRCLE11020 DATA 8,10,1,8,.7511025 REM CCW ARC11010000 REM TEST DATA10010 DATA 10,0,0,0,10,10,1010020 DATA 10,0,0,0,1,1,1RCLE11020 DATA 8,10,1,8,.7511025 REM CCW ARC110 K10000 REM BASEMENT WALLS10001 DATA 10, 0,1.5,0, -1.5,-16,710010 DATA 10, 0,0,0, 7.5,1.5,710015 REM FURNACE ROOM WALLS1002$}0 DATA 10, 6.5,0,0, .33,-2.5,710021 DATA 10, 6.5,-5.5,0, .33,-.58,710022 DATA 10, 6.83,-6.08,0, 6.5,.33,710025 REM WINDOW$}10030 DATA 10, 3.42,0,6.25, 2.66,1.5,.75 10, 6.5,-5.5,0, .33,-.58,710022 DATA 10, 6.83,-6.08,0, 6.5,.33,710025 REM WINDOW$);L| VIEWBLD |L++@@ D:VIEW.MATQ(@(}10VPLAN VIEW`(@1,PLANj(@1,0,0t(@0,1,0~(@0,0,1SIDE VIEW(}(@2,SIDE(@1,0,0(@0,0,1(@0,-1,0FRONT VIEW((@3,FRON(}T2(@0,-1,0<(@0,0,1F(@-1,0,0REAR VIEW(@4,REAR(@0(},1,0(@0,0,1(@1,0,0BOTTOM VIEW(@5,BOTTOM(@1,0,0(@(}0,-1,0(@0,0,-1JOTHER SIDE VIEWT(@ 6,OTHER SIDE^(@-1,0,0h(@0,(}0,1r(@0,1,0OTHER AUX LH FRONT(@ 7,AUX TFL(@ .707,-.707,0(@.224(},.224,.948(@-.67,-.67,.317OTHER AUX RH FRONT(@ 8,AUX TFR&(@ -.707,-.707,00 (} (@.224,-.224,.948:(@ -.67,.67,.317vOTHER AUX LH REAR(@ 9,AUX TRL(@ .(}707,.707,0 (@-.224,.224,.948(@ .67,-.67,.317OTHER AUX RH REAR(@ 10,AUX TRR(}(@ -.707,.707,0!!(@-.224,-.224,.948(@ .67,.67,.317 @ D:VIEWBLDRR(xQ0i̭1iiԠiՠ 1Ԉ J`0/+% 25.$!54/25."!3i@ L@@$Z^D =32624 | +@AR@4=GSCREEN,2=EDIT SCREEN70@@ (}@70@@ @0=GTEXT, 1=EDIT TEXT"70@ @70@@ @,-@(}6 (@ ATARI CAD/CAM@-@@J!!(@ FACILITY LAYOUTT-@@^!!(}(@ IS NOW LOADINGh-@@r""(@ A TUBE DUMP |-@@!!(@ (} UTILITY -@@$$(@ PLEASE WAIT!! //@@D:TDUMPG24.OBJ)@(})@)@)@6-$AV%)@)@6-$AV%" -(})@" @ 6-?:, A@D:DRAW)@6-$AV%" -(O1000 DIM PT$(1),PTLAST$(1),ANS(2,2)1010 GOTO 27101020 REM 1030 REM | PLOTING CODE DRAW2D |1040 REM,} | RELEASE 1.3 |1050 REM 1060 CLIP$="Y"1070 ALAST=-777777:BLAST=ALAST1080 PTLAST$="I"1090,} K=01100 FOR KK=1 TO PTCNT1110 X=XY(KK,1):Y=XY(KK,2)1120 REM 1130 REM | TEST FOR DATA COMMAND |,}1140 REM 1150 IF X<>-777777 THEN 11801160 REM COMMAND=1 IS PEN UP1170 IF Y=1 THEN CLIP$="Y":GOTO ,}21801180 REM 1190 REM | CONVERT X,Y TO TUBE A,B |1200 REM 1210 K=K+,}11220 DIFX=0.86*(X-XCENTER)1230 X=XCENTER+DIFX1240 A=(X-XMIN)*REL1+AMIN1250 B=(Y-YMIN)*REL2+BMAX1260 REM ,}1270 REM | CLIP LOGIC |1280 REM 1290 PT$="I"1300 IF AAMAX THEN PT$="O"1310 IF BBMAX T,}HEN PT$="O"1320 IF PT$="I" AND PTLAST$="I" THEN GOTO 20801330 IF PT$="O" AND PTLAST$="O" THEN GOTO 15801340 IF PT$="I" AND,} PTLAST$="O" THEN GOTO 18601350 REM 1360 REM | PT IS OUT, LAST PT IN |1370 REM ,}1380 IF K=1 THEN 21601390 X=A:Y=B1400 IF A=ALAST THEN 14901410 IF B=BLAST THEN 15401420 REM 1430 REM NOT 90 DEGR,}EES TO EDGE1440 GOSUB 22001450 IF CNT<1 THEN 21601460 X=ANS(1,1):Y=ANS(1,2)1470 GOTO 15701480 REM 1490 REM VERT LINE15,}00 IF B>BMAX THEN Y=BMAX1510 IF BAMAX THEN X=AMAX15,}60 IF AAMAX AND ALAST>AMAX THEN 21601630 IF BBMAX AND BLAST>BMAX THEN 21601650 IF K=1 THEN 21601660 X=A:Y=B1670 IF A=ALAST THEN ,}17601680 IF B=BLAST THEN 18001690 REM 1700 REM LN HITS TUBE AT ANGLE1710 GOSUB 22001720 IF CNT<>2 THEN 21601730 X=ANS(1,},1):Y=ANS(1,2)1740 ALAST=ANS(2,1):BLAST=ANS(2,2)1750 GOTO 18301760 REM VERT LINE ACROSS TUBE1770 IF BBMAX THEN Y=BMAX:BLAST=BMIN1790 GOTO 18301800 REM HORZ LINE ACROSS TUBE1810 IF AAMAX THEN X=AMAX:ALAST=AMIN1830 PLOT ALAST,BLAST1840 DRAWTO X,Y1850 GOTO 21601860 REM ,}1870 REM | PT IS IN, LAST PT OUT |1880 REM 1890 IF A=ALAST THEN 19901900 IF B=BLAST THEN 2,}0401910 REM 1920 REM NOT 90 DEGREES TO EDGE1930 IF K=1 THEN 21601940 GOSUB 22001950 IF CNT<1 THEN 21601960 ALAST=ANS(1,,}1):BLAST=ANS(1,2)1970 GOTO 20701980 REM 1990 REM VERT LINE2000 IF BLAST>BMAX THEN BLAST=BMAX2010 IF BLASTAMAX THEN ALAST=AMAX2060 IF ALASTBMAX OR YAMAX OR XA AND X>ALAST THEN 24802400 IF XB AND Y>BLAST THEN 24802420 IF YANG2 THEN ANG2=ANG2+360:GOTO 25702580 IF ANG<5 THEN AN,}G=52590 REM CHECK FOR CIRCLE OFF TUBE2600 IF XC-R>XMAX THEN RETURN 2610 IF XC+RYMAX THEN R,}ETURN 2630 IF YC+R255 THEN POP :GOTO 37403720 NEXT I3730 GOTO,} 36303740 OPEN #4,4,0,"K:":GET #4,X3750 CLOSE #4:GOTO 47203760 REM 3770 REM | START LOOP FOR PL,}OTING |3780 REM 3790 ECNT=03800 ADR1=ADR(PRINT$):ADR2=ADR(TEXT$)3810 REM GET NEXT COMMAND TYPE,}3820 TRAP 35903830 READ TYPE:TYPE=INT(TYPE)3840 ECNT=ECNT+13850 TEXT$(1)=STR$(ECNT)3860 X=LEN(TEXT$)3870 TEXT$(X+1)=" OF,} "3880 X=LEN(TEXT$)3890 TEXT$(X+1)=STR$(ECNT1)3900 X=LEN(TEXT$)3910 IF ECNT=ECNT1 THEN TEXT$=" ":X=83920 IF ECNT=,}1 AND TYPE<>1 THEN TEXT$(X+1)=" ATARI LAYOUT BY JACK GILCHRIST":X=LEN(TEXT$)3930 IF TYPE=1 THEN TEXT$(X+1)=" ,} ":X=LEN(TEXT$)3940 C=USR(ADR1,0,23,ADR2,X)3950 REM 3960 REM TYPES 1,2,3,4,5 FORMAT3970 REM DATA TYPE,X,Y,},TEXT3980 REM 3990 REM 1=TITLE TEXT AT BOTTOM4000 REM 2=HORZ TEXT STARTING AT X,Y4010 REM 3=VERT TEXT STARTING AT X,Y402-}0 REM 4=HORZ TEXT CENTERED ON X,Y4030 REM 5=VERT TEXT CENTERED ON X,Y4040 REM TYPE 1 IS ALWAYS DISPLAYED4050 REM X,Y REQUI-}RED BUT NOT USED4060 REM 4070 REM 6=UNASSIGNED4080 REM 7=CCW ARC FORMAT4090 REM DATA 7,ANG,XC,YC,R,ANG1,ANG24100 REM 4-}110 REM 8=FULL CIRCLE4120 REM FORMAT DATA 8,ANGLE,XC,YC,R4130 REM ANGLE=DEGREES BETWEEN POINTS4140 REM TO BE SAMPLED4150 -}REM 4160 REM 9=PT ARRAY4170 REM FORMAT4180 REM DATA 9,PTCNT,X1,Y1,...XN,YN4190 REM 4200 REM 10=BOX4210 REM DATA 10,XMIN-},YMIN,XLENGTH,YLENGTH4220 REM 4230 REM 11=SOLID BOX4240 REM FORMAT SAME AS TYPE 104250 REM 4260 REM 12 BOX AT ANGLE4270-} REM 4280 IF TYPE<1 OR TYPE>12 THEN GOTO 47104290 ON TYPE GOSUB 6700,6700,6700,6700,6700,2710,2500,2500,4300,4390,4390,4390-}:GOTO 38104300 REM 4310 REM | SUB FOR PT ARRAY |4320 REM 4330 READ PTCNT4340 FOR-} I=1 TO PTCNT4350 READ X,Y4360 XY(I,1)=X:XY(I,2)=Y4370 NEXT I4380 GOTO 10204390 REM 4400 REM | SUB FOR B-}OX |4410 REM 4420 REM GET BOX CORNERS4430 GOSUB 70104440 IF TYPE=11 THEN 44604450 GOTO 10204460 REM - }4470 REM | FILL IN BOX |4480 REM 4490 GOSUB 10204500 DIFX=0.86*(XY(4,1)-XCENTER)4510 X=XCENTER- }+DIFX:Y=XY(4,2)4520 A1=(X-XMIN)*REL1+AMIN4530 B1=(Y-YMIN)*REL2+BMAX4540 DIFX=0.86*(XY(2,1)-XCENTER)4550 X=XCENTER+DIFX:Y=- }XY(2,2)4560 A2=(X-XMIN)*REL1+AMIN4570 B2=(Y-YMIN)*REL2+BMAX4580 IF A1>AMAX THEN RETURN 4590 IF A2BMAX THEN RETURN 4610 IF B2AMAX THEN A2=AMAX4640 IF B1BMAX THEN B2=BMAX4660 FOR I=B1 TO B24670 PLOT A1,I4680 DRAWTO A2,I4690 NEXT I4700 RETURN 4710-} ? "BAD COMMAND";TYPE:GOTO 35904720 REM 4730 REM | MAIN MENU |4740 REM 4750 GRAPHICS 1:POKE 751-},14760 SETCOLOR 4,9,3:SETCOLOR 2,9,34770 SETCOLOR 0,9,12:SETCOLOR 1,9,104780 POSITION 1,04790 ? #6;"DISPLAY OPTIONS"4800-} POSITION 1,34810 ? #6;"(A) SET WINDOW"4820 POSITION 1,54830 ? #6;"(B) DISPLAY"4840 POSITION 1,74850 ? #6;"(C) NEW DRAWI-}NG"4860 POSITION 1,94870 ? #6;"(D) RETURN"4880 POSITION 1,114890 ? #6;"(E) STOP"4900 OPEN #4,4,0,"K:":GET #4,X4910 CLOS-}E #44920 IF X<65 OR X>69 THEN GOTO 47204930 IF X=69 THEN GRAPHICS 0:END 4940 IF X=68 THEN RUN "D1:DRAW"4950 IF X=67 THEN -}RUN "D1:DRAW2D.MSH"4960 IF X=65 THEN GOSUB 4990:GOTO 47204970 RESTORE 4980 GOTO 32604990 REM 5000 R-}EM | SUB TO SET WINDOW |5010 REM 5020 GRAPHICS 05030 ? "INPUT DATA MAX-MIN'S"5040 ? " XMAX=";XB,50-}50 ? " XMIN=";XS5060 ? " YMAX=";YB,5070 ? " YMIN=";YS:? 5080 ? "CURRENT WINDOW RANGE"5090 ? " XMAX=";XMAX,5100 ? " -}XMIN=";XMIN5110 ? " YMAX=";YMAX,5120 ? " YMIN=";YMIN:? 5130 ? "YOUR OPTIONS ARE!"5140 ? " (A) SHIFT X"5150 ? " (B) S-}HIFT Y"5160 ? " (C) SET CENTER XC,YC"5170 ? " (D) SCALE BY #"5180 ? " (E) SET SCALE"5190 ? " (F) SET WINDOW"5200 ? "-} (G) WINDOW=DATA MAX-MIN'S"5210 ? " (H) RETURN"5220 OPEN #4,4,0,"K:":GET #4,X5230 CLOSE #45240 IF X<65 OR X>72 THEN GOT-}O 49905250 IF X=72 THEN RETURN 5260 IF X=71 THEN XMAX=XB:XMIN=XS:YMAX=YB:YMIN=YS:GOTO 49905270 IF X=65 THEN GOTO 53305280-} IF X=66 THEN GOTO 53805290 IF X=67 THEN GOTO 54305300 IF X=68 THEN GOTO 55505310 IF X=69 THEN GOTO 56705320 IF X=70 THEN-} GOTO 57905330 REM SHIFT X5340 ? :? "INPUT DESIRED SHIFT IN X ";5350 INPUT X5360 XMAX=XMAX+X:XMIN=XMIN+X5370 GOTO 49905-}380 REM SHIFT Y5390 ? :? "INPUT DESIRED SHIFT IN Y ";5400 INPUT X5410 YMAX=YMAX+X:YMIN=YMIN+X5420 GOTO 49905430 REM SET -}X,Y CENTER5440 ? :? "INPUT X AND Y DESIRED AT CENTER!"5450 ? "CURRENT CENTER IS";5460 A=(XMAX+XMIN)/25470 B=(YMAX+YMIN)/2-}5480 ? " XC=";A;5490 ? " YC=";B:? 5500 ? "DESIRED CENTER IS ";5510 INPUT X,Y5520 I=X-A:XMAX=XMAX+I:XMIN=XMIN+I5530 I=-}Y-B:YMAX=YMAX+I:YMIN=YMIN+I5540 GOTO 49905550 REM SCALE BY #5560 CSCALE=ABS((XB-XS)/(XMAX-XMIN))5570 ? :? "CURRENT SCALE=- }";CSCALE5580 ? "CHANGE SCALE BY=";:INPUT SCALE5590 XC=(XMAX+XMIN)/25600 YC=(YMAX+YMIN)/25610 X=(XMAX-XMIN)/2:Y=(YMAX-YMIN-!})/25620 XMAX=XC+X/SCALE5630 XMIN=XC-X/SCALE5640 YMAX=YC+Y/SCALE5650 YMIN=YC-Y/SCALE5660 GOTO 49905670 REM SET SCALE TO -"}#5680 CSCALE=ABS((XB-XS)/(XMAX-XMIN))5690 ? :? "CURRENT SCALE=";CSCALE5700 ? "CHANGE SCALE TO=";:INPUT SCALE5710 XC=(XMAX-#}+XMIN)/25720 YC=(YMAX+YMIN)/25730 X=(XB-XS)/2:Y=(YB-YS)/25740 XMAX=XC+X/SCALE5750 XMIN=XC-X/SCALE5760 YMAX=YC+Y/SCALE57-$}70 YMIN=YC-Y/SCALE5780 GOTO 49905790 ? :REM SET WINDOW VALUES5800 ? "YOUR VALUES";5810 ? " WILL BE ADJUSTED TO"5820 ? "P-%}ROPORTIONAL RATIO OF THE TV TUBE"5830 ? 5840 ? "INPUT YOUR VIEWPORT AS FOLLOWS"5850 ? "XMAX,XMIN,YMAX,YMIN"5860 ? "YOUR V-&}ALUES ARE ";5870 INPUT XMAX,XMIN,YMAX,YMIN5880 GOTO 49905890 REM 5900 REM | CALC DISPLAY XY M-'}AXMIN'S |5910 REM 5920 XB=-777777:XS=7777775930 YB=-777777:YS=7777775940 GRAPHICS 2:POKE 751,-(}15950 SETCOLOR 4,9,3:SETCOLOR 2,9,35960 SETCOLOR 0,9,12:SETCOLOR 1,9,105970 POSITION 4,15980 ? #6;"PLEASE WAIT!"5990 POS-)}ITION 4,36000 ? #6;"I'M SCANNING"6010 POSITION 4,56020 ? #6;"YOUR DRAWING"6030 POSITION 4,76040 ? #6;"FOR IT'S X,Y"6050-*} POSITION 4,96060 ? #6;" MAX-MIN'S!"6070 TRAP 66506080 ECNT1=06090 REM 6100 REM LOOP FOR EACH ENTITY6110 READ TYPE6120-+} ECNT1=ECNT1+16130 IF TYPE=8 OR TYPE=7 THEN 62006140 IF TYPE>9 AND TYPE<13 THEN 63006150 IF TYPE=9 THEN 64306160 IF TYPE>-,}0 AND TYPE<6 THEN 65506170 ? "I ENCOUNTER A TYPE OF DATA I"6180 ? "DON'T RECOGNIZE. TYPE=";TYPE6190 ? "ENTITY NUMBER IS "--};ECNT16200 REM 6210 REM | CALC MAXMIN OF CIRCLE |6220 REM 6230 READ ANG-.},XC,YC,R6240 IF TYPE=7 THEN READ ANG1,ANG26250 IF XC+R>XB THEN XB=XC+R6260 IF XC-RYB THEN YB-/}=YC+R6280 IF YC-RXB THEN XB-1}=X6380 IF XYB THEN YB=Y6400 IF YXB THEN XB=X6500 IF XYB THEN YB=Y6520 IF YXB THEN XB=X6610 IF XYB THEN YB=Y6630 IF Y39 THEN GOTO 69706900 IF B>22 AND TYPE>1 THEN GOTO 69706910 IF B<0 OR B>23 THEN GOTO 69706920 CS1$=TEXT$(I,I)6930 R-<}EM ALLOW FOR VERT SHIFT TO6940 REM FRACTIONS OF A LINE6950 J=A+(40*(INT((B-INT(B))*8)))6960 C=USR(ADR(PRINT$),J,B,X,1)697-=}0 IF TYPE<3 OR TYPE=4 THEN A=A+16980 IF TYPE=3 OR TYPE=5 THEN B=B+16990 NEXT I7000 RETURN 7010 REM 7->}020 REM | SUB FOR BOX |7030 REM | CALC ALL CORNERS |7040 REM 7050 READ X,Y,A,B7060 IF A<0 THEN X-?}=X+A:A=-A7070 IF B<0 THEN Y=Y+B:B=-B7080 IF TYPE=12 THEN READ ANG7090 PTCNT=57100 XY(1,1)=X:XY(1,2)=Y7110 XY(2,1)=X+A:XY-@}(2,2)=Y7120 XY(3,1)=XY(2,1):XY(3,2)=Y+B7130 XY(4,1)=X:XY(4,2)=XY(3,2)7140 XY(5,1)=X:XY(5,2)=Y7150 IF TYPE<12 THEN RETURN -A}7160 REM 7170 REM | ROTATE BOX TYPE=12 |7180 REM 7190 XC=XY(1,1):YC=XY(1,2)7-B}200 FOR I=2 TO 47210 IF I=2 THEN ANG1=0:R=A7220 IF I=4 THEN ANG1=90:R=B7230 IF I<>3 THEN 72707240 DIFX=XY(I,1)-XC:DIFY=XY-C}(I,2)-YC7250 R=SQR((DIFX*DIFX)+(DIFY*DIFY))7260 ANG1=ATN(DIFY/DIFX)7270 ANG2=ANG+ANG17280 XY(I,1)=(R*COS(ANG2))+XC7290 X-D}Y(I,2)=(R*SIN(ANG2))+YC7300 NEXT I7310 RETURN ANG1=ATN(DIFY/DIFX)7270 ANG2=ANG+ANG17280 XY(I,1)=(R*COS(ANG2))+XC7290 X,1&$$QQQQQQQQQQQ1Q1Q1Q1Q1Q1Q2Q2Q2Q4Q6Q6Q6Q6Q7Q7Q9Q16Q17Q19Q20Q25Q25Q36Q39Q48Q501F}Q57Q59Q70Q71Q72Q75Q76Q77Q83Q97Q99PTPTLASTANSCLIPALASBLASKPTCNXYDIFXCENTEXMIRELAMIYMIRELBMAAM1G}ABMICNDIFMCANXYTYPANGANGXMAYMAFILENAMETEXTCS1BEGIENPRINTDIFDIFRELXRELANDELTFIECNADRADRECNT1H}ABABXXYYCSCALSCAL 1I} 1J} !"#$%&'()*+1K},-./01@23456789@:1L};<=>?@ABCDEFGHIJ1M}KLMNOPQRSTUVWXY1N}Z[\]^_`abcdefghi1O}jklmnopqrs6-6-@'6-@36-1P}??6-@K6-@W6-@c6-@o6-@{6-@6-@ 6-@6-@6-@1Q}6-Ap6-@6-A 6-@#6->6-@@6-@e'6-@g36-@h?6-@i1R}K6-A pW6-@rc6-A`o6-A!`{6-A!p6-A16-A"6-AU6-AV6-A`1S}6-AC'6-A$36-A%?6-ApK6-A5W6-Agc6-A'o6-AG {6-AQ6-Ad6-B1T}www'6-A06-Aip'6-AI;,;,9<, $S 6.Y6-66- 6.I&6-.-961U}-8<,D6-8<,S6A "6.Y A!C 6-%6-$+&,6-%-6-+&,$%;6-+&,$%1V}C6.I  )!6.O  )!6.O(4I*4I A 24O*4O A<4I*4O 1W}A`d " n 6-6-"A"A@    6-8<,6-8<,  1X}!6-  6-  !6-  6-" / ,J  *  T !*! ^ 1Y} *  h !*! r " | 6-6-"A`"A   36-8<,6-81Z}<,$6-8<,/6-8<,3   6-6- !6-6-   6-6- !61[}-6-& ,/ Db"Al"A @ "     6-8<,6-8<, 1\} !6-  6-  !6-   6- ,6.N6.I >! 41]}Y,6.N! R! /4O6.I!6.Yf p 6.Y6.Oz 6-6-   $O 6-&6-1^}&6-6+',*6-%+$,06-8->"D6-O6-6$%  "6-6-6$%  "6-6-+&,'6$  "1_}6-6-+&,'68  !)  B  !)  V  !*! `   *  j  !*! t   *   1`}* 6-%68<,-!68<,-'"*$   $   ""6-6-  ""  !6-% A%p1a}   6-(  &!$2  % $<  &!$F  % $P G 6--6-%/68<,-+$E:,,%C61b}8<,-+$G:,,%G     J+ ;,;,/9A<,;,;,JD1:PRINTGR8.OBJ L ))1c})))6-$%0)7)E-$%&%L;,, < -)7,.>:," '1 A)p5"8#<  @"(1d}DATA SETS ON DISK DRIVE #1, A0 @D1:*.DAT  )(>:, A0 o A1`(1(INPUT NAME OF 1e}DATA FILEP(FOR EXAMPLE:'D1:DEMO1.DAT'o(THIS FILE SHOULD HAVE BEEN l#(SAVED WITH THE LIST COMMAND&(6( FILE NAME=1f}:=(Y(I'M ATTACHING YOUR DATAl(STATEMENTS NOW& 1((TYPE RUN AFTER READY#- B1 X b (( BAD F1g}ILE NAMEv  5 AX6-6-A%6-16-A5   A 6-&6-&6-&#6-&+6-'36-1q}B%DOS SYSB*)DUP SYSBSAUTORUN BASB fCOMPROOMDATBrDEMO1 DATBDEMO2 DATBDEMO3 DATBDEMO4 DATBDEMOA3D DATBDEMOB3D DATB VIEWBLD BASBDRAW2D LSTBJEDRAW2D MSHBDRAW3D MSHB-HELP BASBLHELPDOC T1 BQHELPDOC T10BTHELPDOC T11BYHELPDOC T2 B^HELPDOC T20B pHELPDOC T21ByHELPDOC T22B+|HELPDOC T23BHELPDOC T24B HELPDOC T3 BHELPDOC T4 #HELPDOC T6 HELPDOC T7  HELPDOC T8 HELPDOC T9 HIDDEN (LISTING BAS%MANUAL TXTMUD BASPRINTGR8OBJREADME TDUMPG24OBJVIEW MATBAUTORUN SYS'A6-?u$    A4 * A 6-$6-+&,'6-&'6-%/6-&76-'A A4`\ 7 6-'6-+&,'1r}6-&'6-%/6-&76-'  B+%@0+6-+&,'+&,;6-+&,'+&,B6-6 6-+%,' A7`1s}$ 6-6-.M -2@#-' 129-= A G6-M6-t'-A 1t}F:,'' A7@  A60!K:)!  6-6-C:,6-C:,J  "6-1u}P:,6-%(67,.=:,16-B:,A67%,. OF J6-B:,2567%,.=:,6-B:, "/6. 56-PB "*1v}967%,. ATARI LAYOUT BY JACK GILCHRISTB6-B:,Z> "567%,. >6-B:,d(6-?:1w}<<<<, )!( AG/%AC/ A83"-" 68<,-+68<,-1x}/ 3 &N "AD`b lG 6-$+8<,&, 6-%+6-8<,96-+&,$%G6-+&,$%C61y}-$+8<,&,6-%'6-8<,56-+&,$%C6-+&,$% ! $   $ ! $   $   6-1z} !6-   6-* !6-4 -,/ $f( BAD COMMAND p-+ 01{}0%0-0U - (DISPLAY OPTIONS&-<((A) SET WINDOWB-U( (B) DISPLAYN - (1|}(C) NEW DRAWING&-8( (D) RETURN>-N((E) STOP$+K:)' )!+ B " +L1}} "%D1:DRAWV "% D:DRAW2D.MSH` "  j# A2`~]+ (INPUT DATA MAX-MIN'S/( XMA1~}X==( XMIN=L( YMAX=Z( YMIN=](Y(CURRENT WINDOW RANGE+( XMAX=9( XMIN=H( YMAX=V1}( YMIN=Y( m(YOUR OPTIONS ARE!+( (A) SHIFT X=( (B) SHIFT YX( (C) SET CENTER XC,YCm( (D) SCALE BY #1}<]( (E) SET SCALE,( (F) SET WINDOWL( (G) WINDOW=DATA MAX-MIN'S]( (H) RETURNd+K:)'1} )!+  " $+"@q6-6-!6-'6-+  " AS0"@f AS " AT01} " AUP " AVp"@p AW=(%(INPUT DESIRED SHIFT IN X )16-%961}-%= =(%(INPUT DESIRED SHIFT IN Y )16-%96-%= 6@g(+( INPUT X AND Y DESIRED AT CENTER!1}B(CURRENT CENTER ISN6-+%,'Z6-+%,'g( XC=r`( YC=(*(DESIRED CENTER IS 086-&@6-%H1}6-%P6-&X6-%`6-% T6-O:+&,'+&,,(.(CURRENT SCALE=D(CHANGE SCALE BY=HT6-+%,1}'O6-+%,'6-+&,''6-+&,'16-%';6-&'E6-%'O6-&' &0T6-O:+&,'+&,,(.(C1}URRENT SCALE=D(CHANGE SCALE TO=HT6-+%,'XO6-+%,'6-+&,''6-+&,'16-%';6-&'E6-%'O61}-&' Y(( YOUR VALUES0( WILL BE ADJUSTED TOV(!PROPORTIONAL RATIO OF THE TV TUBEY(b&(INPUT YOUR VIE1}WPORT AS FOLLOWS>(XMAX,XMIN,YMAX,YMINT(YOUR VALUES ARE ^b  7 6-66-6-66-!+'/01}70HG 00--( PLEASE WAIT!3-G( I'M SCANNINGzP -( YOUR DRAWING#-7(1} FOR IT'S X,Y=-P( MAX-MIN'S! AfP6-!"6-%!")"Ab!* @Ac1}"Ad0!* AePZ$(I ENCOUNTER A TYPE OF DATA IB(DON'T RECOGNIZE. TYPE=Z(ENTITY NUMBER IS 1}8V """j %!6-%t & 6-&~ %!6-% & 6-& 11} -6-8<,%6-8<,+!16-  6- !6-  6-    <!"-"1}!!6-d  6-n !6-x  6-    ""  !6-  61}- !6-  6- > 6-%6-%6-&#6-&)6-/6-56-;6->$,J "6-B1}:, $rE6-$+&,6-%%6-+&,$%36-+&,$%E6-+'A ,$ "6-&+',-6-+'A,$@$1}!"-6-&+',* 6-C:,"$6-@ &+',*6- - )!@9 !@"*!  1} )! <6.7<,(6-%+$+P:+&P:,,$,,,<6-?:C:,<<<<,:  )"6-%D ")"6-%N   $b1}" " 6-%"6-6  6-%6-6 " "T 6-68<,-68<,-,68<,-%768<1},-G68<,-8<,T68<,-%=68<,-68<,-8<,)68<,-468<,-: =$36-8<,6-8<,!-1}'"-6-36-4 "6-@6->ArpH;6-8<,&6-8<,&06-M:+$,%+$,,;6-D:',f1}: 6-%68<,-+$E:,,%368<,-+$G:,,%7 :$ D:DRAW2D.MSH,&6-8<,&06-M:+$,%+$,,;6-D:',f0McdABFILENAMECLIPXYZTEXTCS1PTPTLASTANSM1VTYPETTADRADRIIALASBLASKPTCNDIFACENTEAMIRELUM5}IBMIRELVMAUMAVMIUVULASVLASCNDIFDIFMCUVBEGIENPRINTADRAMADIFBMARELARELUNDELTFIBCENTEIECNTYP5}ECNTXXYYZZXMAXMIYMAYMIZMAZMIAABBCSCALSCALXCENTEYCENTEZCENTEANGANGANGXYXYDIFDIFANPLP5}@@@ 5}5} !"#$%&'()*+,-./5}0123456789:;<=>5}?@ABCDEFGHIJKLMN5}OPQRSTUVWXYZ[\]@^5}_`abcd@ef| PLOTING CODE DRAW3D 5}|| RELEASE 1.0 |;@,;@,..9@P<@,;@@,;5}@,$..;@,;@,9@<@,.669@<@,;@,9@<@,86->65}-BwwwB 6-C:,6-C:,L6.PLANV-@@`-@@j'68<,-'ZERO VIEW MA5}TRIXt ~ Z 68@<@,-@=68@<@,-@Z68@<@,-@))@@5}D:HIDDEN-@@-@@!@!BOX PLOT LOGIC68<,- 5} @ A(| SUB. XYZ TO AB | FF6-8@<@5},$%8@<@,$%8@<@,$FF6-8@<@,$%8@<@,$%8@<@,$FF5}6-8@<@,$%8@<@,$%8@<@,$($2<| WINDOWING SUB. |F5}P 6.YZ 6-66-d 6.In6-x-@66-8<@,%6-8<@,5}66-8<@,| TEST FOR DATA COMMAND |6A5}COMMAND=1 IS PEN UP!"@6.Y! A$  | CONVERT XYZ TO TUBE UV |5} 6-%@ AXYZ TO AB6-?$+&, 6-%6-+&,$%5}6-+&,$%",| CLIP LOGIC |6@ 6.IJ  )!6.OT  )!6.5}O^4I*4I A#h4O*4O Ar4I*4O A!p|| PT5} IS OUT, LAST PT IN |"@A$p 6-6-"A"AP5}NOT 90 DEGREES TO EDGE A% @A$p16-8@<@,16-8@<@, 5}AVERT LINE !6-  6-& A0:HORZ LINED !6-N  6-X5} / A$pb l | PT IS OUT, LAST PT OUT |v  * 5}A$p!*!A$p * A$p!*!A$p"@A$p 6-6-"A p5}"A!LN HITS TUBE AT ANGLE A%@A$p16-8@<@,16-8@5}<@,16-8@<@,16-8@<@,  A!@VERT LINE ACROSS TUBE   6-6-* 5}!6-6-4 A!@>HORZ LINE ACROSS TUBEH  6-6-R !6-6-\ ,f /p A$5}pz| PT IS IN, LAST PT OUT |"A#"5}A#PNOT 90 DEGREES TO EDGE"@A$p A% @A$p16-8@<@,5}16-8@<@, A#VERT LINE  !6-   6- A#$ . HORZ LINE8 5} !6-B   6-L  ,6.N6.IV ` | TRY TO DRAW |j t A$p5}~ # 4Y,6.N# A$ /  4O6.I6.Y A$  6.Y6.O  6-6- 5}  $  | CLIP TO TUBE FOR ANGLE |  V=-M1*U+C1 EQ.5} FOR LINE SETUP EQ FOR PLOT PTS  6-&6-& 6-6+', 6-%+$, &6-&# OF SOLUTIONS FOUND( 5}LOOP FOR PT ON EACH EDGE2 -@@< "@6- 6-6$%F "@6- 6-6$%P ""@5}6-"6-+&,'6Z ""@6-"6-+&,'6d TEST PT FOR ON TUBE BORDERn !) A'x !) 5}A' !!TEST PT FOR IN RANGE OF PTS !*!A'  * A' !*!A'  * A'5} STORE ANSWER 6-%@ 68<@,- 68<@,- "@$   $ 5} | CODE INITILIZATION |  +" INIT FOR DEGREES, !!LOAD ASSEMBLY CODE5} FOR TEXT6 00@@D1:PRINTGR8.OBJ@ {)@)@*)@7)@G6-$AV5}%T)@a)@{-$AV%&%@J  ;,6-C:,T .-@)@*7,.>:,. ^ 5}@h r | GET DATA ATTACHED ||   A)`"# A1 ""5}(DATA SETS ON DISK DRIVE #1 DISPLAY DISK DATA SETS A0 ))@@D1:*.DAT ")@5}(>:," A0 @ A1P "("(INPUT NAME OF DATA FILE ""(FOR EXAMPLE:'D1:DEMO1.DAT' ""(THIS 5}FILE SHOULD HAVE BEEN ##(SAVED WITH THE LIST COMMAND (( FILE NAME=  "("(I'M ATTACHING YOUR DATA (5}STATEMENTS NOW ((TYPE RUN AFTER READY& READ IN DATA STATEMENTS0 : BD A2N TRAP FOR B5}AD INPUTX (( BAD FILE NAMEb %l v | SET UP WINDOW MAX/MINS | 5}  AR`CALC MAXMIN'S 6-@6-A 6-@6-A AA0 ""RETURN HERE AF5}TER WINDOW SET  6-&6-&  6-&6-&  6-'6-' CORRECT FOR SHAPE OF DOT 6-?u$ ""5} ""| MAKE WINDOW PROPORTIONAL | "" CHECK FOR DIFA TOO SMALL5}    A4 6-$* 6-+&,'@4  6-&6-%>  6-&6-'H A4PR 6-'\ 6-+&5},'@f  6-&6-%p  6-&6-'z WINDOW VALUES ALL SET NOW  | INIT FOR PLOT |5}  +@%@ '0@@ '@ ""SET UP TRANSFORMS TO CONVERT ""A,B5} DATA INTO TUBE U,V SPACE 6-+&,'+&, 6-+&,'+&, 6-6 6-+%,'@ 6-+%,'@ A7`5}| RETURN FROM PICTURE |$-AdAU!6-@-5}6-@.-@82@@B-@@ L%%2V5}-@@ ` j6-@6-@t-@A ~%F:Ad,AU'% A7@ 5} A600#@@K:0)@@ AA0  | 5}START LOOP FOR PLOTING | 6-GET NEXT COMMAND TYPE A5"6-P:5},6-%@67@,.=:,  6-B:,67%@,. OF  6-B:,(67%@,.=:,2 6-B:,5}<$ "6. $6-@FT"@*@K67%@,. ATARI LAYOUT BY JACK GILCHRISTT6-B:,PJ5}"@A67%@,. J6-B:,Z 6-?:<<@#<<,dn# @)!5}@# AA xqgAYAYAYAYAYA(A(A(A9pA@`A@`A@`q A85}| SUB FOR PT ARRAY |"-@ "6685}<@,-%68<@,-668<@,-  A0| SUB FOR BOX |5} AcGET BOX CORNERS Ae DRAW BOX$( BAD COMMAND A5",| MA5}IN MENU |6@ +@AQ@J70@@ @70@@ @T705}@ @70@@ @^,(@,(@ DISPLAY OPTIONSh+(@+(@ (A) SET 5}WINDOWr((@((@ (B) DISPLAY|,(@,(@ (C) NEW DRAWING'(@'(@ (D) RE5}TURN%(@%(@ (E) STOP,(@,(@ (F) DATA REVIEW,(@,(@ (G) CHANGE 5}VIEW;#@@K:0)@;@# @e)!@q# AA0#"@p AD#5} AA0"@i+"@h%D1:DRAW "@g % D:DRAW3D.MSH#"@e AFP# A5}A0#"@q Ah# AA`# A2P| SUB DATA REVIEW |&5}0 +:((XYZ DATA MAX-MIN'SD( XMAX=(XMIN=N( YMAX=(YMIN=X!( ZMAX5}=(ZMIN=!(b(XYZ DISPLAY RANGEl( XMAX=(XMIN=v( YMAX=(YMIN=!( ZMAX=(5}ZMIN=!(((( PROJECTION MAX-MIN'S (HORZ/VERT)( HMAX=(HMIN=!( VMAX=(VMIN=!( (CU5}RRENT PROJECTION RANGE( HMAX=(HMIN=( VMAX=(VMIN='('( VIEW MATRIX BEING USED IS>5}>(8@<@,8@<@,8@<@,>>(8@<@,8@<@,8@<@,>>5}(8@<@,8@<@,8@<@, (HIT ANY KEY TO CONTINUE;#@@K:5}0)@;@$ | SUB SET WINDOW | * +4(YOU5}R OPTIONS ARE!>( (A) SHIFT HORZH( (B) SHIFT VERTR( (C) SET CENTER HC,VC\( (D) SCALE BY #f( 5} (E) SET SCALEp( (F) SET WINDOWz( (G) WINDOW=FILL( (H) RETURN;#@@K:0)@5};@# @e)!@r# ACp"@r$U"@q6-6-!6-'6-96-+%,'@5}K6-+%,'@U ACp"@e AH@"@f AH"@g AI@#"@h)"@5}i# AP`"@p AQP SHIFT A((INPUT HORZ SHIFT 6-%6-% 6-% ACp5} SHIFT Y$ ( (INPUT VERTICAL SHIFT.8 6-%6-%B 6-% ACpLSET X,Y CENTERV"("(5}INPUT HORZ,VERT CENTER!`(CURRENT CENTER ISj( HC=t( VC=(~(DESIRED CENTER IS  ! 5}6-&6-%6-%!6-! 6-&6-%6-%!6- ACpSCALE OPTIONS6-O:+&,'+&,,5}((CURRENT SCALE=M"@h%(CHANGE SCALE BY=);6-+&,'@M6-+&,'@M"@i%(CHANG5}E SCALE TO=);6-+&,'@M6-+&,'@ 6-%' 6-&' 6-%'  6-&' ACp(5}SET WINDOW VALUES(( YOUR VALUES2( WILL BE ADJUSTED TO<))(!PROPORTIONAL RATIO OF THE TV TUBEF(P&&(INPU5}T YOUR VIEWPORT AS FOLLOWSZ++(#HORZ_MAX,HORZ_MIN,VERT_MAX,VERT_MINd(YOUR VALUES ARE n x'6-+%,'@5}'6-+%,'@ ACp  | CALC XYZ & AB MAXMIN'S | 5}" 6-66-6-6-"6-! 6-6-6-6-!6- +@AQ@70@@ 5}@70@@ @70@ @70@@ @,(@,(@ PLEAS5}E WAIT!,(@,(@ I'M SCANNING,(@,(@ YOUR DRAWING,(@,(@ 5} FOR IT'S 3D+(@+(@ MAX-MIN'S! AW6-",LOOP FOR EACH ENTITY6"5}@6-%@J!!!@ * @AUT"@ AV^!!!* @AVPh$$(I ENCOUNTER 5}A TYPE OF DATA Ir!!(DON'T RECOGNIZE. TYPE=|(ENTITY NUMBER IS CALC MAXMIN OF BOXGET BOX CORNE6}RS Ac-@@66-8<@,%6-8<@,66-8<@, Ag  AT6}CALC MAXMIN OF PTARRAY"'-@"# Ag'  ATCALC MAXMIN OF TEXT6}& "0"@ AT: AgD ATN 6-%6-%6-%X 6-&6-&6-&b6-+6}%,'@l6-+%,'@v6-+%,'@ 6-6- 6-6- 6-6- AX 6-6-6} 6-6-6-+%,'@6-+%,'@$| SUB FOR AB MAX-MINS |6} 6-66-66-6--& -&-&  6-6-6- 6}A*  6-4  6-> !6-H !6-R   \$fp| 6}SUB FOR PLOT OF TEXT |z " A 6-B:, @$GET TUBE A,6}B6-?$+&, 6-%6-+&,$%6-+&,$%CALC POSITION IN GR.06-+'A ,$@@!6 }"@!6-&+'@,6-+'A,$@$!"@!6-&+'@,3"@'6-@ &+'@6 },36-@#-@$# @)!@9# Ab`.#!@"*!@# Ab`8# )!@#6 }# Ab`B6.7<,LALLOW FOR VERT SHIFT TOVFRACTIONS OF A LINE`))6-%+@@$+P:+&P:,,$@,,,j6 }6-?:<<<<@,t' @)"@'6-%@~'"@)"@'6-%@ $6 }| SUB FOR BOX || CALC ALL CORNERS |" 6}6-%6-6 6-%6-6 6-%6-6"@"6-GET 8 CORN6}ERS-% -%-%6-%@(668<@,-%68<@,-668<@,-2 6}< F P$Zd| SUB TO DRAW BOX |nx 6-(-@@6}(GET TUBE DEPTH66-8<@,%6-8<@,66-8<@, A+68<@,-@+68<@6},-  6- MARK HIDDEN CORNERS-@@+8<@,"+68<@,- 6}SET UP DRAW TABLES6-@#-@@#BOX PLANE&-@@&PLANE CORNER$-@6}@$CORNER XYZ68<,-88<,<,, 17'88<,<@,"Ag07HIDDEN CORNER6 @ A6}`DRAW PLANEJ T$^h| TEST XYZ FOR MAX-MIN |r| 6}!6-  6- !6-  6- !6-  6-$| S6}ET VIEW MATRIX |'+@%@'AQ@((@((@  VIEW##6}(@ NEW VIEW OPTIONS(@++@@ D:VIEW.MAT@-@&6}@0(((@ (>:@d%,) :-@@D@N X b@6}l0#@@K:0)@v@6-&@d @)!Ah++@@6} D:VIEW.MAT@-@@-@@@< "6}68<@,-+68<@,-<68<@,-  ! @ AW0$ D:DRAW3D.MSH0,6} 1,1,0, 0,1,0, 0,0,0,,9,5, 0,0,2, 1,0,2, 1,1,2, 0,1,2, 0,0,2 9,2, 0,0,0, 0,0,2*9,2, 1,0,0, 1,0,249,2, 1,1,6}0, 1,1,2>9,2, 0,1,0, 0,1,2A`A,1,2, 0,0,2 9,2, 0,0,0, 0,0,2*9,2, 1,0,0, 1,0,249,2, 1,1,45  ,FILEPAG@2 ";@,"6. D:HELPDOC.T| HELP: } UTILITY || RELEASE 2.0 | A0 +@AR@$70@@ @:!}70@@ @.70@ @70@@ @8B| HELP MENU |L:"}V-@@` (@ DOCUMENTATIONj-@@t""(@HELP AVAILABLE ON~:#}-@@(@(A) USING HELP-@@!!(@(B) GEN. PURPOSE-@@:$}(@ (C) METHOD-@@ $$(@(D) GETTING STARTED-@@(@(E):%} DATA IDEAS-@@(@ (F) WINDOWING-@@""(@(G) MAKING MANUAL -@:&}@""(@(H) COPYING CODES-@@($$(@(I) CALLING AUTHORS2-@@:'}<(@ (J) HARDCOPYSF-@@P(@ (K) DEMO'SZ-@@d##(@(L) TERMI:(}NATE HELPn0#@@K:0)@x@6-&@d"@Ap!! @:)})!@A"@A@ Ap A| DATA MENU |:*} +@AR@70@@ @70@@ @70@ @70@:+}@ @-@@ (@ DOCUMENTATION-@@""(@HELP AVAILABLE ON:,}"-@@,(@ DATA IDEAS6-@@@(@ (A) OVERVIEWJ-@@T :-} (@(B) COORDINATES^-@@h""(@(C) GENERAL RULESr-@@ |##(@(D) :.}ENTITY FORMATS-@@!!(@(E) PLOT CONTROL-@@(@ (F) SAVING-@:/}@(@ (G) LISTING-@@(@ (H) DEBUGING-@@(@:0} (I) RETURN TO-@@(@ HELP MENU0#@@K:0)@@:1}6-&@d!! @)!@ Ap&"@ A06-%@: ApD ApN:2}Xb| HELP DISPLAY UTILITY |lv67@,.=:, AP:3} @@ A p| FILE MISSING | +:4}+( (+(YOUR DISK IS MISSING THE DATA(( FILE NAMED ((((TO USE THE HELP FUNCTIONS YOU((((WILL NEE:5}D TO GET ALL THE DATA&(&(FILES, 'HELPDOC.T??', FROM ((YOUR BACKUP DISK.(( ( (((HIT ANY KEY TO CONTIN:6}UE  A"!! !!| LOOP FOR EACH CHARACTER |*!!4 +:7}AR@> A"@H)@R"@A!`\ >:,f A! pz:8}| PAGE COMMAND HIT |6-@@@#**(! ԠŠҠҠԠš:9} A"p| EOF TRAP HIT |6-*@@"(*@::}@"&&( Ԡ٠٠Ҡՠ0#@@K:0)@@ :;} | TEST FOR ANOTHER PAGE | $ !!"@2*A p. @:<} B8 $  | FLIP DISK TO HELP SIDE |  A1:=} --@@ D:HELPDOC.T1 @ $ +@%@ @! -@& ,:>}(@,(@ FLIP LAYOUT0 ,(@,(@ FLOPPY OVER: ,(@,(@ TO BACK S:?}IDED +(@+(@ AFTER BUSYN .(@.(@ LIGHT TURNS OFF!S (@X ((@((:@}@ HITb +(@+(@ ANY KEY TOl *(@*(@ CONTINUEv 0#@@:A}K:0)@ @ A00""""| FLIP DISK TO MASTER SIDE |":B}" A@p''@@D:DRAW@ +@%@ @:C}-@*(@*(@ EXITING*(@*(@ TO MAIN)(@)(:D}@ PANEL%D:DRAWWRONG SIDE OF DISK IS UP +@%@ @+(@+(@:E} FLIP FLOPPY+(@+(@ AFTER BUSY-(@-(@ LIGHT GOES OUT!(@"+:F}(@+(@ HIT ANY KEY,+(@+(@ TO CONTINUE60#@@K:0)@:G}@@h A@0 D:HELP.BAS| HELP UTILITY | +:H}--@@ D:MANUAL.DAT A@)@ >:, A$@:I}!!(@(N) ENTITY RULES0#@@K:0)@@| HELP UT:J}ILITY | +--@@ D:MANUAL.DAT  A)@ >::K},$ A@L +--@@ D:MANUAL.DAT  A)@ >:8 USING THE HELP UTILITIESOn your disk is stored various filesof textual information that try toexplain the oper>M}ation of the ATARICAD/CAM LAYOUT package. After youselect the area where you would likesome assistance this file is >N}shownon your screen. At this time youmay select from any of the followingoptions: 1. RETURN TO MENU Hit any >O}key 2. CONTINUE WITH NEXT PAGE Hit space bar 3. MAKE HARDCOPY OF TUBE Hold SHIFT and hit key "C" Se>P}e HELP for other optionsXT PAGE Hit space bar 3. MAKE HARDCOPY OF TUBE Hold SHIFT and hit key "C" Se< HARDCOPY TUBE DUMP UTILITYAfter requesting that the printer beinitialized for hardcopy output thefollowing commanBR}ds are available toyou at any time: 1. SHIFT+C To produce large 960 pts/line output. 2. SHIFT+X To produce sBS}mall 960 pts/line output. 3. SHIFT+Q To stop/abort printing. 960 pts/line output. 2. SHIFT+X To produce s@F THE DEMONSTRATION DATAIncluded on your disk are severaldemo data sets. These are intendedto give to you the opFU}portunity topractice windowing and see someexamples of the output and data thatcreates these results.Yes, this is a peekFV} at the abode ofone of the authors.We suggest you discard this data whenyou finish wondering about the sizeof the monthlFW}y heating bills with allof those windows.Be sure to scale up the displayenough to see the doors and windowsappear. FX} ose windows.Be sure to scale up the displayenough to see the doors and windowsappear. D GENERAL PURPOSE OF PACKAGEWe feel that the ATARI has a powerfulset of graphic capabilities. Howeverthe benefits oJZ}f developing a graphicspicture usually isn't worth all thetime and energy for the typicalcomputer owner.The goal of thisJ[} package is to allowyou to quickly define a graphicallayout, such as a home floor plan.You will discover that this softwaJ\}resupports a variety of ways to defineyour geometry and control the sizeand location of images on the tube.It is our hopJ]}e that our efforts willresult in a new set of useful workfor your home computer. GOOD LUCK!!s on the tube.It is our hopH` DATA OVERVIEW We assume you have a working knowledge of both Basic and DOS commands.Given this assumpN_}tion there are manyfeatures we considered adding to thispackage that are not included. Thishas saved us considerable timeN`} andyou considerable space on thisfloppy!It is up to you to delete unwanteddata files, move the help files toanother diNa}sk if you need the space,etc. DATA OVERVIEW Page #2If you have two drives there aresome things you can doNb} to takeadvantage of your good fortune!You can set up the system to have allthe HELP files and data files on thesecond dNc}isk as follows: 1. Change HELP.BAS statement that opens files to D2: 2. Use DOS copy command: COPY D1:HELPDONd}C.*,D2:*.* COPY D1:DEMO*.*, D2:*.* COPY D1:*.DAT, D2:*.* 3. Delete all the above from D1 after checkNe}ing directory of D2: 4. Answer questions concerning file names in Print and Display codes starting with "D2:".Nf} DATA OVERVIEW Page #3For large applications develop yourdata in pieces. Refer to ourcomments on coordinatNg}e systems toinsure they can be merged later.Use a numbering scheme for your datato separate the files. The firstmight sNh}tart with DATA statements of10000., the second with 11000. etc.Work on just one part at a time usingthe LIST command to sNi}ave it. Whenthe sections appear to be workingwell separately use the Basic ENTERcommand to bring them all togetherand thNj}en LIST them back to disk undera unique name. DATA OVERVIEW Page #4A good guide line might be to developyoNk}ur data files in sizes of less than200 DATA statements.If your final file is huge you maywish to run D1:DRAW1.BAS throughNl} abasic masher. Because of the liberalusage of comment cards this willreduce the code size by 40%.After saving a copy oNm}f the originalprogram you can now replace theversion on your working disk. If you still need a little room trystriping Nn}out your DATA "REM"'s as alast resort. Unless your layoutincludes every 2X4 in your house youshouldn't have to resort to No}the ideason this page. alast resort. Unless your layoutincludes every 2X4 in your house youshouldn't have to resort to L DATA COORDINATE SYSTEMSThis package allows you to put incoordinates in the traditionalengineering right handed syRq}stem.Positive X increases to the rightand positive Y increases as it goestowards the top of the tube.Angles are to be iRr}nput in degrees.They may be greater than 360.Positive angles go counter clockwiseand zero degrees is a horizontal lineto Rs}the right.X and/or Y positions may be positiveor negative and they may be input asfractions, such as -14.25. DATA CORt}ORDINATE SYSTEMS Page #2You should select the unitsappropriate for the application youhave in mind. In the demos includRu}edwith the package the units are feet.You can select any origin as yourbase. If you wish to merge variousfiles later yoRv}u should use commonunits and origin systems for all thefiles. This will avoid any relativemapping problems when they areRw}merged together.The Atari is single precision and anatural system for atoms would likelylead to some accuracy problems.Rx}You might find a rough sketch on apiece of graph paper will aid inpicking up values to locate items. racy problems.Pm GENERAL RULES 1. Honor thy mother and father. 2. Don't spend all your time on your home computer. 3Vz}. Keep your floppies clean. 4. Don't give away this software. You get the idea.! There really isn't any restrictionV{}s so get in there and have some fun! away this software. You get the idea.! There really isn't any restrictionT, ENTITY FORMATS Page #1 of manyType Entity 1 Horizontal Text at Bottom 2 Horizontal Text at X,Y Z}} 3 Vertical Text at X,Y 4 Horizontal Text Centered at X,Y 5 Vertical Text Centered at X,Y 7 Counter Clockwise Z~}Arc 8 Full Circle 9 Random String of Connected Points 10 Hollow Box Parallel to X,Y Axis 11 Solid Box Parallel to Z}X,Y Axis 12 Hollow Box at Angle to X AxisNote: Entities come in two flavors. The first is text and the secondZ} is line geometry. ENTITY FORMATS Page #2Type....... 1; Title Text at BottomFormat.....Type,X,Y,TEXTExamplZ}e.... 10120 DATA 1,0,0,BASEMENTDescription: This entity will center a lineof text on the bottom line of thescreenZ}. This text will not beaffected by any window operationsperformed.Comments: Even though the positioncoordinates X Z}and Y have no effecton the resulting display they mustbe supplied.  ENTITY FORMATS Page #3Type....... 2; HZ}orz. Text At X,YFormat.....Type,X,Y,TEXTExample.... 10130 DATA 2,-4,34,DENDescription: This entity will display aZ}horizontal line of text startingat the position supplied.Comments: Characters are not scaled butfloat to whatever poZ}sition theanchor X,Y plots. The clippinglogic clips whole characters. ENTITY FORMATS Page #4Type....... 3Z}; Vert. Text At X,YFormat.....Type,X,Y,TEXTExample.... 10140 DATA 3,3,4.5,DESKDescription: This entity will displaZ}y avertical line of text startingat the position supplied.Comments: The anchor position X,Y may bein any quadrant aZ}nd fractional inputis fine. All text entities limit anindividual text entry to a maximumof 40 characters. Z} ENTITY FORMATS Page #5Type....... 4; Horz. Text Centered Format.....Type,X,Y,TEXTExample.... 10150 DATA 4,1,4,MACHIZ}NING CELL #12Description: This entity will display ahorizontal line of text centeredon the position supplied.CommZ}ents: You will find the centeringoptions tend to give more reasonabledisplays for a wide range of scalefactors. Z} ENTITY FORMATS Page #6Type....... 5; Vert. Text Centered Format.....Type,X,Y,TEXTExample.... 10160 DATA 5,1,4Z},Oak TreeDescription: This entity will display avertical line of text centeredon the position supplied.Comments:Z} Geometry plots in GR.8 but Textsimulates GR.0 and tends to jump topositions in that plotting grid.Some adjustments arZ}e made internallyto allow fine resolution in thevertical positioning location. ENTITY FORMATS Page #7Type.Z}...... 7; CCW Arc Format.....Type,ANG,XC,YC,R,ANG1,ANG2Example.... 10170 DATA 7,10,5,4,2,0,90Description: This exaZ}mple will display anarc who's center is 5,4 and radiusis 2 starting at 0 degrees andswinging counter clockwise 90degrees.Z} A point will be sampledon this arc every 10 degrees.Comments: Try this with your own code andyou will actually getZ} an oval. Thewindowing function adjusts for thenon-uniform size of units in GR.8. ENTITY FORMATS Page #8TyZ}pe....... 8; Full Circle Format.....Type,ANG,XC,YC,RExample.... 10180 DATA 8,15,2.5,3.7,2Description: This exampleZ} will display acircle who's center is 2.5,3.7 andradius is 2. A point will besampled every 15 degrees.Comments: CiZ}rcles are the slowest entityto plot and you may wish to use acrude angle during initial tryout.You will find that a final Z}angle of10 degrees gives a very good display.Using other corse angles gives fivesided end tables, etc. ENTITY Z}FORMATS Page #9Type....... 9; String of PointsFormat.....Type,#,X1,Y1,......,X#,Y#Example.... 10190 DATA 9,2,0,0,7,5Z}Description: This entity draws a connectedstring of up to 200 points. Theexample would draw a two point linefrom Z}0,0 to 7,5.Comments:Count your commas carefully to makesure you have the correct number ofX,Y pairs. This is the most Z}frequenterror made when inputing data. ENTITY FORMATS Page #10Type.......10; Box || to X-AxisFormat.....TypZ}e,X,Y,XLENGTH,YLENGTHExample.... 10200 DATA 10,0,0,5,-2Description: This entity draws a hollow boxsquare to your XZ},Y axis system.Comments: In the included demo data thisdata type was combined with type 11to create the effects of sZ}olid wallswith interior windows and doors. By switching the signs for thebox's lengths you have quite a bitof freedoZ}m in positioning yourdisplay. ENTITY FORMATS Page #11Type.......11; Solid Box || X-AxisFormat.....Type,X,YZ},XLENGTH,YLENGTHExample.... 10210 DATA 11,0,0,5,-2Description: This entity draws a solid boxsquare to your X,Y axZ}is system.Comments: Input conventions just likehollow box. Well; we're almost at the endjust hang in there a Z}little longer! ENTITY FORMATS Page #12Type.......12; Hollow Box at AngleFormat.....Type,X,Y,XL,YL,ANGLEExaZ}mple.... 10220 DATA 12,0,0,5,-2,35Description: This entity draws a hollow boxat a given "ANGLE" measured counterclZ}ockwise from the X-axis.Comments: The point about which the boxis rotated is its lower left handcorner if it were seZ}t down squareto the X-axis. We had a lot of fun making thecliping logic work for this entity! ner if it were seXl PLOT CONTROL Future releases will containdifferent line fonts like dashed,etc. We also have plans on thedraw^}ing boards for scaleable text.In this release however we did slipin one peek at this type of function.In plot type 9, po^}int array, you cantrigger penup or blanking betweenimbedded points.You do this by setting an X,Y pairwhere you want this^} feature to thefollowing value. X=-777777. This triggers command Y=1 ID# of command wantedwhere you want this\j COMMENTS ON THE GENERAL PROCEDUREThe method of operation expectedin this package is for the user tocreate a file on db}isk describing thepicture desired.This is done by using the basiclanguage capabilities to create aseries of data statemeb}nts to describethe geometry wanted.The types and forms of geometrysupported are described under theheading "ENTITY FORMAb}TS".The picture description once createdand checked out can be easily savedby using the basic "LIST" command. GEb}NERAL PROCEDURE Page #2Example of LIST: LIST "D1:KITCHEN.DAT",10000,12000When the display package is executedyour b}saved data statements will betemporarily added to the code.It is important that the numberingscheme for the data containsb} onlyvalues of 10000 or larger to insurethat it doesn't destroy part of thedisplay facility.You will also find it helpfub}l toinclude a liberal amount of "REM"statements in your data field todocument your intent. GENERAL PROCEDURE b} Page #3Before jumping in with both feet Isuggest that you skim through allthe help options.We have sprinkled many useb}ful ideasthroughout the documentation. We did this because we feel theprocedures are simple enough thatonce you start yob}u won't come backto hear all of our words of wisdom.ecause we feel theprocedures are simple enough thatonce you start yo`7 GETTING STARTED Page #1After playing with the demos forawhile you will want to startexperimenting yourself. f} A fewsuggestions are in order.1. Number DATA statements > 9999.2. Use lots of REM statements.3. Make a master of the LAf}YOUT disk.4. Give your files a meaningful name.5. End file names with D:??????.DAT6. Save frequently using LIST.7. Debug f}parts as they are entered.This last suggestion requires a moredetailed hint to see how easily thiscan be done. f} GETTING STARTED Page #2 (Create/Debug)The first time you enter the displaypackage it can tell it doesn't havf}eany data attached and it stops andasks you for the name of a data file.If what you really want to do iscreate a new filef} simply hit theBREAK key at this time and starttyping.After entering a few geometry cardstype RUN. The program will nowf} seethat data statments are included andit will display your information.You will notice an option in themain menu to STf}OP. This option isthere to allow you to exit and addor change data at your leasure. GETTING STARTED Page #3f} (Create/Debug)When you have made enough progressthat you would cry if the systemlocked up its time to save usinf}g theLIST command.To start a new file or delete allyour data use the option in the mainmenu called "NEW DRAWING". Warnif}ngdon't use this option if you haven'tstored your data yet!If you screw up a format the errordisplayed is normally a reff}errenceto an unsupported entity type=-3.47.This number will be a value in a datastatement where you goofed a formator thef} point count to be ploted.  GETTING STARTED Page #4GOOD LUCK!!!If you're like me you'll find itsmore fuf}n and much easier movingfurniture on the ATARI than doingit by hand.Of course maybe your spouse neverchanges his/she mif}nd. much easier movingfurniture on the ATARI than doingit by hand.Of course maybe your spouse neverchanges his/she mid WINDOWING Page #1You have gatherd by now that all isnot roses and the question becomesjust what do you gj}et for all yourwork inputing your entities. Theanswer is two things. COORDINATE INDEPENDANCEFirst you will notice tj}hat you selectthe units to be used to describe yourdata. You were not concerned withhow much would fit on the tube or howj}many plotting units there are in thetube horizontal and vertical axis.You can also use both fractional andnegative units j}if these are useful.The facility layout display worldwill take care of all the matrixoperations needed to keep the Atarirj}ule book happy! WINDOWING Page #2 DISPLAY SCALEINGMost important you can now displayyour data j}in a variety of ways justlike on the expensive CAD/CAMgraphic systems.You need have no worries about thedata that may dij}sappear off thescreen wrapping around or generatingerrors during plotting. You willnotice some surprisingly powerfulclipj}ping logic.For example; a box might might haveall four corners off the tube butone edge should cross the picturedisplayej}d, and it does!!! WINDOWING Page #3Just what is a "Window"?The word "Window" is both a noun anda verb.j}When used as a noun it refer to a boxdescribed by two points.The two points are positions in yourinput coordinate systej}m that definesthe region of your picture that youwant displayed on the tube.One point is called the min value andis the j}lower left hand point of thebox. The other, called the max valueor point, is the upper right handcorner of the box. j} WINDOWING Page #4A default box is created for you eachtime you run the program. The sizeis calculated such tj}hat all of yourdata justs fits into the window.This is done by looking at all ofyour data and determining its maximumandj} minimum values in both X and YYou will have a variety of optionsfor changing the size and/or locationof the window beingj} used. You mayalso set it back to the original sizeto see all your data if you want.When you scale by say Two times sizej}the package does this by simplyreducing the size of the windowbeing used while holding the centerposition. Wj}INDOWING Page #5"Window" the verb refers to theprocess of mapping your data intoa reasonable image on a graphicsdevj}ice.This process clips off data off thetube and finds the exact position onthe edge of the screen where a lineshould staj}rt or finish displaying.It adjusts your window box to thesame proportions as the tube toinsure that the angle of any linej}sdisplayed are true orientations.It also does the appropiate Y-Axisflipping to map from the traditionalrighthanded coordj}inate system intoAtari's lefthanded system. WINDOWING Page #6This package supports the followingwindowij}ng,'verb', options:To move a window. 1. SHIFT X 2. SHIFT Y 3. SET CENTER XC,YCTo scale a window. 1. SCALE BY # j}2. SET SCALETo move and/or scale a window. 1. SET WINDOW 2. WINDOW=DATA MAX-MIN'S WINDOWING Page #7j}Note that the windowing menu alsocontains a display of the currentwindow range and the range of yourdata.I suggest you bj}ecome familiar withthe windowing options by displayingone of the demo data sets. You dothis by inputing its name upon entj}ry.For example: D:DEMO1.DATThen try all the window optionswatching not only the resultingdisplays but also the effects j}of yourcommands on the window range.By the way; to terminate a displayand return to the display menu justhit any key. j} WINDOWING Page #8Don't forget that by initilizing thetube dump utility included with thispackage you can tj}ransfer anything youcan get to the tube to your printer.This includes pictures, menus anddata or program listings. But moj}reabout that in another HELP menu.I think you will find the data list-ing facility faster and of higherquality if you wanj}t to list your dataor dive in an try to figure out howthis package works.Well, I've finally run out of wordson what you j}can tell is my favoratesubject. I'm a little surprised thatyou hung in there with me but I sureyou'll agree it was worth j}it. Afterall this is really the part of theprogram that makes it unique! me but I sureyou'll agree it was worth hU MAKING YOUR OWN MANUALOn the back side of this disk is acomplete set of the files used tosupport the HELP commandn}. Also onthis side is a file named MANUAL.LSTTo make your own hardcopy manualsimply run the print data routinefrom the n}first menu.Input the file name D:MANUAL.LST andthen flip over the disk beforehitting the return key!If your data files n}are filling up thespace on this floppy and you can livewithout the HELP aids for awhile youmay delete the help data. In Dn}OSdelete "D:HELPDOC.*". s floppy and you can livewithout the HELP aids for awhile youmay delete the help data. In Dl COPYING CODES IN THIS PACKAGEWe encourage you to cut and pastesome good utilities from thispackage. For this reason tr}hesoftware was not mashed, etc. butleft intact with many good commentsto explain how it works.We of course encourage thar}t this willbe for your own use to protect theeconomic well being of the authorsof this package.Some packages you might fr}ind valuablewould include: 1. Assy code for text in GR.8 2. Basic data print. 3. Assy tube dump. 4. Basic Help cr}ontroller. 5. Basic Assy code loader. COPYING CODES Page #2We could supply a few hints onconversion but tr}hat would take allof the fun out of it for you.OK; Just one hint!The basic data print utility does anice job as is for r}an MX80 printerwith just one little fix. Changethe card RUN "D:DRAW" to simply say"END".If you don't have an Epson prinr}tertake out the printer initializationstatements and the basic logic willstill deliver the goods minus acouple of minor tr}hings like anunderlined title. tatements and the basic logic willstill deliver the goods minus acouple of minor tp) CONTACTING THE AUTHORSWe have enjoyed writing thissoftware. Phil and I both workduring the day for a major supplierv}of graphics systems and we find itfun to try and fit the Big Blue'slogic into an Atari.We of course would like any feedbv}ackyou might wish to offer eitherpositive or something Phil shouldhave done better.Send your postcards to: Jack Gilchv}rist Phil Heavens 42039 Bay Court Infinite Loop Sterling Heights Bit Dropper Michigan 48078 Assembly USAv} No collect calls PLEASE!!!!!! Heights Bit Dropper Michigan 48078 Assembly USAtC124315687526842157311265134873 Heights Bit Dropper Michigan 48078 Assembly USAx<12I^ARLINELNAFNAMECS1CNPAGPAGECCNDONES@~} """"| LAST REVISED ON 12/10/83 ~}|""| UTILITY FOR LISTING |$};@,;@,. A8""B""| INIT FOR FIRST USER LINE |L""}V A`INDEX FIRST LINE 5 SPACESj(@ t6-~%6-%LAST BYTE P}ROCESSED46-@4# OF LINES PRINTED ON CURRENT PAGE96-@9# OF CHARACTERS PRINTED ON CURRENT LINE,6-}@,CURRENT PAGE BEING PRINTED46-@4PAGE COUNT SINCE LAST FIX OF "TOF"""}""| BEGIN LOOP FOR NEXT BYTE |""""CHECK FOR LAST CHARACTER WASEND OF LINE. IF SO }INDEXNEXT CARD IN 5 SPACES.="AU#(@ 16-%@=6-@CHECK FOR LONG LINEL}!@e6-@)6-%@B(@ L A HANDLE PAGE BREAKS HERE!@b A"P})@6-%@(.!@1*@$(>:,. A`2 < | ATARI/EPSO}N CONVERSION |F P 6-X=EPSON Y=ATARIZ"@6-AV|d"@6- }ATn"@6-AQx"@6-AI"@6-Au"@6-A }4"@&6-AS"@6-AP"@#6-AR"@$6-A }X"@6-AY"@6-AW*@(>:, A` }| CODE EXITING LOGIC |%6-@%FLAG NO NEW TMARGIN A"P PAGE B }REAK LOGIC +"-@@,&(@>:@,&RING BELL6 @%D1:DRAWJ}T| USER INITILIZATION |^h +r!!(THIS PROCEEDURE WILL LIST| (A PROG}RAM STORED ON YOUR(DISK IN LIST FORM.( IT CONVERTS ATARI(CHARACTER<32 TO THEIR(EPSON EQUILIVE}NT!#(#(DO YOU WISH TO CONTINUE?( ENTER (Y/N):0#@@K:0)@$@}@$ A((INPUT THE FILE NAME (FOR EXAMPLE: D1:CODE.LST( FILE NAME IS ( (}| PRINTER INITILIZATION |& A!00""@@}P: A"D @@NINITILIZE THE PRINTERX%%(@>:@',>:@d,b00(@}>:@',>:@g,>:@g,l""(DO YOU WANT DOUBLE STRIKE?v0#@@K:0)@$}@@$ APDOUBLE STRIKE$$(@>:@',>:@q,(( LISTING FOR  ( (((}1 LINE LARGE CHARACTERS + EMPHASED??(@>:@',W>:@,>:@',>:@i,!!TURN ON UNDERLING FOR} TITLE))(@>:@',->:@,(@0%(@ LISTING OF 0(@(@}TURN OFF EMPHASED%%(@>:@',>:@p, ""TURN ON COMPRESSED CHAR MODE(@>:@, T}URN OFF UNDERLING*))(@>:@',->:,4SET # OF CHARS/LINE = 66>))(@>:@',Q>:@f},H AR\| ERROR TRAPS HERE |fp"("(TURN ON THE PRINTER} ANDz(SET AT TOP OF PAGE(HIT ANY KEY WHEN READY!0#@@K:0)@@} A0"("(I HAD A PROBLEM OPENING(THE FILE NAMED (SO I AM TERMINATING}| SUB FOR PAGE BREAKS |HANDLE SCREEN BREAK,()( END OF PAGE #(}),( | PRINT PAGE # |  !@b A#$ -@b. (@} 8  B 6-@cL 0(@ 0(@ V ''(@ PAGE #()` 6- }%@j t | SET BOTTOM MARGIN |~  !(@ !(@  !}6- 6- 6-%@ 6-%@  @ A%` "" """}| COMPENSATE FOR TOF DRIFT | "" (@  6-@  #}| SET TOP MARGIN |  !!(@ !$ 6-@( -@+&@,2 ($}@ <  F INDEX IN FOR NEXT LINEP (@ Z $ D:LISTING.BAS-@+&@,2 (|aATARI CAD/CAM FACILITY LAYOUTGILCHRIST/HEAVIN Page #@ Release # 1.2 0 501150AT&}ARICAD/CAMFACILITY LAYOUTREFERENCE MANUALbyJack GilchristandPhil HeavenRelease 1.2Feburar'}y 1984TABLE OF CONTENTSUsing the help facilities ........................ Page 3 General purpose of pack(}age ....................... Page 3General procedure ................................ Page 3Getting started ..............)}.................... Page 4Windowing ........................................ Page 5Making your own manual ..............*}............. Page 6Copying codes in this package .................... Page 7Contacting the authors .....................+}...... Page 7Hardcopy tube dump utility ....................... Page 7The demonstration data ........................... ,}Page 8Data overview .................................... Page 8Data coordinate systems .......................... Page 9-}General rules .................................... Page 9Entity formats ................................... Page 9Plot c.}ontrol ..................................... Page 12USING THE HELP UTILITIESOn your disk is stored various files o/}f textual information that try to explain the operation of the ATARI CAD/CAM LAYOUT package. To access this information0} you should select the option "HELPFUL HINTS" in the main menu. After you select the area where you would like some assista1}nce the appropiate file is opened and displayed on your screen. At this time you may select from any of the following opti2}ons: 1. RETURN TO MENU Hit any key 2. CONTINUE WITH NEXT PAGE Hit3} space bar 3. MAKE HARDCOPY OF TUBE Hold SHIFT and hit key "C" See HELP (Hardco4}py) for other optionsGENERAL PURPOSE OF PACKAGEWe feel that the ATARI has a powerful set of graphic capabilities. H5}owever the benefits of developing a graphics picture usually isn't worth all the time and energy for the typical computer own6}er. The goal of this package is to allow you to quickly define a graphical layout, such as a home floor plan.You will disc7}over that this software supports a variety of ways to define your geometry and control the size and location of images on the8} tube. It is our hope that our efforts will result in a new set of useful work for your home computer.THE GENERAL PROCE9}DUREThe method of operation expected in this package is for the user to create a file on disk describing the picture desi:}red. This is done by using the basic language capabilities to create a series of data statements to describe the geometry wa;}nted.The types and forms of geometry supported are described under the heading "ENTITY FORMATS". The picture description o<}nce created and checked out can be easily saved by using the basic "LIST" command.Example of LIST: LIST "D1:KITCHEN.DAT",=}10000,12000When the display package is executed your saved data statements will be temporarily added to the code. It is im>}portant that the numbering scheme for the data contains only values of 10000 or larger to insure that it doesn't destroy part?} of the display facility. You will also find it helpful to include a liberal amount of "REM" statements in your data field t@}o document your intent.Before jumping in with both feet I suggest that you skim through all the help options. We have spriA}nkled many useful ideas throughout the documentation. We did this because we feel the procedures are simple enough that onceB} you start you won't come back to hear all of our words of wisdom.GETTING STARTEDAfter playing with the demos for awC}hile you will want to start experimenting yourself. A few suggestions are in order. 1. Number DATA statements > 9999.D} 2. Use lots of REM statements. 3. Make a master of the LAYOUT disk. 4. Give your files a meaningful name. E} 5. End file names with D:??????.DAT 6. Save frequently using LIST. 7. Debug parts as they are entered.This last F}suggestion on debugging requires a more detailed description to see how easily this can be done.The first time you enter thG}e display package it can tell it doesn't have any data attached and it stops and asks you for the name of a data file. If whH}at you really want to do is create a new file simply hit the BREAK key at this time and start typing.After entering a few gI}eometry cards type RUN. The program will now see that data statments are included and it will display your information. YouJ} will notice an option in the main menu to STOP. This option is there to allow you to exit and add or change data at your leK}asure. When you have made enough progress that you would cry if the system locked up its time to save using the LIST commaL}nd. To start a new file or delete all your data use the option in the main menu called "NEW DRAWING". Warning don't use thiM}s option if you haven't stored your data yet!If you screw up a format the error displayed is normally a referrence to an unN}supported entity type=-3.47. This number will be a value in a data statement where you goofed a format or the point count toO} be ploted. GOOD LUCK! If you're like me you'll find its more fun and much easier moving furniture on the ATARI than doingP} it by hand. Of course maybe your spouse never changes his/she mind.WINDOWINGYou have gatherd by now that all is nQ}ot roses and the question becomes just what do you get for all your work inputing your entities. The answer is two things, cR}oordinate independance and display scaleing.COORDINATE INDEPENDANCEFirst you will notice that you select the units toS} be used to describe your data. You are not concerned with how much will fit on the tube or how many plotting units there arT}e in the horizontal and/or vertical axis. You can also use both fractional and negative units if these are useful. The faciU}lity layout display world will take care of all the matrix operations needed to keep the Atari rule book happy!DISPLAY SCV}ALEINGMost important you can now display your data in a variety of ways just like on the expensive CAD/CAM graphic systems.W} You need have no worries about the data that may disappear off the screen wrapping around or generating errors during plottX}ing. You will notice some surprisingly powerful clipping logic. For example; a box might might have all four corners off thY}e tube but one edge should cross the picture displayed, and it does!Just what is a "Window"?The word "Window" is both Z}a noun and a verb.Window (the noun)When used as a noun it refer to a box described by two points. The two points are[} positions in your input coordinate system that defines the region of your picture that you want displayed on the tube. One \}point is called the min value and is the lower left hand point of the box. The other, called the max value is the upper righ]}t hand corner of the box.A default box is created for you each time you run the program. The size is calculated such that ^}all of your data justs fits into the window. This is done by looking at all of your data and determining its maximum and min_}imum values in both X and YYou will have a variety of options for changing the size and/or location of the window being use`}d. You may also set it back to the original size to see all your data if you want. When you scale by say Two times size thea} package does this by simply reducing the size of the window being used while holding the center position.Window (the veb}rb)"Window" the verb refers to the process of mapping your data into a reasonable image on a graphics device. This procesc}s clips off data beyond the tube and finds the exact position on the edge of the screen where a line should start or finish dd}isplaying.It adjusts your window box to the same proportions as the tube to insure that the angle of any lines displayed are}e true orientations. It also does the appropiate Y-Axis flipping to map from the traditional righthanded coordinate system if}nto Atari's lefthanded system.This package supports the following windowing,'verb', options: To move a window. g} 1. SHIFT X 2. SHIFT Y 3. SET CENTER XC,YC To scale a window. 1. SCAh}LE BY # 2. SET SCALE To move and/or scale a window. 1. SET WINDOW 2. WINDOW=DAi}TA MAX-MIN'SNote that the windowing menu also contains a display of the current window range and the range of your data. Ij} suggest you become familiar with the windowing options by displaying one of the demo data sets. You do this by inputing itsk} name upon entry. For example:  D:DEMO1.DATThen try all the window options watching not only the resulting displays l}but also the effects of your commands on the window range.By the way; to terminate a display and return to the display menum} just hit any key. Don't forget that by initilizing the tube dump utility included with this package you can transfer anythin}ng you can get to the tube to your printer. This includes pictures, menus and data or program listings. But more about thato} in another HELP menu. I think you will find the data listing facility faster and of higher quality if you want to list yourp} data or dive in an try to figure out how this package works.Well, I've finally run out of words on my favorate subject. Iq} think after using the program you'll agree this is the part that makes it unique!MAKING YOUR OWN MANUALOn the back r}side of this disk is a complete set of the files used to support the HELP command. Also on this side are files named MANUAL.s}LST and MANUAL.TXT.To make your own hardcopy manual simply run the print data routine from the first menu. Input the file t}name D:MANUAL.LST and then flip over the disk before hitting the return key!If you have a copy of TEXTWIZARD the file namedu} MANUAL.TXT can be loaded and printed to produce a higher quality output.If your data files are filling up the space on thiv}s floppy and you can live without the HELP aids for awhile you may delete the help data. In DOS delete "D:HELPDOC.*". If yow}u forget you have done this and ask for HELP the program will remind you that the files are missing.COPYING CODES IN THIx}S PACKAGEWe encourage you to cut and paste some good utilities from this package. For this reason the software was not my}ashed, etc. but left intact with many good comments to explain how it works. We of course encourage that this will be for yoz}ur own use to protect the economic well being of the authors of this package. Some packages you might find valuable would in{}clude: 1. Assy code for text in GR.8 2. Basic data print. 3. Assy tube dump. 4. Basic Help controlle|}r. 5. Basic Assy code loader.We could supply a few hints on conversion but that would take all of the fun out of it f}}or you.  OK; Just one hint! The basic data print utility does a nice job as is for an MX80 printer with just one little fi~}x. Change the card RUN "D:DRAW" to simply say "END". If you don't have an Epson printer take out the printer initialization} statements and the basic logic will still deliver the goods minus a couple of minor things like an underlined title.CON}TACTING THE AUTHORSWe have enjoyed writing this software. Phil and I both work during the day for a major supplier of gr}aphics systems and we find it fun to try and fit the Big Blue's logic into an Atari. We of course would like any feedback yo}u might wish to offer either positive or something Phil should have done better.Send your postcards to: Jack G}ilchrist Phil Heavens 42039 Bay Court Infinite Loop Sterling Heights Bit Dropper } Michigan 48078 Assembly USANo collect calls PLEASE!!!!!!HARDCOPY TUBE DUMP UTILITYAfter requesting that th}e printer be initialized for hardcopy output the following commands are available to you at any time: 1. SHIFT+C } To produce large 960 pts/line output. 2. SHIFT+X To produce small 960 pts/line output. 3. SHIFT+Q } To stop/abort printing.THE DEMONSTRATION DATAIncluded on your disk are several demo data sets. These are int}ended to give to you the opportunity to practice windowing and see some examples of the output and data that creates these re}sults.Yes, this is a peek at the abode of one of the authors. We suggest you discard this data when you finish wondering a}bout the size of the monthly heating bills with all of those windows. Be sure to scale up the display enough to see the door}s and windows appear.DATA OVERVIEWWe assume you have a working knowledge of both Basic and DOS commands. Given this} assumption there are many features we considered adding to this package that are not included. This has saved us considerab}le time and you considerable space on this floppy! It is up to you to delete unwanted data files, move the help files to ano}ther disk if you need the space, etc.If you have two drives there are some things you can do to take advantage of your good} fortune! You can set up the system to have all the HELP files and data files on the second disk as follows: 1. Change} HELP.BAS statement that opens files to D2: 2. Use DOS copy command: COPY D1:HELPDOC.*,D2:*.* CO}PY D1:DEMO*.*, D2:*.* COPY D1:*.DAT, D2:*.* 3. Delete all the above from D1 after checking directory of }D2: 4. Answer questions concerning file names in Print and Display codes starting with "D2:".For large applications de}velop your data in pieces. Refer to our comments on coordinate systems to insure they can be merged later.Use a numbering }scheme for your data to separate the files. The first might start with DATA statements of 10000., the second with 11000. etc}.Work on just one part at a time using the LIST command to save it. When the sections appear to be working well separately} use the Basic ENTER command to bring them all together and then LIST them back to disk under a unique name. A good guide li}ne might be to develop your data files in sizes of less than 200 DATA statements.If your final file is huge you may wish to} run D1:DRAW1.BAS through a basic masher. Because of the liberal usage of comment cards this will reduce the code size by 40}%. After saving a copy of the original program you can now replace the version on your working disk.If you still need a li}ttle room try striping out your DATA "REM"'s as a last resort. Unless your layout includes every 2X4 in your house you shoul}dn't have to resort to any of these ideas.DATA COORDINATE SYSTEMSThis package allows you to put in coordinates in th}e traditional engineering right handed system. Positive X increases to the right and positive Y increases as it goes towards} the top of the tube. Angles are to be input in degrees. They may be greater than 360. Positive angles go counter clockwis}e and zero degrees is a horizontal line to the right.X and/or Y positions may be positive or negative and they may be input} as fractions, such as -14.25. You should select the units appropriate for the application you have in mind. In the demos i}ncluded with the package the units are feet.You can select any origin as your base. If you wish to merge various files lat}er you should use common units and origin systems for all the files. This will avoid any relative mapping problems when they} are merged together.The Atari is single precision and a natural system for atoms would likely lead to some accuracy proble}ms. You might find a rough sketch on a piece of graph paper will aid in picking up values to locate items.GENERAL RULES} 1. Honor thy mother and father. 2. Don't spend all your time on your home computer. 3. Keep your flo}ppies clean. 4. Don't give away this software. You get the idea.! There really isn't any restrictions so get in }there and have some fun!ENTITY FORMATS Type Entity 1 Horizontal Text at Bottom 2 Horizontal Text a}t X,Y 3 Vertical Text at X,Y 4 Horizontal Text Centered at X,Y 5 Vertical Text Centered at X,Y } 7 Counter Clockwise Arc 8 Full Circle 9 Random String of Connected Points 10 Hollow Box Paralle}l to X,Y Axis 11 Solid Box Parallel to X,Y Axis 12 Hollow Box at Angle to X AxisTEXT(TITLE)Type....... 1}; Title Text at BottomFormat..... Type,X,Y,TEXTExample.... 10120 DATA 1,0,0,BASEMENTDescription: This entity will ce}nter a line of text on the bottom line of the screen. This text will not be affected by any window operations performed. Ev}en though the position coordinates X and Y have no effect on the resulting display they must be supplied. TEXT(HORIONTAL)}Type....... 2; Horz. Text At X,YFormat..... Type,X,Y,TEXTExample.... 10130 DATA 2,-4,34,DENDescription: This entit}y will display a horizontal line of text starting at the position supplied. Characters are not scaled but float to whatever }position the anchor X,Y plots. The clipping logic clips whole characters.TEXT(VERTICAL)Type....... 3; Vert. Text At X,}YFormat..... Type,X,Y,TEXTExample.... 10140 DATA 3,3,4.5,DESKDescription: This entity will display a vertical line o}f text starting at the position supplied. The anchor position X,Y may be in any quadrant and fractional input is fine. All }text entities limit an individual text entry to a maximum of 40 characters.TEXT(HORIZONTAL)Type....... 4; Horz. Text Ce}ntered at X,YFormat..... Type,X,Y,TEXTExample.... 10150 DATA 4,1,4,MACHINING CELL #12Description: This entity will d}isplay a horizontal line of text centered on the position supplied. You will find the centering options tend to give more re}asonable displays for a wide range of scale factors.TEXT(VERTICAL)Type....... 5; Vert. Text Centered Format..... Type},X,Y,TEXTExample.... 10160 DATA 5,1,4,Oak TreeDescription: This entity will display a vertical line of text centered }on the position supplied. Geometry plots in GR.8 but Text simulates GR.0 and tends to jump to positions in that plotting gri}d. Some adjustments are made internally to allow fine resolution in the vertical positioning location.ARCType....... 7}; CCW Arc Format..... Type,ANG,XC,YC,R,ANG1,ANG2Example.... 10170 DATA 7,10,5,4,2,0,90Description: This example will} display an arc who's center is 5,4 and radius is 2 starting at 0 degrees and swinging counter clockwise 90 degrees. A point} will be sampled on this arc every 10 degrees. Try this with your own code and you will actually get an oval. The windowing} function adjusts for the non-uniform size of units in GR.8.CIRCLEType....... 8; Full Circle Format..... Type,ANG,XC,Y}C,RExample.... 10180 DATA 8,15,2.5,3.7,2Description: This example will display a circle who's center is 2.5,3.7 and }radius is 2. A point will be sampled every 15 degrees. Circles are the slowest entity to plot and you may wish to use a cru}de angle during initial tryout. You will find that a final angle of 10 degrees gives a very good display. Using other corse} angles gives five sided end tables, etc.CONNECTED POINTSType....... 9; String of PointsFormat..... Type,#,X1,Y1,.....}.,X#,Y#Example.... 10190 DATA 9,2,0,0,7,5Description: This entity draws a connected string of up to 200 points. The }example would draw a two point line from 0,0 to 7,5. Count your commas carefully to make sure you have the correct number of} X,Y pairs. This is the most frequent error made when inputing data.BOX(HOLLOW)Type....... 10; Box || to X-AxisForma}t..... Type,X,Y,XLENGTH,YLENGTHExample.... 10200 DATA 10,0,0,5,-2Description: This entity draws a hollow box square t}o your X,Y axis system. In the included demo data this data type was combined with type 11 to create the effects of solid wa}lls with interior windows and doors. By switching the signs for the box's lengths you have quite a bit of freedom in positio}ning your display.BOX(SOLID)Type....... 11; Solid Box || X-AxisFormat..... Type,X,Y,XLENGTH,YLENGTHExample.... 10210 }DATA 11,0,0,5,-2Description: This entity draws a solid box square to your X,Y axis system. Input conventions just lik}e hollow box. Well; we're almost at the end just hang in there a little longer!BOX(ANGLED)Type....... 12; Hollow Box a}t AngleFormat..... Type,X,Y,XL,YL,ANGLEExample.... 10220 DATA 12,0,0,5,-2,35Description: This entity draws a hollow }box at a given "ANGLE" measured counter clockwise from the X-axis. The point about which the box is rotated is its lower lef}t hand corner if it were set down square to the X-axis. We had a lot of fun making the cliping logic work for this entity!}PLOT CONTROLFuture releases will contain different line fonts like dashed, etc. We also have plans on the drawing boa}rds for scaleable text.In this release however we did slip in one peek at this type of function. In plot type 9, point arr}ay, you can trigger penup or blanking between imbedded points. You do this by setting an X,Y pair where you want this featur}e to the following value. X=-777777. This triggers command Y=1 ID# of command wantedTHE END} e following value. X=-777777. This triggers command Y=1 ID# of command wantedTHE ENDd n | MUD |x '+@%@'AQ@0@@ @}0@@ @0@ @0@@ @-!!(@ } NOW LOADING(@""(@ Atari CAD/CAM##(@ Facility Layout(@ (@} written by(@""(@ Jack Gilchrist(@ and!!(@ Phil Heaven},%D:DRAW D:MUD.BAS""(@ Jack Gilchrist(@ and!!(@ Phil Heaven h hh`hhhhhhhheX֥Yeׅטi@֥i׈ݠܱؠՊ)`@ @ ڊ)څک}*mۤݱEդܑȄжi(֐ݩП`֥Yeׅטi@֥i׈ݠܱؠՊ)`@ @ ڊ)څک/TOOL BOX DISK 21The README file.This disk features a two and threedimensional design system written byyour favoirty sy}sop. I tried to capture the major features of thecomerical CAD/CAM systems that Ihelp develop for a living. Features i}nclude windowing, scaling,multiple views, hardcopy drawings onyou printer, text, simple hidden linemetods, etc. I have de}signed my house layout using this package andhave included demos, etc to show offthe possibilites.Start by reading the d}ocument named'README' for instructions on how torename and distribute this softwarebetween the two disks that will berequ}ired.Everything you need is on this diskbut the next disk contains a manualand an unmashed version of the codeif you wis}h to figure out how itworks. I think you will find thatthe on-line help menus will beenough to really get you started.Y}ou must rename and distribute thecodes as follows:----- DISK #1 -----DEMO2.DATDRAW2D.MSHDEMO3.DATDEMO4.DATLISTING.}BASDRAW3D.MSHDRAWPRINTGR8.OBJHELP.BASDEMO1.DATTDUMPG24.OBJVIEWBLD.BASVIEW.MATHIDDENDEMOA3D.DATMUD.BASAUTORUN.SYS}PLUS: ADD DOS.SYS AND DUP.SYS----- DISK #2 -----MANUAL.TXT --- ON ANOTHER D/L DISKDRAW2D.LST --- DRAW2DL ON NEXT D}ISKHELPDOC.T1 --- HELPDOCAHELPDOC.T2 --- BHELPDOC.T3 --- CHELPDOC.T4 --- DHELPDOC.T6 --- EHELPDOC.T7 --- FHELPDOC.T8 -}-- GHELPDOC.T9 --- HHELPDOC.T10 -- IHELPDOC.T11 -- JHELPDOC.T20 -- KHELPDOC.T21 -- LHELPDOC.T22 -- MHELPDOC.T23 -- NH}ELPDOC.T24 -- OPLEASE MAKE A BACKUP OF YOUR DISKSAFTER RENAMING AS YOU HAVE EXPENDEDA LOT OF ENERGY GETTING THIS FAR AND}WE WOULDN'T WANT TO HAVE TO STARTOVER IF WE MAKE A SILLY ERROR.UNTIL YOU GET YOUR MANUAL FROM THENEXT TOOLBOX D/L DISK I} SUGGEST YOUWORK YOUR WAY THROUGH THE HELP OPTIONS TO GET THE LAY OF THE LAND.THEN TRY THE DEMOS TO SEE THE TYPESOF DISPL}AYS POSSIBLE. AFTER THATUSE YOUR CREATIVE JUICES AND JUSTLET IT HAPPEN. IF YOU CREATE ANY REALLY INTERESTINGPICTURES Y}OU MIGHT WANT TO UP LOADTHEM FOR US ALL TO SHARE..... FAST FINGERS.OU CREATE ANY REALLY INTERESTINGPICTURES YR|xphx% &qʍx x X`LHH#X R zV~}o⢓}i`h% PM% ;m .J &!U &E &hhLhhh@HHH}ѭ׭إW٥XڥYۥ{٭ڭۥXץYixi( #(' !}ͩέP' ͩΥ`NFfͥP'8'NFfͥ7NFfͥrN8' 'FfͥY}NFfͥI<' ! !'#N!&Υ('! &e͍e΍()K+}D+()(++()88#8<˭}̠&11)8D 8HAY8č8p 8阓}!# d'&N+ AN+ N+ N+ 'ڬ8jޅ֬8j߅׬8j}܅ةݭ̭˭Эϭ P˪Պ)ͩ*Υmͭ)e΅ΠԈEM %ޠϑ ЩЕ;Ɠ}Ԥ8 ˰ИFުJ%ފťօޥυͥЅΥͅϥ΅Э̭˭ZКM%ߠϑ8˓}˰FߪJ%ߊЗׅߩЪυѥЅ٥хϥمЭ̭˭!A)?ͩ*m͊mΠ}ԈM%%ܠϑ Щ?ТЖԤ8#˰УFܪJ%܊ť؅ܭ̭˩г N+ }N+ +N+ )N+ (N+  9ԭՠˢN+ɛ   ϩЃ3ԭՠˢ}N+ɛ   ϭ! 7ԭՠˢN+ɛ   Д˩N+ N+} @N+ N+ hhhh@ϭ! 7ԭՠˢN+ɛ   Д˩N+ N+%101,PLAN1,0,00,1,00,0,12,SIDE1,0,00,0,10,-1,03,FRONT0,-1,00,0,1-1,0,04,REAR0,1,00,0,11,0,05,BOTTOM1,0,00,-}1,00,0,-16,OTHER SIDE-1,0,00,0,10,1,07,AUX TFL.707,-.707,0.224,.224,.948-.67,-.67,.3178,AUX TFR-.707,-.707,0.224,}-.224,.948-.67,.67,.3179,AUX TRL.707,.707,0-.224,.224,.948.67,-.67,.31710,AUX TRR-.707,.707,0-.224,-.224,.948.67,.67},.317.948-.67,.67,.3179,AUX TRL.707,.707,0-.224,.224,.948.67,-.67,.31710,AUX TRR-.707,.707,0-.224,-.224,.948.67,.67;L| VIEWBLD |L++@@ D:VIEW.MATQ(@}10VPLAN VIEW`(@1,PLANj(@1,0,0t(@0,1,0~(@0,0,1SIDE VIEW}(@2,SIDE(@1,0,0(@0,0,1(@0,-1,0FRONT VIEW((@3,FRON}