@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 D8uIJrSMKENINABCNTONSECMCPPLLOLOLSLVRHISIC@B @@@T}@P@2 62 h2 AP B Bh@H@@ @U}@  !"#V}$ ASYLUMBY SPENCER CRASKE$$(c) 1985, Antic Publishing Co.(g6-@+@30@@@W}M0@@g0@@2A0@@@70@@@A AP<X}AF:A@,Fn%6-F:@,%AV$F:@,16-@=6-@I6-@U6-@Pa6-@n;@Y},P5;@P,56. Z4;@P,46. d5;@PZ},56. ng-@!5(@score: keys:G-@"g(@m[}en: level: S:xA6-F:A,&@&A46-$AVA;@2,**6. hhhhh֢ԑ`\}/6-?:C:,<BsD<,%AV/ ApS-@&@*(@ >-@%@S(@ ]} N-@"(@alien6-@%@K(@ASYLUMSN$/-@G"+%@%^}/ -A%%@) 3A0E,W/@i/@@ {/@ _}/76-@6-@ '6-@-6-7 A J6-F:A2,.6-+"@,&+"@,J6`}-+"@,&+"@,%"*"6-%6- 6-6-[-@@/(@7<%@,Aa}-@@[(@7<%@,/-@@/(@7<%@,(%@"B:,&@(6-b}"@6-@P$F:@ ,A&+@$,>6-%+$@,&@P@  6-%6c}-%1'"@8I2AP@@k2y6-%@6-%@6d}-%@"#"A06-6-#1,C#"@)"@)"@9"Ac)"AdC A06"@e}6-%@+6-%A?-@0l2H:,$AU@@p 2f}@/ @2,A3#,)6-/6-J'6-&@' A0T5"B'6g}-@56-%@^!@6-@h%-@@!%(@ r-@@!"(@4-@h}@!C(@&U-@@"b(@t-@@"(@|D-@@"%(@i} 7-@@"D(@7%@R6-$@+!A(76-@S "6-%@#6-@1j}6-@%=6-I6-S Ap A-@@/(@7<%@,A-@@k}[(@7<%@,m-@@(@7<%@,-@] @'6-P:H:,$@ ,l}A6-P:H:,$@ ,I1]@8A@ , $m%2@G2m}[-Ai%m N-@B(@ you have achieved Hn}N6-@O "%(@ENTER INITIALSE@@K:O A6- A`o}#6-@6. # A!! @)!@A$)@$"AUApk#"AT)"Ap}&)"@0067,. >6-&@R-@%@a(@ k A &67<,.>:,6-%@0|-q}@8(@ HI-SCORE IS  BY:J-@@h(@7@<@,|A :0-@r}@ 0(@ PRESS D6-@Nl%6-&A!$+!A ,%@9-AAS%@2s}$+&A,W lT:,AX0@@@70@@Q0@@k0@t}@@0@@@b6-6-'6-36-?6-K6-@W6-u}@c6-@o6-@P-@@!l!(@ ! Av# @2,@7#,6-v}&@6-@)6-@ F-A6@j2%@u@@2@+A&,%@uw}@@ "6@A`G%2G2@*6-x}6-'6-@P*$H-@@067<,.>:F:A%,,4 H-@ *-AAy}"F:,%& * 1-@@-A%@:7<,,1 16-6-'6-@P1 Aaaz}7,5,253,165,165,7,0,0,0,60,126,126,126,126,60,0,124,84,254,146,214,0,0,0,124,214,214,124,5688124,84,0,16,84,56,238,56,84,{}16,0,0,0,0,00,16,0,0,0 D1:ASYLUM.BAS0,0,124,84,254,146,214,0,0,0,124,214,214,124,5688124,84,0,16,84,56,238,56,84,,YZjSCPKPLSIMULACNKBPPSTSFCFCFCFCPSKELSPPIC@@@ }}@  ~} ! BANJO PICK }ERBY R.K.LINDGREN (c) 1985, ANTIC PUBLISHING(bb9@",9@<@,9@<@,;@,;@ }0,;@9,9@c,2 A <PICK ROUTINEFY6-8<,6-8<,)6-&@@$5@Y@ }@AAP, 6-"6-?:<<<<<<<<,, A Z, 6-"6-?:<<<<<<<<,, A d, 6-"6- }?:<<<<<<<<,, A n" 6-"6-?:<<<<<<<<,x)6-%@!@)6-@#6-%@ }!#6-@-@ F:,@ApSTART KEY, CHECK KEYBOARD 6-F:Ad }, "@p!@c6- @p 6-8,NEW CHORD\!6-6-)6-$@76-&@ }I-@R(7<,\ ANEW PICK PATTERN@ 6-6-6.-@'6( @ A } @pCHECK OPTION & SELECT5F:,"@+6-P:'@,%@5 Ap*F:,"@ 6-%@ }* Ap"\F:,"@&-@B2F R\ A@, Ap6INI }TIALIZATION@> +AR@>( (Tuning, please wait)J9A@'A@9A @ }T'-@@'@@^,-@@"((7@,, hA(#(PRESS TO SPEED UPA }(PRESS TO SLOW DOWNr$$(PRESS Ԡ TO START & STOP|READ SOUND POKE ROUTINE+-@@"'67 },.>:,+ READ SOUND PARAMETERS(-@@""$68,-( *-@@c&68,-*  }READ CHORDS/ 6. 67@9,. +67@,./"L-@"68,-2-@@6"D68<,-8 },H L"56-$@&@167<%B:,&@,.5 B68@G,-@-68@c,-@B68@#,-@ }READ PICK PATTERNSN"-@"#68,-67-@@;"F68<,-J N DISPLAY CHORD } NAMES>@@(>(! Ӻ ˠӺ'A@'A@(((( } g(7@<@,;( g( 7@<@,7@<@!, }&Q$( Q( 7@<@,7@"<@0,0T(5( 7@"<@$,7@1< }@9,TDON'T FORGET THIS SEMI-COLON:36-Ag6-Ad'6-Ab36-AaD'6-@6-@'6-A }N+6-$@6-&@+6-@XT 6-C:,6-$6-06-<6-H6-AUT6- }B2yb7-@7(ĺ 7<, κ l--6-F:A`,%AV$F:Aa,%AVv$$WAIT FOR STA }RT KEY OFF THEN ONF:,@A@F:,@AP-@@% @%6-@ }6-@% @p " `" ` `""Banjo |" }Picker|"" ` `SOUND POKE ROUTINE@@104,133,203,162,0,104,104 },157,0,210,232,228,203,208,246,96 SOUND FREQ. VALUES!!243,230,217,204,193,182,173 ;;162,153,144,136,128,121,114,1 }08,102,96,91,85,81,76,72*CHORD DATA413>31,18,13,10,6,20,FH30,17,13,8,5,20,CR26,18,12,8,3,20,G7\ }24,17,13,10,5,20,Amf46,15,12,8,3,20,Gp42,15,13,10,3,20,D7z40,17,12,8,5,20,Em62,19,15,10,7,20,D58,1 }7,14,10,5,20,A756,19,15,12,7,22,Bm22,17,14,10,5,22,A18,17,15,12,5,22,E716,19,14,10,7,22,F#mPICK } PATTERNS1151,3,2,5,1,4,2,5,153,3,2,1,5,1,2,3,148,3,1,5,3,1,3,4,150,3,2,1,5,3,1,5,111,3,1 },5,3,1,5,3,113,2,1,2,1,5,2,1,58,1,2,3,1,5,2,1,510,1,2,5,1,2,5,2,1$1,1,2,1,5,1,2,1,5.5,3,5,3,1,5,3 },1,580,2,3,2,1,2,3,2,1 D:BANJO.BAS3,2,1,ACA010,1,2,5,1,2,5,2,1$1,1,2,1,5,1,2,1,5.5,3,5,3,1,5,3 ? lm SFLPITCPHASETICSECWAIOFOLDJBJIVOSCOUNINHALRETAIEXHALLTIM@}@@@B @  P @@@@@@} BREATHE$$BY LEN DORFMAN AND JERRY WHITE (c) 1985, ANTIC PUBLISHING  Ap AONE SECOND SUBR}OUTINE(##2@@2LA @'-@@!4(@LWHITE COMMAND DISPLAY<^%2}3-@EA@@Y^APPROX 1 SEC COUNTDOWN> @p NOT LAST SEC@&6}-F:A@,&!@@dB0A @d0FADE COMMAND COLORD   $F<F:A@,@p<COUNTDOWN} INCOMPLETE SO LOOP HEREP @hDO IT AGAIN_RESET DISPLAYd/6-@6-@/%@@f%%RE}SET COLORS AND TURN ON SCREENioAA`'AAV9A A`KA@(]AAo}AY@4lJOYSTICK UPDATEn:6-R:,((T:,A:TRIGGER PRESSEDs'"@A'NOTHI}NG TO DOxH"@6-#6-%@/"@%;6-@HSTICK DOWNF"@6-#6-&@/"@};6-@"FSTICK UP;!@*@A;STICK NOT LEFT OR RIGHT 6.  CLEAR WORK STRING)"}@ A%)STICK RIGHT" A%"JS=11 STICK LEFTSCREEN UPDATE AND NOISE,>%@%@}>OLD LINE SMALL, NEW LINE BIG^AUDIO FEEDBACK & DELAY3'2$@@@36-@ SA@}12@S2F:A@,A AERROR NOISE}\ -@6?P<2A@X2@@Q@\ 6-@0 AVALI}DITY CHECK & UPDATE&&7@<@,4 ONA0(67@<@,. ON( A"@A0}6-%@ A"@`A06-%@ A"@`A06-%@ A }"@`A0 6-%@ A"b&&7@<@,4OFFA0c(67@<@,.OFF( A}e"@A0f6-&@ Ah(A0i6-&@ Ak(A0l6-&@} An(A0o6-&@ A" A AUPDATE SCREEN STRING S$O67@s<@t},.#6.=:,,6-B:,E67@u&<@t,.O AO67A3<A4,.#6.=:,,6-B:,E67A5&<A4},.O AO67A<A,.#6.=:,,6-B:,E67A&<A,.O AO67AS<AT,.#6.=}:,,6-B:,E67AU&<AT,.O ASETUP FOR BREATH CYCLE )%@)MAKE LARGE LINE SMALL!F6-})7@<@,4ON56-@FSET SOUND FLAG"ZAAd'AAd9AAdKA}ZRESET COLORS#BREATH CYCLE LOOP$--@$6.=:&%@,-6-B:,%UPDATE COUNT DISPLAY&H}-@@&(@ :-@&@H(@)PHASE$=COMMAND*06.inhale6-&6-}0 @@406.retain6-&6-@0 @@>06.exhale6-&6-@0 @@z 6-@}3 A A3RESET SCREEN & START OVERINITIALIZATIONXF +@AY*(@F(@} >%6-F:A`,%F:Aa,$AV>DL=ADR OF DISPLAY LIST #6-@#OFFSET TO DL LINE>%@}@+%@&@>LARGE TEXT LINES@P;AT,6. )67AT,. 867@,.PSCREEN OPTION DI}SPLAYJ8;@,6. 8CURRENT PHASE OR COMMANDT-;@,6. -BLANK WORK STRING$$67@<@},. ON0$67@f<@t,. 106-@0$67A&<A4,. 106-@0$67A}<A,. 006-0$67AF<AT,. 106-@"DISPLAY/SOUND SUBROUTINE(#12}+&@,'@@@C-@Q(@s26-$}D1:BREATHE.BAS OFF @Q(@s26-$100!.4)#02%3%.43finescrolling/n9our!tari"9}9/52.!-% ppppppppF0ppppWpBK0ppppFs0pppppA0/001"/ #1*  0 \"0#L0 }0-1 L_ * #1 00L_000`0/001"/ #1*  0 \"0#L0 A0 ; FINE SCROLLING, LISTING 110 ; BY MARK ANDREWS20 ; ANTIC PUBLISHING30 ;40 *= $300045 JMP INIT50 ;60 SD}MCTL = $022F70 ;80 SDLSTL = $023090 SDLSTH = $02310100 ;0110 COLOR0 = $02C4 ;OS COLOR REGISTER0120 COLOR1 = $02C50}130 COLOR2 = $02C60140 COLOR3 = $02C70150 COLOR4 = $02C80160 HSCROL = $D4040162 VVBLKI = $0222 ;OS INTERRUPT VECTOR0164} SYSVBV = $E45F ;INTERRUPT ENABLE VECTOR0166 SETVBI = $E45C ;SET VERTICAL BLANK INTERRUPT VECTOR0168 XITVBL = $E462 ;EXI}T VBI VECTOR0170 TCKPTR = $20000180 FSCPTR = TCKPTR+10190 .OPT OBJ0200 ;0210 ; DISPLAY LIST DATA0220 ;0230 START0}240 LINE1 .SBYTE " ANTIC PRESENTS "0250 LINE2 .SBYTE " "0260 .SBYTE " fine scrolling } "0270 LINE3 .SBYTE " On Your"0280 .SBYTE " Atari "0290 LINE4 .SBYTE " BY (YOUR NAME) } "0300 ;0310 ; DISPLAY LIST0320 ;0330 HLST NOP ;('HELLO' LIST)0340 .BYTE $70,$70,$700350 .BYTE $70,$70,$}70,$70,$700360 .BYTE $460370 .WORD LINE10380 .BYTE $70,$70,$70,$70,$570390 SCROLN NOP ;(THIS IS THE LINE} WE'LL SCROLL)0400 .WORD $00 ; A BLANK TO BE FILLED IN LATER0410 .BYTE $70,$420420 .WORD LINE30430 .BYT}E $70,$70,$70,$70,$460440 .WORD LINE40450 .BYTE $70,$70,$70,$70,$700460 .BYTE $410470 .WORD HLST0480 ;0}490 ; RUN PROGRAM0500 ;0510 INIT NOP ;PREPARE TO RUN PROGRAM0520 LDA COLOR3 ; SET COLOR REGISTER0530 STA }COLOR10540 LDA COLOR40550 STA COLOR20560 ;0570 LDA #0 ; TELL ANTIC WHERE DISPLAY LIST IS0580 STA SD}MCTL0590 LDA #HLST&2550600 STA SDLSTL0610 LDA #HLST/2560620 STA SDLSTH0630 LDA #$220640 STA SDM}CTL0645 JSR TCKSET ; INITIAIZE TICKER ADDRESS0650 ;0660 ; FINE-SCROLLING ROUTINE0680 LDA #42 ; # OF CHARACTE}RS IN SCROLL LINE0690 STA TCKPTR0700 LDA #80710 STA FSCPTR ; NUMBER OF COLOR CLOCKS TO FINE-SCROLL0720 ;073}0 ; ENABLE INTERRUPT0740 ;0750 LDY #TCKINT&2550760 LDX #TCKINT/2560770 LDA #60780 JSR SETVBI0790 ;0800} ; TICKER INTERRUPT0810 ;0820 TCKINT0830 LDA #SCROLL&2550840 STA VVBLKI0850 LDA #SCROLL/2560860 STA VVB}LKI+10870 ;0880 INFIN0890 JMP INFIN ; INFINITE LOOP0900 ;0910 SCROLL0920 LDX FSCPTR ;8 TO START0925 DEY} 0930 DEX 0940 STX HSCROL0950 BNE CONT0960 LDX #80970 CONT NOP ; (CONTINUE)0980 STX FSCPTR0}990 CPX #71000 BEQ COARSE1010 JMP SYSVBV1020 COARSE1030 LDY TCKPTR ; NUMBER OF CHARACTERS TO SCROLL1040} DEY 1050 BNE SCORSE ; LOOP BACK TILL ENTIRE LINE IS SCROLLED1060 LDY #421070 JSR TCKSET ; RESET TICKER }LINE1080 SCORSE NOP ; DO COARSE SCROLL1090 STY TCKPTR1100 INC SCROLN ; LOW BYTE OF ADDRESS1110 BNE RETU}RN1120 INC SCROLN+1 ; HIGH BYTE OF ADDRESS1130 RETURN1140 JMP SYSVBV1150 ;1160 TCKSET1170 LDA #LINE2&25511}80 STA SCROLN1190 LDA #LINE2/2561200 STA SCROLN+11210 ENDIT1220 RTS 1280 *= $02E01290 .WORD IN}IT STA SCROLN1190 LDA #LINE2/2561200 STA SCROLN+11210 ENDIT1220 RTS 1280 *= $02E01290 .WORD IN8mLBI GRAPH 3-D LOADERBY PAUL CHABOT (c) 1985, ANTIC PUBLISHI}NG(% A6-A6%6-A2-A6AP<"  F% D:GRAPH3D.BASP&&PRINT TEXT IN GR.8,} LOAD AT 1536Z//104,201,4,240,9,170,240,5,104,104,202,208d44251,96,104,133,215,104,133,214,104,104,168,104n44133,217},104,133,216,104,104,240,236,133,212,24x33165,214,101,88,133,214,165,89,101,215,133,21533152,240,15,165,214,105,64,133},214,165,215,105111,133,215,136,208,241,132,221,160,0,132,220//177,216,160,0,170,16,1,136,132,213,138,41,,96,208,}4,169,64,16,14,201,32,208,4,169,,0,16,6,201,64,208,2,169,32,133,218,138++41,31,5,218,133,218,169,0,162,3,6,218224}2,202,208,250,109,244,2,133,219,164,221,17744218,69,213,164,220,145,214,200,132,220,196,21211208,182,24,165,214,105,4}0,133,214,144,2,23011215,230,221,169,8,197,221,208,159,96,207,96BYTE I/O, LOAD AT 1704**169,64,133,212,169,3,13}3,213,104,104&&104,10,10,10,10,170,216,24,105,9--168,104,145,212,136,104,145,212,136,136--136,104,145,212,136,104},145,212,136,136104,104,145,212,76,86,228"C +@AAv1AAvCAR@,-@}@6(@ R P 3 @-@@J(@ paul chabotT/( (,( (c) 1985, Antic Pu}blishing/$D:GR3DLOAD.BAS2<@@J(@ paul chabotT/( (,( (c) 1985, Antic Pu2**QFQFQFSAAASAAASAAAECCDBANDBANPXPYPZCSSGEEEXEBLIZZBAFII }SABMLBRAMODDL1DL1SA1SA1MODDL2DL2SA2SA2D }  } !"#$@%@&@' }()*+,-./01234567 }89:;<=>?@ABCDEF }GHIJ GRAPH 3-D, LISTING 2BY PAUL CHABOT (c) 1985, ANTIC PUBLISHING#+F:A6 },A+%D:GR3DLOAD.BAS( A d##**** THE FUNCTION ***********x6-$&$'@$##**** FIND SX,S }Y ************* 6-&6-&6-&6-$%$%$6-$%$%$6-$%$%$# 6-& @#6 }-@6-+$,'+%, 6-$%6-&$ 6-!A6-A 6- }!A6-A$##**** COMPUTE POINTS ********* A-@!@( COMPUTING }POINTS 6-+&,'6-+&,' 6-&6-A2!-6-%!6-&#-6-%# A }$68<,-68<,-$68<,-)6-%@!AU)6-A  AA2 }$,##**** GRAPH IT ***************.#"@ A# A0! +@$ A`!@216- A }%6-@16-@6"@6-8"@6-:"@6-@<"@6-@ }>'"@6-@'6-@IPERP. TO X-AXISJ-L-6-8<,N#6-8<,6 }-8<,# APP",R /  SPERP. TO Y-AXIST-V-6-8<,X }#6-8<,6-8<,# APZ",\ /  ^ A$##**** FIX MATRIX ************* } A-@!@( fixing matrix '6-+%,'@'6-+%,'@ A 6-6-6 }- 6-&6-&6-&6-M:$%$%$, 6-'6-'6-'6-$%$1"6-'6- }@1 A0="6-'6-36-@= A0. 6-6-$6-6'. A0!} 6-66-66-'6-$&$6-$&$6-$&$6-M:$%$%$, 6-'6-'6-'6!}-M:$%$%$, 6-'6-'6-'$##**** INPUT=[RETURN] ********* F:Ad,"AUAF:A!}d,@$AdAU'$##**** MAG CHANGE *************((( MAG= !} INPUT  A A $##**** OPTION FLAG ************ )6-%@!@)6- !}-@@($&##**** EYE CHANGE *************((堠(*( EX,EY,EZ,$(7@(,!}INPUT $ A.  A00 A$X##**** INTERVAL CHANGE ********Z( (\(!} AX,BX,AY,BY^$(7@(,INPUT $ A`  A@b6-@$l##**** PARTITION SIZE ******!}***n((p( NX,NY = ,r( INPUT  At!  @!6-@v !!}6-x @6-@z !6-|6-@$##**** CENTER CHANGE **********( ! }(( CX,CY = ,( INPUT  A  $##**** FUNCTION CHANGE ********(! }(((Z= A6.6.Z=67@,. A 6-@$##**** CREATE LINE 120 *******! }*% A(120 (%(CONT*-@@'AB@*&AB@$##**** RECOVER LA! }ST FUNCTION **( 򠠿(%%( Y/N(** current will die **&6-F:Ad! },&"AUAX$AdAU!@C$$ 6.6.6. A 6-@$ ##**** VALUE E!}RROR TRAP *******" A-@!@$(*******''&'AdAU'-@@(**(!}"٠ݠ - to recover * F:Ad,"AUA,$H##**** I/O TRAP ***************J A-!}@!@L$@$(******N AR##**** DISK DIRECTORY *********T1 A@@@!!}1-@!@V(-@@$(7@",( X-@!@Z3@3@@!}D:*.G3D\+-@@+-@^'@'B:,"@Ap`((7@<@, ! !}$(( f$@ -@!@$(h@@$p##**** GET FILENAME ***********r##( !}7@,t#( INPUT filename # Av6.D:67@,.x67B:,%@,..G3D$z##**** 2ND CH!}ANCE *************{$ A!$( ϠԠ Y/N|( filespecs ~&6-F:Ad,&"AUA$Ad!}AU!"@C$$ ' $##**** SAVE TO DISK ***********"( S A V E(" A! A A`!}! A@2 @@2A@&&6-?:<@<Av<<@,(@(@!}*(@(@*(@(@(@(@(@(@(@!}(@(@ @ A@ A AP$##**** LOAD FROM DISK *****!}****!( L O A D(! A! A A`! A@& 6.&@@&&6-?:<@!}<Av<<@,@@*@@*@@@!}@@@@@@@ A! A  A!}0! A@ A 6-@$##**** PRINT IT ***************( PRINT IT ($!( !} 7@,$(%%( 1-LEFT 2-RIGHT&6-F:Ad,&"AUA dAdAU A@!}@1*@0$.@.@@P:INITIALIZE%%(@>:@',>:@d,! }FILENAME"@0(@))(@>:@, 7@,SET LINE FEED//(@>:@'!!},>:@Q,>:@,6-%A$@@-@96-%%-@A%6-&@@6!"}7<,.>:F:,, PRINT GRAPHICS STRING"@0(@<<(@>:@',>:@u,>:A,>:!#}, @$L""**** FORCED READ ***********N-@@(P-@@$V-@!$}@XAB@ZAB@$`**** FILL M$b A(MAG:d A6.$!%}j**** FILL E$l An(EYE:,,p A6.$t**** FILL I$v Ax##([,!&}]*[,]z A6.$~**** FILL Z$) A-@@)A  A6.7@!'},$""**** LABEL SCREEN **********&&6-?:<@2<@,,($蠳Ġ ^^^^^^^^^^^^^^^^^@%%( Paul Chabot 1985B,,($ݠȠԠ ٠!8}D([O] Option 0 F([F] Function H([M] Magnification J([E] Eye Position L([C] Cent!9}er Screen N([I] Intervals P([N] Partition sizeR([R] Recover last T(ɠϠ V(!:}[L] Load [S] SaveX([P] Print [D] Dir.Z(OoOoOoOoOoOoOoOo\,,($ݠ堯f A!;}P$z**** MINI-MENU| A!( ~ ( $**** CLEAN-UP-@@( #-@!<}@!#-@ ( -@@$""**** INITIALIZE ************36-@$6-A6'6-A!=}36-APM6-6@6-@)6-6@56-@A6-@M6-@?6-@6-@'6-!>}@36-A`?6-A9<,9<,9<,11;@x,;@,;@,;@ ,&&;@x,;!?}@x,;@,;A,;@8,+ 6. 67@8,. +67@,.6. D:SAMPLE.G3D! A!@} A! A!! A  A0! A@/ AP6-@%6-/ A 6. $ D:GRAP!A}H3D.BAS! A!! A  A0! A@/ AP6-@%6-/ A 6. $ D:GRAP 10 ; G.U.P.20 ;30 ; (THE SOURCE CODE40 ; FOR THE POPULAR50 ; GRAPHICS UTILITY60 ; PUBLISHED IN THE70 ; JUNE 1985 I%C}SSUE OF ANTIC.)80 ;90 ; BY DAREK MIHOCKA0100 ; (c) 1985, ANTIC PUBLISHING0110 ;0120 ;0130 ;0140 START = $40000150 %D} *= START0160 JSR INIT0170 .WORD RANDOM0180 .WORD SQUARE0190 .WORD DRAWTO0200 .WORD LINE0210 %E} .WORD CIRCLE0220 .WORD COLOR0230 .WORD GRAPHICS0240 .WORD C1280250 .WORD CIRF0260 .WORD TEXTPLOT02%F}70 .WORD ONEPLOT0280 .WORD COLORN0290 .WORD SETCOLOR0300 ;FUTURE EXPANSION0310 .WORD END0320 .WORD E%G}ND0330 TITLE .SBYTE " GRAPHICS UTILITY PACKAGE. DAREK MIHOCKA"0340 ;ZERO PAGE VARIABLES0350 XLOC = 2030360 YLOC = 2040%H}370 COL = 2050380 OFFSET = 2060390 ONEORMANY = 2070400 XLOCOFFSET = 2080410 HBYTES = 2090420 ;THE FOLLOWING ARE TEMPOR%I}ARY0430 ;VARIABLES STORED IN FR00440 REG1 = 2120450 REG2 = 2140460 REG3 = 2160470 SLOPE = 2180480 MASK = 2200490 X%J}MAX = 2210500 YMAX = 2220510 XTEMP = 2230520 YTEMP = 2240530 IDEAL = 2250540 RAD = 2270550 ORAD = 2280560 RADS = %K} 2290570 XC = 2300580 YC = 2310590 YTEMP2 = 2320600 STRHI = 2330610 STRLO = 2340620 STRLEN = 2350630 LCOUNT = 23%L}60640 ;THE SUPERFAST PLOT0650 PLOT LDA XLOC0660 AND #$07 ;0-70670 ORA OFFSET ;8n0680 TAX ;=MASK %M}OFFSET0690 LDA YLOC0700 AND #30710 TAY 0720 LDA MASKTABLE,X0730 AND ONEORMANY ;0 MAKES MANY0740 %N} STA MASK0750 EOR #2550760 AND COLOR,Y0770 STA COL0780 ;ENTER HERE FOR MORE SPEED0790 MINIPLOT LDX YLOC0800%O} CPX #1920810 BCS PLOTFIN0820 LDA XLOC0830 YDIV0840 LDY #20850 BEQ MEM870860 LSR A0870 DEY%P} 0880 BEQ MEM870890 LSR A0900 DEY 0910 BEQ MEM870920 LSR A0930 MEM87 TAY 0940 MEM880950 LDA S%Q}CR.TABLE,X0960 STA REG20970 LDA SCR.TABLE+$C0,X0980 MEM890990 STA REG2+11000 LDA (REG2),Y1010 AND M%R}ASK1020 ORA COL1030 STA (REG2),Y ;THE PLOT1040 PLOTFIN RTS 1050 XINT .WORD 01060 COLOR .WORD $FFFF,$FFFF1070 MU%S}L .WORD 01080 ;MASK FOR PLOT1090 MASKTABLE .BYTE 0,0,0,0,0,0,0,0,15,240,15,240,15,240,15,240,$3F,$CF,$F3,$FC,$3F,$CF,$F3,$F%T}C1100 .BYTE $7F,$BF,$DF,$EF,$F7,$FB,$FD,$FE1110 HLINMACH1120 LDA XMAX ;NO ENTRY FROM BASIC1130 CMP XLOC %U} ;MAKE SURE1140 BEQ FINI.2 ;XLOC ROOF MICBHSINEWAVEBAS2450 STA IDEAL+12460 JMP ARGLOOPINIT2470 ARGLOOP2480 LDA TXMAX2490 STA XLOC2500 LDA TYMAX2510 S%r}TA YLOC2520 STA IDEAL+12530 ARGLOOPINIT2540 PLA 2550 STA NEGSL2560 PLA 2570 STA XMAX2580 STA T%s}XMAX2590 PLA 2600 PLA 2610 STA YMAX2620 STA TYMAX2630 JSR DRAWTOMACH2640 DEC NARG2650 BNE %t}ARGLOOP2660 RTS 2670 NARG .WORD 02680 TXMAX .WORD 02690 TYMAX .WORD 02700 DRAWTOMACH LDA YMAX2710 CMP YLOC2720%u} BNE DIV1 ;SAME Y?2730 JMP HLINMACH ;YES, DO HLIN2740 DIV12750 LDA XMAX2760 CMP XLOC2770 BNE DIV2%v} ;SAME X?2780 JMP VLINMACH ;YES, DO VLIN2790 DIV2 BCS DIV222800 LDX XLOC2810 STX XMAX2820 STA XLOC28%w}30 LDA YLOC2840 LDY YMAX2850 STA YMAX2860 STY YLOC2870 STY IDEAL+12880 LDA XMAX2890 DIV22 SEC %x}2900 SBC XLOC2910 STA DIV ;DIVISOR2920 PHA 2930 LDA YLOC2940 STA IDEAL+12950 LDA #02960 %y} STA G1282970 STA NEGSL2980 PLA 2990 BPL DIV.OK3000 STA G1283010 LSR DIV3020 DIV.OK3030 INC DI%z}V3040 LDA YMAX3050 SEC 3060 SBC YLOC3070 BCS DIV233080 PHA 3090 LDA #13100 STA NEGSL3110 %{} PLA 3120 EOR #2553130 DIV23 CLC ;DIVIDEND3140 ADC #13150 STA LOBYT3160 LDA #03170 JSR DIV%|}3 ;M=Y/X3180 PHA 3190 STA LOBYT3200 LDA QUT3210 STA SLOPE+1 ;M-HI BYTE3220 LDA #03230 STA LO%}}BYT3240 PLA 3250 CLC 3260 ADC #03270 JSR DIV33280 LDA QUT3290 STA SLOPE ;M-LO BYTE3300 L%~}DA #128 ;XLOC+13310 STA IDEAL ;TO ROUND OFF3320 LDA #$E63330 STA INYLOC3340 STA INYLOC23350 LDA%} G1283360 BEQ L1283370 CLC 3380 ROR SLOPE+13390 ROR SLOPE3400 L1283410 LDA SLOPE+13420 STA MSM%}ALL3430 CMP #13440 BNE L1293450 LDA SLOPE3460 STA MSMALL3470 ;IF SLOPE <=1 THEN MSMALL=03480 L1293490 %} LDA NEGSL3500 BEQ FIRSTPLOT3510 LDA SLOPE3520 EOR #2553530 STA SLOPE3540 LDA SLOPE+13550 EO%}R #2553560 STA SLOPE+13570 LDA #$C63580 STA INYLOC3590 STA INYLOC23600 FIRSTPLOT LDA MSMALL3610 BEQ%} CHECK13620 JSR PLOT3630 NEXTIDEAL CLC ;CALCULATE3640 LDA IDEAL ;IDEAL POS.3650 ADC SLOPE3660 STA ID%}EAL3670 LDA IDEAL+13680 ADC SLOPE+13690 STA IDEAL+13700 LDA YLOC3710 CMP IDEAL+13720 BEQ CHECK1%}3730 INYLOC2 INC YLOC3740 DRAWLOOP LDA YLOC3750 CMP IDEAL+13760 BEQ CHECK1 ;Y=IDEAL?3770 CMP YMAX3780 %}BEQ CHECK1 ;Y=MAX?3790 JSR PLOT3800 INYLOC INC YLOC3810 JMP DRAWLOOP3820 CHECK13830 JSR PLOT3840 LDA X%}LOC3850 CMP XMAX3860 BEQ DRDONE3870 INC XLOC3880 JMP NEXTIDEAL3890 DRDONE RTS 3900 DIV .WORD 03910 QUT%} .WORD 03920 LOBYT .WORD 03930 REMDR .WORD 03940 NEGSL .WORD 03950 MSMALL .BYTE 03960 DIV33970 LDY #83980 SEC %}3990 SBC DIV4000 DLOOP4010 PHP 4020 ROL QUT4030 ASL LOBYT4040 ROL A4050 PLP 4060 BCC WORD%}DD4070 SBC DIV4080 JMP DNEXT4090 WORDDD ADC DIV4100 DNEXT DEY 4110 BNE DLOOP4120 BCS DLAST4130 ADC%} DIV4140 CLC 4150 DLAST ROL QUT4160 RTS 4170 VLINMACH LDA YLOC4180 CMP YMAX4190 BCC VLIN224200 LDY%} YMAX4210 STA YMAX4220 STY YLOC4230 VLIN22 JSR PLOT4240 LDA YLOC4250 CMP YMAX4260 BEQ VEND4270 VLI%}NLOOP INC YLOC4280 JSR PLOT4290 LDA YLOC4300 CMP YMAX4310 BNE VLINLOOP4320 VEND RTS 4330 CIRCLE4340 %} PLA ;A=USR(CIRCLE,X,Y,R)4350 PLA 4360 PLA 4370 STA XC4380 PLA 4390 PLA 4400 STA YC44%}10 PLA 4420 STA IDEAL4430 STA IDEAL+14440 PLA 4450 STA RAD4460 BEQ VEND4470 CIRMACH4480 ST%}A DIV ;DIV=RAD4490 LDA #1284500 STA LOBYT4510 LDA #04520 JSR DIV34530 PHA 4540 LDA #04550 %} STA LOBYT4560 LDA QUT4570 STA SLOPE+1 ;HI BYTE OF /4580 PLA 4590 JSR DIV34600 LDA QUT4610 S%}TA SLOPE ;LO BYTE4620 LDA #2554630 STA LCOUNT4640 YLOOP4650 LDA IDEAL4660 CLC 4670 ADC SLOPE4680%} STA IDEAL4690 LDA IDEAL+14700 ADC SLOPE+14710 STA IDEAL+14720 TAX 4730 BIT IDEAL+14740 BMI%} VEND ;FINISHED?4750 INC LCOUNT4760 LDA YC4770 SEC 4780 SBC LCOUNT4790 STA YLOC4800 LDA CIRW%}ORD,X4810 STA MUL4820 LDA #04830 STA LOBYT4840 LDX #84850 MULOOP LSR MUL4860 BCC NOADD4870 CLC%} 4880 ADC RAD4890 NOADD ROR A4900 ROR LOBYT4910 DEX 4920 BNE MULOOP4930 CIRCLESTRETCH.1 NOP 4940 CIRCL%}ESTRETCH.2 NOP 4950 STA RADS4960 LDA CIRF4970 BEQ RING4980 LDA XC4990 CLC 5000 ADC RADS5010 %} STA XMAX5020 LDA XC5030 SEC 5040 SBC RADS5050 STA XLOC5060 JSR HLIN2 ;UPPER LINE5070 LDA YC%}5080 CLC 5090 ADC LCOUNT5100 STA YLOC5110 LDA XC5120 SEC 5130 SBC RADS5140 STA XLOC5150 %} JSR HLIN2 ;LOWER LINE5160 JMP YLOOP5170 RING5180 LDA LCOUNT5190 BNE RING25200 LDA YC5210 STA Y%}LOC5220 LDA XC5230 CLC 5240 ADC RADS5250 STA XLOC5260 JSR PLOT5270 LDA XC5280 SEC 5290 %} SBC RADS5300 STA XLOC5310 JSR PLOT5320 RING4 LDA RADS5330 STA ORAD5340 JMP YLOOP5350 RING25360 L%}DA YC5370 CLC 5380 ADC LCOUNT5390 STA YLOC5400 JSR RING35410 LDA YC5420 SEC 5430 SBC LCOUN%}T5440 STA YLOC5450 JSR RING35460 JMP RING45470 RING3 LDA XC5480 SEC ;DOES THE LEFT5490 SBC %}ORAD ;SIDE OF5500 STA XLOC ;THE RING5510 LDA XC5520 SEC 5530 SBC RADS5540 STA XMAX5550 JS%}R HLINMACH5560 LDA XC5570 CLC ;DOES THE RIGHT5580 ADC ORAD ;SIDE OF5590 STA XMAX ;THE RING%}5600 LDA XC5610 CLC 5620 ADC RADS5630 STA XLOC5640 JSR HLINMACH ;DRAWIT5650 RTS 5660 CIRF .WORD%} 15670 NUMDIV .BYTE 05680 ;DATA FOR OFFSET TO BIT MASK5690 TABOFFSET .BYTE 0,0,0,16,24,16,24,16,24,8,8,8,0,0,24,165700 ;D%}ATA FOR CIRCLE RATIO5710 TABRATIO .BYTE 255,0,1,255,255,255,255,255,255,1,1,1,255,255,1,05720 GRAPHICS5730 PLA %} ;BASIC GR. (0-63)5740 PLA 5750 PLA 5760 STA GRMODE5770 AND #$0F5780 TAX 5790 LDA TABOFFSET,X5%}800 STA OFFSET5810 LDA #$EA5820 STA CIRCLESTRETCH.15830 STA CIRCLESTRETCH.2 ;NOP'S5840 LDA TABRATIO,X%}5850 BEQ NOSTRETCH5860 CMP #2555870 BEQ GR85880 CMP #25890 BEQ STRETCH25900 STRETCH1 LDA #$4A5910 %} STA CIRCLESTRETCH.15920 JMP NOSTRETCH5930 STRETCH2 LDA #$4A5940 STA CIRCLESTRETCH.25950 JMP STRETCH15960%} GR8 LDA #$0A5970 JMP STRETCH1+25980 NOSTRETCH5990 LDA BYTAB,X6000 STA BYTES6010 LDA TABHLIN,X6020 %}STA MASKFORHLIN6030 LDA DTAB,X6040 STA YDIV+1 ; OF ROT'S6050 STA NUMDIV6060 LDA HBTAB,X6070 STA HB%}YTES ;OF PIXELS/BYTE6080 TXA 6090 CMP #126100 BPL OK126110 LDA GRMODE6120 JSR GRAPHICSMACH ;EXIT T%}O OS6130 LDA GRMODE6140 AND #$0F6150 CMP #96160 BMI CALC6170 LDA #46180 STA 703 ;SUPPRESS G%}R.06190 BNE CALC6200 OK12 LDA GRMODE6210 AND #$306220 STA TEMP6230 LDA GRMODE6240 AND #3 ;SUB %}126250 TAX 6260 PHA ;SAVE X6270 LDA GTAB,X6280 ORA TEMP6290 JSR GRAPHICSMACH ;DO GR.6300 %} PLA ;GET X6310 TAX 6320 LDA ATAB,X6330 STA ANTICMOD+16340 LDX GRMODE6350 LDY #2026360 ANT%}ICLOOP LDA (REG2),Y6370 AND #$BF ;LDA FROM DL6380 CMP ANTICMOD ;NEW MODE?6390 BNE NEXTANTIC6400 LDA (R%}EG2),Y6410 AND #$F06420 ORA ANTICMOD+1 ;CHANGE MODE6430 STA (REG2),Y6440 NEXTANTIC DEY 6450 BNE ANTICLOO%}P6460 CALC6470 LDX #86480 CALC.COL6490 LDA SETCOLOR,X6500 STA 704,X6510 DEX 6520 BPL CALC.COL6530%} LDA 886540 CLC 6550 ADC XLOCOFFSET6560 STA IDEAL6570 STA SCR.TABLE6580 LDA 896590 STA IDEA%}L+16600 STA SCR.TABLE+$C06610 LDY #16620 CALCLOOP CLC 6630 LDA IDEAL6640 ADC BYTES6650 STA IDEAL66%}60 STA SCR.TABLE,Y6670 LDA IDEAL+16680 ADC #06690 STA IDEAL+16700 STA SCR.TABLE+$C0,Y6710 INY 6%}720 CPY #1926730 BNE CALCLOOP6740 RTS 6750 ;IMITATE GR.12-15 WITH 0 OR 86760 GTAB .BYTE 0,0,8,86770 ANTICMOD%} .WORD 06780 ATAB .BYTE 4,5,12,146790 GRMODE .WORD 06800 BYTAB .BYTE 40,20,20,10,10,20,20,40,40,40,40,40,40,40,20,406810 %};BYTES PER SCREEN6820 TABHLIN .BYTE 255,255,255,$FC,$F8,$FC,$F8,$FC,$F8,$FE,$FE,$FE,255,255,$F8,$FC6830 BYTES .WORD 06840 %}C1286850 TDLO = 544 ;TIMER 56860 PLA 6870 PLA 6880 STA TDLO+1 ;TIME DELAY HI6890 PLA 6900 STA%} TDLO ;TIME DELAY LO6910 PLA 6920 PLA 6930 TAX ;COLOR REGISTER6940 LDA #2556950 STA 5586%}960 CLOOP6970 LDA 542836980 CLC 6990 ADC 207000 ASL A7010 STA 542827020 STA 53266,X7030 LD%}A 5587040 BNE CLOOP7050 RTS 7060 GRAPHICSMACH PHA 7070 LDX #$607080 LDA #255&CCLOSE7090 STA ICCOM,X%}7100 JSR CIO7110 LDX #$607120 LDA #255&COPEN7130 STA ICCOM,X7140 LDA #SCREENNAME&2557150 STA IC%}BADR,X7160 LDA #SCREENNAME/2567170 STA ICBADR+1,X7180 PLA 7190 STA ICAUX2,X7200 AND #$F07210 EO%}R #$1C7220 STA ICAUX1,X7230 JSR CIO7240 LDA 5607250 STA REG27260 LDA 5617270 STA REG2+17280 %} LDY #77290 LDA (REG2),Y7300 STA ANTICMOD7310 RTS 7320 CIO = $E4567330 ICCOM = $03427340 ICBADR = $0344%}7350 ICAUX1 = $034A7360 ICAUX2 = $034B7370 COPEN = 37380 CCLOSE = 127390 SCREENNAME .BYTE "S:"7400 CIRWORD7410 ;THE CIR%}CLE DATA. HERE GOES:7420 .BYTE 153,153,153,153,153,153,153,153,153,153,153,152,152,152,152,152,152,152,151,1517430 %}.BYTE 151,151,151,150,150,150,150,150,149,149,149,148,148,148,147,147,147,146,146,1467440 .BYTE 145,145,144,144,144,143,%}143,142,142,141,141,140,140,139,138,138,137,137,136,1357450 .BYTE 135,134,134,133,132,131,131,130,129,128,128,127,126,12%}5,124,123,123,122,121,1207460 .BYTE 119,118,117,116,115,114,113,111,110,109,108,107,105,104,103,102,100,99,97,967470 %} .BYTE 94,93,91,90,88,86,84,82,81,79,76,74,72,70,67,65,62,60,57,537480 .BYTE 50,46,43,38,33,27,19,07490 TEXTPLOT7500 %} PLA 7510 PLA 7520 PLA 7530 STA XLOC7540 PLA 7550 PLA 7560 STA YLOC7570 PLA 7580 S%}TA STRHI7590 PLA 7600 STA STRLO7610 PLA 7620 PLA 7630 STA STRLEN7640 DEC STRLEN7650 LDY #0%}7660 TEXT.17670 LDA STRLO7680 STA REG27690 LDA STRHI7700 STA REG2+17710 LDA (REG2),Y7720 STY Y%}TEMP7730 PHA ; STORE LETTER7740 AND #$607750 LSR A7760 LSR A7770 LSR A7780 LSR A7790 %} LSR A7800 TAY ;CONVERSION7810 LDA CONV,Y7820 STA XTEMP7830 PLA 7840 AND #$9F7850 ORA%} XTEMP ;DONE!7860 STA SLOPE7870 LDA #07880 STA SLOPE+17890 CLC 7900 ROL SLOPE7910 ROL SLOPE+1%}7920 ROL SLOPE7930 ROL SLOPE+17940 ROL SLOPE7950 ROL SLOPE+17960 LDA SLOPE7970 STA REG27980 %} LDA SLOPE+17990 CLC 8000 ADC #57344/2568010 STA REG2+1 ;REG2=CHS+8*ASC8020 LDY #78030 TEXT.2 STY YTEM%}P28040 TYA 8050 CLC 8060 ADC YLOC8070 TAX 8080 LDA XLOC8090 LSR A8100 LSR A8110 CLC %}8120 MEM88.18130 ADC SCR.TABLE,X8140 STA REG18150 LDA SCR.TABLE+$C0,X8160 ADC #08170 MEM89.18180 ST%}A REG1+1 ;REG1=SCR.BYTE8190 LDA XLOC8200 AND #$038210 TAX 8220 CLC 8230 LDY YTEMP28240 LDA (RE%}G2),Y8250 STA REG38260 LDA #08270 STA REG3+18280 TEXT.38290 ROR REG38300 ROR REG3+18310 DEX 8%}320 BPL TEXT.38330 LDY #08340 LDA TEXT.CLEAR8350 AND (REG1),Y8360 EOR REG38370 STA (REG1),Y8380%} INY 8390 LDA TEXT.CLEAR8400 AND (REG1),Y8410 EOR REG3+18420 STA (REG1),Y8430 LDY YTEMP28440 %} DEY 8450 BPL TEXT.28460 INC XLOC8470 INC XLOC8480 INC XLOC8490 INC XLOC8500 LDA XLOC8510 %} CMP #1528520 BCC TEXT.58530 SEC 8540 SBC #1528550 STA XLOC8560 LDA YLOC8570 CLC 8580 ADC %}#88590 STA YLOC8600 CMP #1848610 BCC TEXT.58620 TEXT.58630 LDY YTEMP8640 CPY STRLEN8650 BEQ TE%}XT.48660 INY 8670 JMP TEXT.18680 TEXT.48690 RTS 8700 TEXT.CLEAR .WORD 2558710 CONV .BYTE $40,$00,$20,$6087%}20 G128 .WORD 08730 DTAB .BYTE 0,0,0,2,3,2,3,2,3,1,1,1,0,0,3,28740 ;LOG2 OF HBTAB8750 HBTAB .BYTE 1,1,1,4,8,4,8,4,8,2,2,2,%}1,1,8,48760 ;PIXELS PER BYTE8770 TEMP .WORD 08780 ONEPLOT8790 PLA ;BASIC ENTRY - PLOT8800 PLA 8810 %}PLA 8820 STA XLOC8830 PLA 8840 PLA 8850 STA YLOC8860 JMP PLOT8870 COLORN8880 PLA ;A=US%}R(SET,A1,A2,A3,A4)8890 LDX #48900 LDY #08910 COLOR.28920 PLA 8930 PLA 8940 STA COLOR,Y8950 INY%} 8960 DEX 8970 BNE COLOR.28980 RTS 8990 RANDOM9000 PLA 9010 LDX #39020 RND.LOOP9030 LDA 53770%}9040 STA COLOR,X9050 DEX 9060 BPL RND.LOOP9070 RTS 9080 INIT9090 LDA 889100 STA REG19110 %}LDA 899120 STA REG1+19130 LDY #399140 INITLOOP9150 LDA TITLE,Y9160 STA (REG1),Y9170 DEY 9180 B%}PL INITLOOP9190 LDA #2559200 STA ONEORMANY9210 LDA #$249220 STA 7109230 RTS 9240 SETCOLOR9250 %}*= *+99260 SCR.TABLE9270 *= *+3849280 ENDY9210 LDA #$249220 STA 7109230 RTS 9240 SETCOLOR9250 $3GHZBIXPAXHSSOCRCRMBAIXMMNNCCXNST@)} )} !"#)}$%&'(LEMONADE BY BOB POLARO ANTIC PUBLISHINGM#@@)}K:C@@S:M @@@-@@ =2@@$:-@)}%(@7-@:$(11;@,;@ ,9@,;@ ,2 +@<(6. )} ( AF|0@?2@A@@S-@@ W y2@)}|$Po #@-@@?(@S-@@W"h @ l )}o$Z99signs,made,sold,price,income,expenses,profit,assetsd6-P:$%,$nT6-@0$68@,-@06-?)}<6-AH6-?PT6-@x @ lemonade6-%@5-@@#-1 )}@5 ?-@*68@,-?(@ 6-8@, A&&(@ )}Ӡ$ 46-6. A`4!@A % #A-@!"% ))teamsters st)}rike,4,lemon shortage,6;;prices down,-4,supply increase,-4,i n f l a t i o n,2# 6-% @#6-@6-)}$?i-@0(@ ԯӽA6.=:'A,PB:, @i67@<@,.0o!(@)}7@<@,-6-@B68@,-W68@,-^0o(@  A`6-:)}"@.(@ :6-?PZ"@,(@ 86-Z2@A)}@`A":"@.(@ :6-@,-@5(@ ϮƠ)} --A6-@M6-@Y6-@e6-@o A@~(@ 2@"@A)}6!@A@4 6-$ A6-*6-8@,4 AJAPT A A^@)}68@,- A`("@6-+%@,$?h-@ B(@ Ӡ$A - )}f6-@%B:=:$A,,&@r6-@ ~6-@6-@ A@mA`r!@ A`|U)}6-8@,&8@,$'6-$1 A76-=6-G AUA A A`68@,-)}-@@1(@ů --=6-@I6-@U6-@a6-@ k A@z(@ A)}68@,-6-e @0((@ ?()-46-@@6-@L6-@V Ape)}4A0>6-(7@<@,4N46-@> A$$7@<@,0YA0+ @0 )}A`+!@A"@*(@ >-@@@X0@@b @p)}f {68@,- @0 A@u"@ @0:(@ S(@ )}!!k68@,-8@,u A@ 8@,!@A:06-+@&8@,,'@$?$%: A )}..6-+@#@$'8@,#@,,,6-$+%$+@&J:68@,$,$,,3 A`368@,-P:$+)}?%$?,,"6-8@, A"6-&6-8@, A0A:68@,-8@,)}DU.68@,-8@,$8@,$?U68@,-8@,$%8@,$NI&68@,-8@,&8@,I6*}8@,-8@,%8@,X @b:-@@ 6-8,,"@:6-'Al Ap v*}8@,A00 @0&(@ !!0 A08 @0.(@ PRESS start BUTTON8 Ap*} A`G 6.=:,6-$!@. A: G6-6@S-@%@-(@ *} C-@%%@P(@S$D @0- @ 7 A0A @0D$+ 6.#$*}@"P:$@,+6.0 "P:,6..00# 6.=:, 67B:,%@,.#$G%2@@)@@9*}-@A= G @ 56- Ap6.) AP26-A:,5$6-@$(%6-P:H:,$@*},%@($B6-6.82@AAAB @  F:B2y,"@%**"@ *}*F:Ad,"AUA  -%)@*G -%(@>:,0F:Ad,"AU8-%G(@ 4*}F:B2y,"@%> F:Ad,"AUAHC -%)@*AdAU@"AU)"A&C$R* }N6-%@(67B:,%@,.>:,9 @>:,?"K6-@ N$\ AD1:LEMONADE.BASA&C$R(q~f~ f< ~8< <8 f. }~< 0< l<0`~ff~f`0~~< ~@. }~. }.}.}c>~<.}w<`8`ff`|nkfnvc~f.}ffcf>~<<.}.}.}.}.}.}`.}8'@.}' @y.}  <@.}8 8&0 A.}@0 8@<' @.}@8 8' <@.}@p 8O <'@.}@x0 8O <'@ y. } 8@ 8'p@@ .!} 9  8@x' ."} <@  <@p@xO @x.#}@@<p `N 8@p@.$}0@` @ r @  8@p .%} @<'xO@< x@ 8@p8 p.&}'pN `@   A@@9r8@p.'}p'xOO @y@ @ 0p.(}NN  0@r r r@.)}    @<@@@.*}   8 8 8 8 `@ `@`@.+}@@  @8@8@8@x'x'x'.,}@y x xpp@x@NNp'.-}A @ r 99p  ..}O@@  8 8 ./} @ `@0 8 @ @ 8@  .0}'p@8 @  `p@ 9@ @r.1}`p@8@ Ox'<  x.2}p@<  Np `@ `@.3} 9 8@p '.4} p@ @@@ 98@.5}< y<@8 '@.6}8 @@8 @ @  .7}p@  `r r.8}p@ Np8 .9} 98 '@.:} @p.;} Np@@9.<}8.=}` @.>}p@@8.?}.@}.A}.B}.C}.D}.E}xfx~f~<~<88<88`f`8f`8f~~.F}|<|n|n<``vvf``fff~~x~~x``.G}fff~~x~~x``fffZ=1*3-4*1/215010510-11-111601001212~x~~x``,g\]6XREYRELOOSINEAMPLITUDCOSINEAMPLITUDSINEPERIOCOSINEPERIOSIZXPOINSINECOSINEKEYPRES2I} SINE WAVESBY PATRICK BASS (c) 12J}985, ANTIC PUBLISHINGd##@@K:n6-A6-Ax-@+@2K}%@A0@70@A@$$6-+H:@ ,$@p,%@$$6-+H:@ 2L},$@p,%@$$6-+H:@ ,$@p,%@$$6-+H:@ ,$@p,%@$$6-+H:@ ,$@,%@2M}-6-+G:',$,%+'@,6-+E:',$,%+'@, ,/&F:Ad,AU2N}6- )@>:,4X6-@ D1:SINEWAVE.BAS ,/&F:Ad,AU0V