@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED* MENU 018 COPYING---D1:MENU4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uEiͩkΩ͙kCop j`j {j`Hi͝Νh`V}L"UNEM:D"NURͩkΩ͙kCop j`j {j`Hi͝Νh`Y? O XLAPNB0A6@ ((<(d"(@"D +26-?:C: X}hhhԩ`,<A6,DAdAUuAAH'A A9A@K@@]@ Y}@7c(}uAR@++(#++(#| Antic Monthly Disk, Feb. 1987 | Z}++(#( | Side 'A' |++(# @  [}-@A $ GG;@@,;@ ,;@@,;A,;@,;@@, "D1:MENU" &&@ \}@D:*.* 6,6." 6 @0i6-%@(6.7@<@,A67@ ]}<@ ,..i67@<@,.7@<@,3 6.|67B:,%@,.367B:,%@,.G67@< ^}@,.(--@B:,:7<,4 G67<,..] 6.=:, @D67@<@,.7@<@,]6 _}7@<@,.0$@(''7@<@,4FREE@- @ 2() <@ `}F''7@<@,4FREE@K @ P(7@<@,)|U @0W'!-@6+'@,% a}@' |Z++(#| |[ ( |  |\++(# b}d**(" Select HELP.BAS for information.xAR[@@9'-@@#C( FI c}LE NUMBERM A0Q[ BP:,A00"@&6.7@<@,0 AELB6.7+&@,$ d}@%@<+&@,$@%@,L B37@<@,4 36.7@<@,!7@<@ e},4DOS!.0 6.-@B:,07<,4 AH67B:,%@,.7<,   6.! 6.D1:!67B:,% f}@,.?AR@'-@@"?  LOADING ? A@@91@@5% g}? B[-@@"-  CANNOT RUN 7 @LF:A,"@![% D:HELP.BAS B A0 h}D1:MENU.XLAPNB0A6@ ((<(d"(@"D +26-?:C: 0100 ;D1:CHARLIE.M650110 ;0120 .TITLE "Charlie 103186"0130 ; (c)1987 Antic Publishing0140 ; Written by Patrick Bass }|LINEA ;A ,;@,; (}@;@@ D:DOC.TXTk} A(@2vB:,!@-7@<@,4XXX0(3(E-@@"Y(ӠΠf@l}l(}v @@<( @@dj@ B*-@@"R("ΠҠՠҠˠҠ_@m}j%D:MENU D:HELP.BAS ;A ,;@,; (}@;@@ D:DOC.TXT% WELCOME TO THE ANTIC MONTHLY DISK Most of the pro}ograms on this disk arewritten in Atari BASIC. Some requirespecial hardware or specific instruc-tions. Please read the corp}respondingissue of ANTIC for completeIf you wish to order a back issue,or need subscription information,call us at (415) q}957-0886. For creditcard orders, dial (800) 227-1617, Ex.133. In California, call(800) 722-3545, Ex. 133XXX *** BONUS r}FILES * BONUS FILES ***Whenever there is sufficient room,we will be including TYPO II andLINKLINE on the monthly disks.s}TYPO II is in LISTed form, and must be ENTERed before using.It will not RUN from the menu.Please see the HELP files on tht}eback of this disk for LINKLINEinstructions.XXX *** ANOTHER BONUS FILE ***We've also included CharlesJackson'u}s RAPID GRAPHICS CONVERTERprogram to help you convert yourpicture files from one file formatto another. See the 130XE SLIDv}ESHOW article for more information.XXXThe menu that appeared on the screenwhen you booted the disk will onlyRUNw} programs with a .BAS extender.If you try to run a program and theresponse is 'cannot run Filename',check the file extendex}r with thislist:XXX.BAS BASIC saved program, use menu RUN or LOAD and RUN..LST BASIC listed program, ENTER y} then RUN..EXE Assembly language 'Load and Go' file. Remove BASIC, boot DOS, type L then enter the z} filename..ASM Assembly language source code (Atari Assembler Editor) Must be compiled..M65 "SAVEd" MAC{}/65 assembly language source code. Must be compiled.XXX.OBJ Machine language object file. Same as|} .EXE but not 'Load and Go'. See corresponding article..SYS Reserved for DOS system files..TXT Text file. Usuall}}y accessed by another program..ACT ACTION! language source code. Must be compiled..LGO A Logo program. R~}equires the Logo cartridge.XXXAll programs from ANTIC issues datedprior to August 1984 were reproducedfrom ANTIC}'s Archive. We've updatedthem from our HELP columns andmost are compatible with the XL andXE machines. We have worked to }EF&&BRINOUTMPMIAIMAAADHADLFLSRDESFCOUNMAINJNCNNT} V4}8K8P?@     Y`  Y0 l `8''xXL( LinkLine/80}0V.041486 (C)1986 Antic Publishing Written by Patrick Bass Receiving Working Transmitting READY>}(|)PBJKL(E:D(E VP B D'EWHI V &B JKL)R1:D(E V $}B JKL()R1:$D)E VP BD'E HI V G,P BlD'E HI V ,L5)D1:)*~):)):"`}BJKzD)E V 0#`BJK}D)E V0`P BD'EHI V`08~):}H):A`BJKzD)E VAP BD'EHI VL*`BJK}D)E V0A*+(` B}D(EHI Vii8` B JKL*R1:D*E V (BJKL+R1:D+E V}0((( BD(EHI V( BD(EHI Vii8++}( BD(EHI V B V`G,B- B JKL_,R1:[D,E V (BJKL,R1:D,E V}+ BD'EHI V ,+'+ ΢ B V`' P BD'EHI V`+LL-SL- `}+})0 )0 b-` B VPC->. BvD'EHI V *``BD'EHI V0$'}iiiiLb-`+}) - *` B V0`0P B`D'E HI} V B JKL!.R1:D.E V (BJK?./LF.R1:BD.E V BD'EHI V䭜'ۢ B}םD-EHI V B؝D-EHI V BD'EHI V'iiii8--}--- -Ш B V`'     Y`  Y0 l `8''xXL( LinkLine/80!32000 REM TYPO II BY ANDY BARTON32010 REM VER. 1.0 FOR ANTIC MAGAZINE32020 CLR :DIM LINE$(120):CLOSE #2:CLOSE #332030 OPEN} #2,4,0,"E":OPEN #3,5,0,"E"32040 ? "}":POSITION 11,1:? "Ϡɠ"32050 TRAP 32040:POSITION 2,3:? "Type in a program line"3}2060 POSITION 1,4:? " ":INPUT #2;LINE$:IF LINE$="" THEN POSITION 2,4:LIST B:GOTO 3206032070 IF LINE$(1,1)="*" THEN B=VAL(LIN}E$(2,LEN(LINE$))):POSITION 2,4:LIST B:GOTO 3206032080 POSITION 2,10:? "CONT"32090 B=VAL(LINE$):POSITION 1,3:? " ";32100 PO}KE 842,13:STOP 32110 POKE 842,1232120 ? "}":POSITION 11,1:? "Ϡɠ":POSITION 2,15:LIST B32130 C=0:ANS=C32140 POSITION} 2,16:INPUT #3;LINE$:IF LINE$="" THEN ? "LINE ";B;" DELETED":GOTO 3205032150 FOR D=1 TO LEN(LINE$):C=C+1:ANS=ANS+(C*ASC(LINE}$(D,D))):NEXT D32160 CODE=INT(ANS/676)32170 CODE=ANS-(CODE*676)32180 HCODE=INT(CODE/26)32190 LCODE=CODE-(HCODE*26)+65322}00 HCODE=HCODE+6532210 POSITION 0,16:? CHR$(HCODE);CHR$(LCODE)32220 POSITION 2,13:? "If CODE does not match press Π }and edit line above.":GOTO 3205032010 REM VER. 1.0 FOR ANTIC MAGAZINE32020 CLR :DIM LINE$(120):CLOSE #2:CLOSE #332030 OPEN!0150 .IF PASS=00160 .INCLUDE #D1:SYSEQU.M650170 .INCLUDE #D1:IOMAC.LIB0180 .ENDIF 0190 PASS = 102 }00 TOTALCODE = ENDCODE-STARTCODE0210 .OPT NO LIST0220 .OPT NO MLIST0230 .PAGE 0240 .INCLUDE #D1:CHAA.M65 }0250 .OPT LIST0260 ENDCODE0270 *= $02E00280 .WORD STARTCODE0290 .OPT NO LIST0300 .END atrick Bass q0100 ;D1:CHAA.M650110 ;(c)1987 Antic Publishing0120 ;Written by Patrick Bass0130 ;Included from D:CHARLIE.M650140 ;0150 $};Load address into pointer.0160 ;Example: LEA.W LABEL,POINTER0170 ;0180 .MACRO LEA.W 0190 LDA # <%10200 LD$}Y # >%10210 STA %20220 STY %2+10230 .ENDM 0240 ;0250 ;Move a single byte in memory.0260 ;Example: MOVE.B $}SOURCE,DEST0270 ;0280 .MACRO MOVE.B 0290 LDA %10300 STA %20310 .ENDM 0320 ;0330 ;Move a single word in$} memory.0340 ;Example: MOVE.W SOURCE,DEST0350 ;0360 .MACRO MOVE.W 0370 MOVE.B %1,%20380 MOVE.B %1+1,%2$}+10390 .ENDM 0400 ;0410 ;Add a WORD value to a pointer0420 ;Example: ADD.W 5,AMOUNT0430 ;0440 .MACRO ADD.W 0$}450 CLC 0460 LDA # <%10470 ADC %20480 STA %20490 LDA # >%10500 ADC %2+10510 STA %2+10520 $} .ENDM 0530 ;0540 ;Fix Proper master pointers.0550 ;Ex: FIX BASE,OFFSET,POINTER0560 ;0570 .MACRO FIX 0580 L$}DY #40590 CLC 0600 LDA (%1),Y0610 ADC # <%20620 STA %30630 INY 0640 LDA (%1),Y0650 ADC # >$}%20660 STA %3+10670 .ENDM 0680 ;0690 ;-------------------------------0700 ; Constants0710 ;0720 CTRL.SHIFT.ESC$}APE = $80+$40+$1C0730 POINTER.A = $DA ;Over here!0740 POINTER.B = $DC ;Over there!0750 P.A = POINTER.A0760 P.B = POIN$}TER.B0770 ;0780 STARTCODE = $2400 ;Gonzo0790 SDLSTL = $0230 ;Dlist shadow0800 VKEYBD = $0208 ;Vec: Keyboard0810 MEMLO $}= $02E7 ;Down in Dixie0820 WARMST = $08 ;Sugar Bear0830 BASIC.WARM.START = $A0000840 KBCODE = $D209 ;Whatz pressed?$}0850 OPTION.BYTE = $FFF1 ;Whos there?0860 XL.XE.SERIES = 2 ;Type of type0870 STOPLN = $BA ;Where stopped.0880 ERRSAVE =$} 195 ;Last err known0890 LBUFF = $0580 ;BASIC buildnum0900 INBUFF = $F3 ;Here too0910 CIX = $F2 ;Character in$}dex0920 FR0 = $D4 ;Float zero0930 IFP = $D9AA ;Integer->Float0940 FASC = $D8E6 ;Float->ATASCII0950 ;0960 WI$}NDOW.FLAG = $0400 ;Window on?0970 ;0980 ; Offsets for printable lines.0990 WINDOW.OFFSET = [40*2]+41000 REPORT.OFFSET = [$}40*5]+61010 ERROR.OFFSET = [40*7]+141020 LINE.OFFSET = [40*8]+141030 ;...and contractions.1040 W.O = WINDOW.OFFSET1050$} R.O = REPORT.OFFSET1060 E.O = ERROR.OFFSET1070 L.O = LINE.OFFSET1080 ;1090 ;---------------------------1100 ;So t$}he program code starts1110 ; right here, and jumps.1120 *= STARTCODE1130 JMP SETUP1140 ;1150 ;- - - - - - - - -$} - - - - -1160 ACCESSORY1170 ;Save current acc.1180 ;Was key press CTRL-ALT-ESC?1190 ;Branch over if it was...1200 P$}HA 1210 LDA KBCODE1220 CMP #CTRL.SHIFT.ESCAPE1230 BEQ SETSTART1240 ;1250 ;Else not right char, is1260 ; win$}dow currently up?1270 ;Branch out if not... else erase1280 LDA WINDOW.FLAG1290 BEQ SETX1300 ;1310 SETSTART1320 $};Toggle window-on flag.1330 LDA WINDOW.FLAG1340 EOR #11350 STA WINDOW.FLAG1360 ;1370 ;Stack rest of register$}s.1380 TYA 1390 PHA 1400 TXA 1410 PHA 1420 ;1430 ;Is window coming up?1440 ;Branch if not...1450 $}LDA WINDOW.FLAG1460 BEQ SETOFF1470 ;1480 ;Else open, work the window.1490 JSR OPEN.WINDOW1500 JSR WORK.WINDO$}W1510 JMP SETX11520 SETOFF1530 JSR CLOSE.WINDOW1540 SETX11550 PLA 1560 TAX 1570 PLA 1580 TAY $}1590 SETX1600 ;Folks, I know all about1610 ;indirect jumps. MAC65 would1620 ; not let me grab the old1630 ;VKEYBD vecto$}r. Don't know why.1640 ;1650 LDA OPTION.BYTE1660 CMP #XL.XE.SERIES1670 BNE MAYBE.THE.1200XL1680 ;1690 P$}LA 1700 JMP $FC191710 ;1720 MAYBE.THE.1200XL1730 CMP #11740 BNE ITS.AN.8001750 ;1760 PLA 1770 JMP$} $FC0C1780 ;1790 ITS.AN.8001800 PLA 1810 JMP $FFBE1820 ;1830 ;-----------------1840 W.SCREEN1850 .WORD 0 $} ;Window1860 R.SCREEN1870 .WORD 0 ;Report Line1880 E.SCREEN1890 .WORD 0 ;Error Line1900 L.SCREEN1910$} .WORD 0 ;Line Line1920 C.MESS1930 .BYTE " CHARLIE!"1940 .BYTE " is active.",01950 C.SCREEN1960 $} .WORD 0 ;CHAS Line1970 ;1980 ;- - - - - - - - - - - - -1990 SETUP2000 ;Don't listen to anybody.2010 ;Make sure wind$}ow is down...2020 ;...and we print normal text.2030 ; Point MEMLO at $3000.2040 ;Build new pointers into window2050 ;Tell$} 'em CHARLIEs active.2060 ;Replace Keyboard Vector2070 ;Start listening again...2080 ;...and initialize BASIC.2090 ;2100$} SEI 2110 LDA #02120 STA WINDOW.FLAG2130 STA REVERSE.FLAG2140 LEA.W $3000,MEMLO2150 ;2160 MO$}VE.W SDLSTL,POINTER.A2170 FIX P.A,W.O,W.SCREEN2180 FIX P.A,R.O,R.SCREEN2190 FIX P.A,E.O,E.SCREEN2200 $} FIX P.A,L.O,L.SCREEN2210 FIX P.A,5,C.SCREEN2220 ;2230 LEA.W C.MESS,POINTER.A2240 MOVE.W C.SCREEN,P$}OINTER.B2250 JSR WIND.LINE.OUT2260 ;2270 LEA.W ACCESSORY,VKEYBD2280 LDA #02290 STA WARMST2300 CLI$} 2310 JMP BASIC.WARM.START2320 ;2330 ;- - - - - - - - - - - - -2340 .WORD 0,0,02350 WINDOW2360 .BYTE "$}"2370 WIND.W = *-WINDOW2380 .BYTE "š"2390 .BYTE ""2400 $}.BYTE ""2410 .BYTE ""2420 .BYTE "򠣺 "2430 .BYTE "$}庠 "2440 .BYTE ""2450 .BYTE " "2460 .BYTE "$}"2470 WIND.H = [*-WINDOW-1]/WIND.W2480 .WORD 02490 W.BUFF2500 *= *+[*-WINDOW]2510 .WORD 02520 ;2530 $};--------------------------2540 OPEN.WINDOW2550 JSR INIT.OPEN ;Set pointers2560 ;2570 LDX #WIND.H2580 OW12590 $} LDY #02600 O1FROM2610 LDA $1234,Y ;Copy the screen2620 STA $1234,Y ;to buffer.2630 ;2640 LDA $1234,Y ;Cop$}y the window2650 JSR ADJUST ;in screen code2660 STA $1234,Y ;to the screen.2670 ;2680 INY 2690 CPY #WIN$}D.W2700 BCC O1FROM2710 ;2720 ADD.W 40,O1FROM+12730 ADD.W WIND.W,O1FROM+42740 ADD.W WIND.W,O1FROM+7$}2750 ADD.W 40,O1FROM+132760 DEX 2770 BPL OW12780 ;2790 RTS 2800 ;2810 ;- - - - - - - - - - - - - -2$}820 INIT.OPEN2830 MOVE.W W.SCREEN,O1FROM+12840 LEA.W W.BUFF,O1FROM+42850 ;2860 LEA.W WINDOW,O1FROM+728$}70 MOVE.W W.SCREEN,O1FROM+132880 ;2890 RTS 2900 ;2910 ;----------------------------2920 CLOSE.WINDOW2930 $}JSR INIT.CLOSE2940 ;2950 LDX #WIND.H2960 CW12970 LDY #02980 CFROM2990 LDA $1234,Y :Copy buffer3000 STA$} $1234,Y ;back to screen3010 ;3020 INY 3030 CPY #WIND.W3040 BCC CFROM3050 ;3060 ADD.W WIND.W,CFROM+1$}3070 ADD.W 40,CFROM+43080 DEX 3090 BPL CW13100 ;3110 RTS 3120 ;3130 ;- - - - - - - - - - - - - -3140$} INIT.CLOSE3150 LEA.W W.BUFF,CFROM+13160 MOVE.W W.SCREEN,CFROM+43170 RTS 3180 ;3190 ;-------------------$}---------3200 ADJUST3210 PHA 3220 AND #$803230 STA ADJUST.BIT3240 PLA 3250 AND #$7F3260 ;3270 $} CMP #32 ;less than 32?3280 BCS AJ1 ;Branch if not.3290 ;3300 ADC #64 ;Else add 643310 BCC AJX $} ;and split.3320 AJ13330 CMP #96 ;Is char >=96?3340 BCS AJX ;branch if yes3350 ;3360 SEC ;E$}lse 31>chr<963370 SBC #323380 AJX3390 ORA ADJUST.BIT3400 RTS 3410 ;3420 ADJUST.BIT3430 .BYTE 03440 ;$}3450 ;------------------------3460 FIX.LBUFF3470 LDY #$FF3480 FX13490 INY 3500 LDA (INBUFF),Y3510 BPL F$}X13520 ;3530 AND #$7F3540 STA (INBUFF),Y3550 INY 3560 LDA #03570 STA (INBUFF),Y3580 RTS 3590 $};3600 ;------------------------3610 WORK.WINDOW3620 ;Set to print in reverse...3630 ;...and make FR0/CIX zero.3640 L$}DA #$803650 STA REVERSE.FLAG3660 LEA.W 0,FR03670 MOVE.B FR0,CIX3680 ;3690 ;We print the value in ERRSAVE$}3700 MOVE.B ERRSAVE,FR03710 ;3720 ;Integer to float...3730 ;...Float to ATASCII.3740 ;Place zero on end, print it.$}3750 JSR IFP3760 JSR FASC3770 JSR FIX.LBUFF3780 LEA.W LBUFF,POINTER.A3790 MOVE.W E.SCREEN,POINTE$}R.B3800 JSR WIND.LINE.OUT3810 ;3820 ;Ditto with the value in STOPLN3830 MOVE.W STOPLN,FR03840 LDA #03850 $} STA CIX3860 JSR IFP3870 JSR FASC3880 JSR FIX.LBUFF3890 LEA.W LBUFF,POINTER.A3900 MOVE.W L.SC$}REEN,POINTER.B3910 JSR WIND.LINE.OUT3920 ;3930 ;- - - - - - - - - - - - - - -3940 ;Now, to pick up proper error3950 $};text string, first get error3960 ;number, and compare it against3970 ;each entry in a table of known3980 ;error codes.39$}90 ;4000 LDA ERRSAVE4010 LDX #NUM.ERR.ENTRIES-14020 WW14030 CMP ERROR.TABLE,X ;match?4040 BEQ WW2 ;b$}ranch on match4050 ;4060 DEX ;else next4070 BPL WW1 ;until finis.4080 LDX #43 ;NO MATCH4090 $}WW24100 ;At this point, a match was4110 ;found in the table, and the4120 ;X register contains the number4130 ;of the erro$}r entry.4140 TXA 4150 ASL A ;pointerize it.4160 TAX 4170 ;4180 ;Now pick up the address of the4190 ;c$}oresponding error string and4200 ;place inside POINTER.A4210 ;Then print the string out.4220 LDA ERROR.JUMP,X4230 $} STA POINTER.A4240 LDA ERROR.JUMP+1,X4250 STA POINTER.A+14260 MOVE.W R.SCREEN,POINTER.B4270 JSR WIND.LI$}NE.OUT4280 WWX4290 RTS 4300 ;4310 ;----------------------------4320 WIND.LINE.OUT4330 LDY #04340 WL14350 $}LDA (POINTER.A),Y4360 BEQ WLX4370 ;4380 JSR ADJUST4390 ORA REVERSE.FLAG4400 STA (POINTER.B),Y4410 I$}NY 4420 BNE WL14430 WLX4440 RTS 4450 ;4460 REVERSE.FLAG4470 .BYTE 04480 ;4490 ;--------------------------$}-4500 ;A Table of all known error4510 ;code numbers. Searched top down4520 ;4530 ERROR.TABLE4540 .BYTE 2,3,4,5,6455$}0 .BYTE 7,8,9,10,114560 .BYTE 12,13,14,15,164570 .BYTE 17,18,19,20,214580 ;4590 .BYTE 128,129,130,131,132$}4600 .BYTE 133,134,135,136,1374610 .BYTE 138,139,140,141,1424620 .BYTE 143,144,145,146,1474630 ;4640 .BY$}TE 160,161,162,163,1644650 .BYTE 165,166,167,168,1694660 .BYTE 170,1714670 NUM.ERR.ENTRIES = *-ERROR.TABLE4680 ;$}4690 ;A table of all known error4700 ;message addresses, in the same4710 ;order as the table above.4720 ;4730 ERROR.JUMP$}4740 .WORD E2,E3,E4,E54750 .WORD E6,E7,E8,E94760 .WORD E10,E11,E124770 .WORD E13,E14,E154780 .WORD E1$}6,E17,E184790 .WORD E19,E20,E214800 ;4810 .WORD E128,E129,E1304820 .WORD E131,E132,E1334830 .WORD E134,E$}135,E1364840 .WORD E137,E138,E1394850 .WORD E140,E141,E1424860 .WORD E143,E144,E1454870 .WORD E146,E1474$}880 ;4890 .WORD E160,E161,E1624900 .WORD E163,E164,E1654910 .WORD E166,E167,E1684920 .WORD E169,E170,E171$}4930 ;4940 ;----------------------------4950 ;The error messages themselves.4960 ;4970 E2 .BYTE "OUT OF MEMORY",04980 $}E3 .BYTE "VALUE ERROR",04990 E4 .BYTE "TOO MANY VARIABLES",05000 E5 .BYTE "STRING TOO LONG",05010 E6 .BYTE "END OF DAT$}A",05020 E7 .BYTE "NUMBER TOO LARGE",05030 E8 .BYTE "TYPE MISMATCH",05040 E9 .BYTE "ARRAY DIMENSION",05050 E10 .BYTE "$}ARG STACK OVERFLOW",05060 E11 .BYTE "DIVIDE BY ZERO",05070 E12 .BYTE "LINE NOT FOUND",05080 E13 .BYTE "NEXT WITHOUT FOR",0$}5090 E14 .BYTE "LINE TOO LONG",05100 E15 .BYTE "TARGET DELETED",05110 E16 .BYTE "RETURN TO WHERE?",05120 E17 .BYTE "GARBA$}GE IN CODE",05130 E18 .BYTE "NOT NUMERIC",05140 E19 .BYTE "PROGRAM TOO BIG",05150 E20 .BYTE "BAD CHANNEL #",05160 E21 .BY$}TE "NOT LOAD FORMAT",05170 ;5180 E128 .BYTE "BREAK ABORT",05190 E129 .BYTE "CHANNEL IS OPEN",05200 E130 .BYTE "UNKNOWN DE$}VICE",05210 E131 .BYTE "OUTPUT ONLY",05220 E132 .BYTE "XIO SYNTAX ERROR",05230 E133 .BYTE "CHANNEL NOT OPEN",05240 E134 .$}BYTE "UNKNOWN CHANNEL",05250 E135 .BYTE "INPUT ONLY",05260 E136 .BYTE "END OF FILE",05270 E137 .BYTE "RECORD TRUNCATED",0$}5280 E138 .BYTE "DEVICE TIMEOUT",05290 E139 .BYTE "COMMAND REFUSED",05300 E140 .BYTE "FRAMING ERROR",05310 E141 .BYTE "OUT$} OF RANGE",05320 E142 .BYTE "FRAME OVERRUN",05330 E143 .BYTE "FRAME CHECKSUM",05340 E144 .BYTE "DISK ERROR",05350 E145 .B%}YTE "COMPARE ERROR",05360 E146 .BYTE "NOT IMPLEMENTED",05370 E147 .BYTE "NOT ENOUGH RAM",05380 ;5390 E160 .BYTE "DRIVE NU%}MBER",05400 E161 .BYTE "TOO MANY FILES",05410 E162 .BYTE "DISK FULL",05420 E163 .BYTE "UNKNOWN ERROR",05430 E164 .BYTE "F%}ILE MISMATCH",05440 E165 .BYTE "BAD FILE NAME",05450 E166 .BYTE "POINT ERROR",05460 E167 .BYTE "FILE LOCKED",05470 E168 .%}BYTE "UNKNOWN XIO",05480 E169 .BYTE "DIRECTORY FULL",05490 E170 .BYTE "FILE NOT FOUND",05500 E171 .BYTE "POINT INVALID",0$}$$Ll$H !IHH & 'L-$ 6'hhhLhL hL CHARLIE! is active.xK()}00ڭ1۠iTH$ȱiI$i΍J$ȱiK$i&L$ȱiM$iNN$ȱiO$ij$ȱik$P$ڄۭj$ܭk$)} 9($$% XLš)}򠣺 庠 &' ' 4)}44 '4(m&&m&&m&&m&&m&&m&&(m&&m&&`H$&I$&ڠ%&&%&&H$) }&I$&` n' 44m>'>'m?'?'(mA'A'mB'B'`ڠ%>'?'H$A'I$B'`H)'h) i@`8 ''(`ȱ) })ȩ`K(ԄեԅÅ 'ڄۭL$ܭM$ 9(ԥթ 'ڄۭN$ܭO$ 9(â3L(+ ) }(ڽ(ۭJ$ܭK$ 9(` ' K(` (())%)1)B)P)`)s)))))()) }))))) **&*6*E*Q*b*s**********+ ++++:+G+V+`+n+|+++++++OUT OF MEMORYVALUE ERRORTOO MANY VARIABLESSTRI) }NG TOO LONGEND OF DATANUMBER TOO LARGETYPE MISMATCHARRAY DIMENSIONARG STACK OVERFLOWDIVIDE BY ZEROLINE NOT FOUNDNEXT )}WI)*THOUT FORLINE TOO LONGTARGET DELETEDRETURN TO WHERE?GARBAGE IN CODENOT NUMERICPROGRAM TOO BIGBAD CHANNEL #NOT L)}OAD FORMATBREAK ABORTCHANNEL IS OPENUNKNOWN DEVICEOUTPUT ONLYXIO SYNTAX ERRORCHANNEL NOT OPENUNKNOWN CHANNELINPUT ONL)}YEND OF*+ FILERECORD TRUNCATEDDEVICE TIMEOUTCOMMAND REFUSEDFRAMING ERROROUT OF RANGEFRAME OVERRUNFRAME CHECKSUMDIS)}K ERRORCOMPARE ERRORNOT IMPLEMENTEDNOT ENOUGH RAMDRIVE NUMBERTOO MANY FILESDISK FULLUNKNOWN ERRORFILE MISMATCHBAD FI)}LE NAMEPOINT ++ERRORFILE LOCKEDUNKNOWN XIODIRECTORY FULLFILE NOT FOUNDPOINT INVALID$E! is active.xK((b-}-}-}-}-}-}-}-}-}-}-}-}- }-!}-"}-#}-$}-%}-&}-'}-(}-)}-*}-+}-,}--}-U}DEBUFNWORDTPERIOQMAREXCLASEMWCOUNTOTSYTRISYSENTENCPRNTFLLTTLSAFPERFLAOFFSEATESLASNUMSYFOGFL5/}AFINDVOVOWTESVTESPXIWPSENSYL3SENFOSMOFLESC50} 51} THE SAN FRANCISCO FOGGERBY CHARLES JACKSON52}%%(c) 1987, ANTIC PUBLISHING INC.(06-$F:B2y,"@06-@2&&;@,;@@,;@,<353}6-@F6-@c'6-@336-@YF36-6-'6-36-PS +AA54}D1AADS( The San Francisco FoggerZ""( by Charles Jacksond9 A-@@ 5(55}File to process9ncB:,!@c7@<@,4D*+7@<@,4:)7@<@,4:,A0x"56} 6.6.D1:"67@,.L-@@/(Hard copy (Y/N) Y3L(+4Y)4N,A0!6-+4Y,!57}AR@S@+@@=-@@ S(Processing  )@ A 58}6->@w(,@A>B7tA A`+,A  6.6-@ A59}(+,A`67<,.>:,6-%@ )@ A 6- A`+,A / +,5:}67<,.>:,%6-%@/ A0B2y@(26-%@6-B:,$ A ,6-%26-"5;}&!@6-%@, A`6@ " A0JSS(++"@F*"@,)+"@3)"@c)"@Y5<},*B:,!@,A`T6-%@ Ap^h66-%@#B2y@',(6(@r A`5=}|IS (LTTR) A VOWEL?OO6-+"@e,)+"@i,)+"@s,)+"@y,)+"@,)+"@, 6- $5>}P6- -@B:,.6-@:7<,,8 AD"@P6-@  6-$856-++@e*5?}@,)+@H*@W,,8$>>POP EVERYTHING INTO UPPER-CASE AND CHECK FOR ! . ? AND ;""6-?:C:hhhA)5@}ԩ`,<,:76-+"@F,)+"@3,)+"@c,)+"@Y,:$6-6- B,6-@5A},67%@<%@,. &"A0!6-@:7<,, A!6-:+!6-@:7%@<%@,,+ A5B}D)+"@*",)6-%@N6-%@ APX/!@6-@:7<,,' A/6-%bl5C}"6-@v @AM!6-@:7&@<&@,,+ AM(+"*7<,4E,A`5D}86-&@.7&@<&@,4L8 A +!6-@:7&@<&@,,+ AC9"*+7&@5E}<,4ED)7&@<,4ES,C A` AIO, YI/IA RULE  ($ LE_RULE4!6-@:7&@<&5F}@,,*6.>:,4 A!!"@) @AP((+4L)4R)4S,(6-%@$7<,0S5G}A 6.7&@<&@, 226-&+(+4C)4G)4H)4S)4X)4Z,, @A  L6.7&@5H}<&@,'6-@:,1 AL6.7&@<&@,*!6-+"*4L,!6-%47<,0DA`>6.5I}7&@<&@,H,(+4D)4T,"6-&@, A`R6-@\+!6-@:7&@<&@,,+ A5J}f**6-%+"*7&@<,4LED,p$z6-@$6.7<%@,$"A(+4IO,A '5K}"@6-%@' A-!6-@:7&@<&@,,-6-XX(+"@q)+!@u* @y,)"@5L})"@)"@)"@,A p>:,0L6-@;!@-7&@<&@,4LL;6-&@5M}"6-%@!4IA)4YI!6-%@6-%@ A $"6-@5N}"6-@ 6-' 6-'6-+%,$?@%>P$6-P:$A,'A.6-M:@0$5O},%@86-P:$A,'AB556-A&++$@P,%+?`$+A$,',,L6-P:$A,'AV5P} 6-`!A6-Aj4-@@ (--@@1(4(t3(( Fog =/-+@'5Q}&B:=:,,,@3(~4(( Smog =0-+@'&B:=:,,,@ 4(6(( Flesch =2-+@'&B:=:,,,@5R}6(=( (( Word Count =9-+@'&B:=:,,,@=(D(( Sentence Count =:-+@'&B:=:,,,@5S}>(A(D( B(+,A0* 3The San Francisco Fogger#3'3*313Fog = 3Smog = .3 Flesch = 5T}13K3 Word Count = /3Sentence Count = H3*------------------*K3AR D:FOG.RENYFOGFL4v-V}-W}-X}-Y}-Z}-[}-\}-]}-^}-_}-`}-a}-b}-c}-d},}yz$;DAYMDYAFILELINEPPHOLDFNSCRJJLLSCREEINYXBUTTOHLYYNHNLDLOODIIIAPMBASDINAf}DEXINDEX@ Ag}Aq}y?b'DOS SYSb*+DUP SYSbUAUTORUN SYSbWMENU bjHELP BASbnDOC TXTbLINKLINEEXEb TYPOII LSTbiCHARLIE M65bgCHAA M65bCHARLIE EXE+NULL CONSOLE M65b'.FOGGER BASUJSTICK LST YJSTICK M65b:eNEWOWN11BASb)QUATRO BASbIREBOKIT BASbSLIDES BASb +SWITCH BASbNCONVERT BAS !"#$%&'()*+THE NEWAr} OWNERS COLUMNBY DAVID PLOTKIN%%(c) 1987, ANTIC PUBLISHING INC."AF:A@,"+ ;@!,As};@@,;@$,;@,;@,9@%,;@@,;AW,;@,;AE,;@%,;@@, "" At}>:A%,INITIALIZING...f-6-F:@,%AV$F:@,%@@A-@@#J68,-X6-%@@\ f AAu}1 AcMAIN MENU SCREENd} A+)AY@b;B2w@U0@Av}_ Bq@}6-nO    **Π** -6.>:@,<67@@,.K67@,.O x0, Aw}$ SELECT YOUR CHOICE (PRESS A LETTER)0 ]   EW MONTH EDIT6  LD MONTH EDITI  AVE DATA]  Ax}LEAR DATAr  RASE MONTH (DISK)1AdAU<@\@@K:i)@r6.>:,Ay}$4NA $GET NEW SCREEN%4OA"%EDIT OLD SCREEN'4SA$'SAVE CURRENT DATAb 4C#6Az}7@,.>:,;67AE,.>:,J67@,.bCLEAR THE DATA STRING-4EA(-DELETE A FILE FROM A{}DISK >:A%, AWSCREEN EDITOR ROUTINEX A@8@@K:J@A|}\ARn-@@v AdAUb3F:Ad,"AU" Ap3NO KEY PRESSEDg)A}}@l?#"A%)"AV)"AW5AdAU? Apv!6-F:@,!6-F:@,{"@96A~}-@1^R+ @*+&@,'@"P:+&@,'@,,*+ @()!@1,^6-@1I=+"@*"@(A},)+"@"*+"@))"AU,,I6-@1 >:, A:6-F:B2y,:@*@*@AA}$WRITE DATA TO DISKt@+@@8*@P*@P:'AV,t*@A}&+P:'AV,,$AV(6-@6-@H(4400 BYTES7AP@!AV-AW7 A A}READ DATA FROM DISK b@+@@8)@E)@R)@b6-$AV%*9A}AP@'AVAU9AWAU4*6-P:C:,'AV,*6-C:,&$AV>BARAS76-?A}:C:hhhLV,<@,B@H$DISK DIRECTORYz@.@@K:F >:A%,DRIVA}E #S)@`6.D1:*.*z67@<@,.>:,2@ >:,2@@]-@@dA}$@36.7@,]7@<@,4 FREE SECTOA PH'@"P:'@,:-@+%@,'A}@>(H A @%!-@+%@,'@%( $INITIALIZING STRINGS6.SATSUNMONTUEWEDTHUA}FRI..6.$JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC""6.312831303130313130313031B67@,.>:,367AE,.>A}:,B67@,.5 #AP!-@@%%"167,.>:,5 CC104,104,133,204,104,133,203,104,133,207,10A}4,133,206,160,0,177$((206,145,203,200,192,220,208,247,96.226.(----------------------------------------8$GET A}MONTHX(( INPUT DATE: MONTH,YEAR (XX,XXXX).:6-@X!@) @A + @6-%@+6A}-&@YY6-@$%P:?`$+%@,,%%P:'@,&P:'A,%P:'A,%@936-P:+'@&P:'A}@,,$@%?,96- APEDIT OLD MONTHs (DISK DIRECTORY? (Y OR N)2AdAU=@A}]@@K:j)@s6.>:,4Y)4y A 2(WHAT FILE TO EDIT# A@2GET FA}ILENAME4A# A#READ DATA FROM DISK A _ SAVE CURRENT DATA` J 6.D:867@,.7A}$@&@<$@,J67@,.=:,j At A DELETE A FILE s (DISK DIRECTORY? (Y OR N)2A}AdAU=@]@@K:j)@s6.>:, 4Y)4y A  e(WHAT FILE A}TO DELETE?(*@F(ENTER FILENAME OR PRESS[(RETURN TO ABORTe A@ 4A 2(@3@A}2 A PRINT CURRENT SCREEN e AAR@& 1@Q@@A}P:e-@@" L-@@@;67,.7F:8,%&@,%@,? L(@ )'@"P:'A}@,)(@ ? -@@&(@* 5@? A ??ARRAY TO CHANGE INTERNAL CHARACTERS A}TO ATASCII CHARACTERS O-AU6-)6-5!A'A6-@O6-&A(& 1 @d'6-%@2A}%A($1 A1@0 1 @'6-&@d%A($1 A1@: 6-%A($D 67%@,.>:,  ((A}INITIALIZE PLAYER/MISSILE GRAPHICS 46-F:A,&@&BBy46-$AV 9-B2VB2Y#@' A}9B2`AU s@2@F:A,&@?(>:A%,I+s6-F:@,%AV$F:@,A}%@@ U#-%A%A @?-A$AVM%AUQ U  ]-AA#A}' 9AY@bKB2w@]A#@ 2 #A2`!-B2HB2U%"+/ 2$ ##48,80,11A}2,144,176,184,192,200HANDLE FILENAMES4$--@B:,!7<,4:$'*6.-$" 6.D:6A}7@,."$88PUT WEEKS ON SCREEN, GET AND SAVE STRINGS OF DATA.<AR@"(>:A%,<0@@@A}+!@6-&@+6-%@))6-A:7$@&@<$@,,f"@X+'@"P:'@A},*'AP:'A,,)'A"P:'A,f6-%@% Ap%RECOVER STRING SCREEN3-@@A}3-$@&@J%$@!/-$@&@=(Ӿ@'J AS@``(7$@%@A}<$@%@, 7$@&@<$@, %$@6-%@"@6- A}B-@#B(' Խ Խ ν% A%SCREEN EDITOR ROUTINE\"@ A`A}'6-%@3"@?6-E6-\PUT SCREEN IN STRING"@AP"<"@ A`# AA}<SAVE STRING, GOTO MENU,3 A0 ASP3BUTTON IS 5, PRINT SCREENo!!PUT SCREEN DATA INTO STRINGp`ARA}@(0-@P6-A$%$A %@`6-%$A z6-?:C:,:A%,E}'(>:A%,;%@O%@c%@Ae%@A4+%@AD?%@E}A0S%@Ae@wg A$6-8,$@P( BLACK: 7&@<, WHITE}E: g6-8@,$@M(7&@<,?(&ADJUST WITH JOYSTICK: TRIGGER TO STARTM(>:@),/%@&E}/%%@AdA6-R:,!6-F:B2y,A(T:,)"@A0>#"@)"@)"@E}- A46-(> A] @)"@"6-8,06-%@J6-&@$+"@,S68,-] A` E} Ae%%@2(>:@),>:AV,F-@@U68,-@Y e6-@S%@E}A@+%@?%@A5S%@Ax[6-F:B7p,!A'.-@ B-E}@S68<,-W [ H((>:@(, A*"@I>( A TIE GAME!!!H A@S%@%E}AdS(. 7@3%@$<@7%@$, TURN.G6-8,&@ 6-G8,APAAE}A`"g 6-8,68,-&@)@&Q-$@ &@$@ &@g,$@&@,6/$@E}&@ #6-668<,-%@6;-@! A`- @1 ; A0@\-@@E}%(>:@0,) 6(WINS!!!B6-H6-R@\ AJ8%@% 6-(.6-%@8 A`E}T/%6-P:@$H:@,,%@,8,/$^B2y@ A@h6-@6-rZ48%$8<E},<%$8<@,,"%@B6-%@P6-%@Z Ap|6-6@Z48%$8<,<%$8<@E},,"%@B6-&@P6-%@Z A$!6-%@!(8,A<6-%$@&@$6-F:,E}06-@<6-@T6-%@"@+AU$A%@AU$M6-T6-(9F:B2y,"E}@'!/%@9 A@7@w6-R:,7T:,*"@A0H %@'6-+E}"@,=6-$@&@E(T:,H$H 6-&6-%@$+(,86-&@$+"@,H(8,Ap A E}C -@6@<2A!@@ C$EA@$(5-6@@@E6E}-+"@,N6-%$8<,-6-%$8<@,@8<,%@D N A@c 6-%3-$@ &@E}$@ &@I,$@&@_/$@&@c  A AT@w5T:,*F:E}B2y,"@JAF:@ ,T A@&AA A@0>6-$6-6@#@*6-> E}@AP:H AB2y%6-36-%@?"@E6-H$D 6-8,6-(ApNCE}-@! A`)6-%5"@C6-%@ X!@6-$bN 6-("-@, A`E}46-%@"@N6-%@l!@6-%v, 6-(,"@) @A`T6-&@%E}-@/ A`I6-&A$+!@,M T6-(F-@! A`;6-&A0$+!@,? E}F6-( !6-6- ApF:B2y,!@$' ' A@aTHE UNIVERSAL DLI:0u/ #B@E}!-A6Ah%"+/ :uu "6-96-F:A`,%F:Aa,$AV%@EA@Q6-cAE}@uA@Du`6-%@"%F:A,+6-F:,7"@eKAV@3%]BBA`$NuE}n6-&A($+!A',+%A(<%F:A,J6-%@d6-%@$+!@d,n B Xu??33,72,138,72E},174,0,6,189,0,6,141,10,212,141,24,208,141,26buCC208,224,152,208,2,162,32,232,142,0,6,104,170,104,64,1550,1553 D1:QUE}ATRO.BASnADBPHPDCCSEB@@@@ D ABz@$V$BROOXIOOBGGDTXTXTYTYNMMDSNI}@ @ I} !"#$I}%&REBOUND SCREENMAKERBY J.D. CASTEN (c) 1987, ANTIC PUBLISHING06-@$F:B2y,"@I}06- Ad-@3-@IAV%$@O6-U6-d6-F:A2I},o6-%8,z6-%8,6-@n' )!@'6-@&o' )!@"'6-@"&p6-I}%@$+),xW@@#126-F:AD,C(*"@2*GM,W A} (*@2I}, F:Ad,AUA&6-F:B2y,"@" & ] 6-'6-%+"@,&+"@,9@wI}O )!@]6-@&)"@6-@&) A%UAx@H%$@-1@#I}1E-@@I U6- A])@6-""A%1(@}=6-I6-I}U A%Y ] !!!@2* @8AC"@)"@96-@%@$+"@,C AI}"@6-?:B,''6-+@2*!*A&,3 -(@>:&,)6-%@3 A,VI} AP#Ah%",(@56-F:,F6-P:'@,V6-&$@1G6-F:A2,6-#6-&8,9 I})!@G6-@&28 6-6-%8,* )!@86-@&3(%$@(F:AD,AI}4 A` A^-@@#5(@ GAAEYAxk@@"I}}-@@#$h=AAD1Ax@H%$@= A% AAY@bKAI}A 'A36-Ab?6-@K6- AN6-6.D:*@<-I}@'@NAdAUzA'A@d4)@J"A&*!@X6-&@i6I}.7@<,p(~z A7"A&*6-&6.D:-(~7 A$"AU!@@$$!I}!"@)"A&A!! @F)!@AA6-%@/67%@<%@,.>:,7(>:,A AI}X8-@@#5(@$Z[\]^_8$Y8-@@#5(@,- ./ #%8$V A I} AP,(@ NAME:6 AB"L A`V A&7@<@,4C:&6.C:C 6."I}7@<@,0D+6.D:C67@,.7@,r"@ AP.(@SCRN#:8 AB AT6I}-A:7@,,r!AA) @A8 AP"@8(@LOADING SCREEN...-"@-(@I}SAVING SCREEN...C A @/@C"@AP-@"@I}6-@9@:7,,@4#6-%@9 A&&+!@,2-2(@7%@<%@ ,-I} @ AI-6.7@,T AI;@:7@,, @H)@:7@,,!@WJ6.7@,T A6I}s-@@##A%'"1 Ap7; O-@@Y Ap] c6-m Aps6-"@I} A`" A6-$@P%A&6-6@26->6-J6-V6-(@ I}J.D. Casten'sLoading 7@, for:-@" 6.=:,M67@,. ? #6;/0123456789012345678I}9/;m67@<@,.>:@4,67@2<@2,.>:@4,Q-@1+@7@CI}"A1Q6-%@/# *!@&* @1)6-/6-%!@&* @16-%6-D!67%@:,% 2(@@6-%@D nn(@RET.:D.F:A,,F:A,,F:A,,F:I}A,,F:A,,%,/$(@%,,,/@ A` AQ-@B:,I}!7<,4,=6-A:7@<&@,,N6.7%@,Q$ 6-A:,$ +@@d+B7t@d!I}$ AP.(@ERROR -F:A,K-@6?g2@%@k u A`I}@ AeAF:A@,/6-F:A,&@CA&@M+@W Ae6-%@0(I}@0(@BoD sEe Ak$$(@ ItLiNg.##@@K:=%6-F:@I},%AV$F:@,=;A,;A,X&;@V,9@,9@,0#AD-@@VH"T67I},.>:,X $AVG6-?:C:,<$AV<$AV%@<A5,[-@6-?:C:,<Bxr<$I}AV%$A%@<A, K #ALQ-@+-@@G/"I$AV%$A%MI} Q QQ-@HA'"/-@I$AV%%$AM Q R #A!-@ %"I}9-@6-?:C:,<BsD%$@<$AV%$A%A(%$@<@,  V= #A!-@I}@'"068,-968,-= `S #A!-A6A%"+/ AA@SA@bI}c #AX!-@G%"9-@[$AV%$A%%Ad_ c cEE6-?:C:,<$AV%A I}<+%@,$AV%A<@,eJ #A!-@@'"7A6%%; J6-?:A6,jK-I}@76-$AV%$A%AdK-@o<%&AVF:+@&,$A%$AV%@%,J}w%$@%F:$AV%+@&,$A%@2%,{  x +@ A)AY@(;A@J}MAA0aBBy%@sB2w@BB@dy9%6-F:A`,%AV$F:Aa,9%@J}A;-@@'%%A4) ;BBA9A@R'AAf9A @J}m @26-@+A#@76-CAVO6-@[6-mAWA$ AP J}A&&(@dantmc qd`shnm hs&&(@ $(#CHARACTER DATA)#%%126,195,12J}9,129,129,129,195,126*#%%254,223,175,215,235,245,251,127+#$$60,120,124,214,255,135,195,126,#%%126,255,219,255,231,195,2J}31,126-# 6,15,11,153,153,208,240,96.#%%126,195,129,153,153,129,195,126/#%%254,187,221,175,215,235,245,1270#$$60,120,J}124,214,255,199,255,1261#%%126,239,255,251,209,241,251,1262# 14,31,17,24,24,136,248,1123#%%126,195,153,189,189,153,195J},1264#%%254,245,187,221,175,215,235,1275#""60,30,62,107,255,239,255,1266#%%126,251,241,209,251,255,239,1267#28,62,3J }4,56,28,68,124,568#%%126,219,189,231,231,189,219,1269#%%254,235,245,187,221,175,215,127:#""60,30,62,107,255,255,255,126J };#%%126,231,195,231,255,219,255,126<#120,224,192,120,30,3,7,30=#%%126,255,231,195,195,231,255,126>#%%254,215,235,24J }5,187,221,175,127?#""60,30,62,107,255,247,255,126@#%%126,223,143,139,223,255,247,126A#96,192,192,222,123,3,3,6B#%%1J }26,231,195,129,129,195,231,126C#%%254,175,215,235,245,187,221,127D#$$60,120,124,214,255,231,255,126E#%%126,247,255,223,J }139,143,223,126F#0,96,206,219,219,115,6,0G#$$60,120,124,214,255,131,199,126H###120,60,126,86,255,129,195,126I#""60,J}30,62,107,255,193,227,126J###60,120,92,214,255,231,195,126K#""60,30,58,107,255,231,195,126L#0,0,36,60,0,126,60,0M###J}0,254,174,238,162,170,162,254N#%%255,143,175,143,255,255,255,255O#%%255,255,255,255,255,255,255,255P#%%255,129,129,129J},129,129,129,255b#0,8,24,8,8,28,0,0c#0,28,4,28,16,28,0,0d#0,28,4,28,4,28,0,0e#0,20,20,28,4,4,0,0f#0,28,16J},28,4,28,0,0g#0,28,16,28,20,28,0,0#771,1,1,-1,1,0,0,0,-1,1,-1,-1,-1,0,0,0,0,1,0,-1,0,0T$[[104,169,6,162,6,160,10,76,J}92,228,216,165,5,10,10,10,24,105,48,141,2,208,141,3,208,166U$XX7,160,0,152,157,0,158,157,0,159,232,200,192,8,208,244,165,6,J}10,10,10,24,105,32,133V$QQ7,170,160,0,185,56,154,157,0,158,185,88,154,157,0,159,232,200,192,8,208,238W$WW169,136,133,203,J}169,10,133,204,173,244,2,141,9,212,173,196,2,141,22,208,238,194,2X$76,95,228$<<72,216,173,11,212,201,107,176,30,141,10J},212,165,203,24$LL105,240,141,23,208,133,203,165,204,24,105,16,141,25,208,133,204,173,11$RR212,201,108,144,14,141,10,21J}2,169,56,141,2,208,173,244,2,141,9,212,104,64,-1$708,COLOR 1$1610,color $710,Ҡ$1614,򠔛$7J}12,BACKGROUND COLOR%''32,12,60,12,35,13,66,13,63,0,57,0H&##14,35,36,38,39,42,43,50,52,55&bb104,104,133,2,104,133,1,10J}4,133,4,104,133,3,104,133,6,104,133,5,160,0,240,16,177,1,145,3,230&``1,208,2,230,2,230,3,208,2,230,4,198,5,165,5,201,255,2J}08,232,198,6,165,6,201,255,208,224,96D1:REBOKIT.BASTYTYNMMDSNH<NO  F1F2F3F4F5F6F7F8FPORTDMODBANKBANKBANKBANKHNUSCTIMDELAIN} N}d130XE BANK SWITCHING DEMOnBY BILL MARQUARDTx (c) 1987, ANTIC PUBLISHING N}+;@,;@,;@,;@,;@,;@,;@,;@,6.N}D:F16.D:F26.D:F36.D:F46.D:F56.D:F66.D:F76.D:F8;@,+@%@N}6-B@%%6-F:A`,%F:Aa,$AV6-6-6-@6-@6-@N }"A%%,+%@@+%@@d6-@A@%@ J%A@xN!}T%A^%A @h 6.6-@d A@r 6.6-@ A@|AN"}%% 6.6-@d A@ 6.6-@ A@A%% 6.6-@d A@ 6.N#}6-@ A@A%% 6.6-@d A@ 6.6-@ A@A%%N$}%6-Bc6-@d% A06-%A6-@ A0A%% A06-BcN%}6-@d A0&A%%0 A0:6-%AD6-@ A0NA%%X AN&}0b6-Bcl#6-@d A0# ApvSET COLOR REGISTERS""AF:%Av%@,""AN'}F:%Av%@,""A F:%Av%@,""AF:%Av%@,%@%A N(}%@6-A6-Q:,A(6-$@-@ $6-AHFILE LOADERN)} @@%@@%@@ %@%@@ %N*}@ @0*6-?:C:hhhLV,<@,4@>$D1:SWITCHER.BASILY67PORTMODBANKDFILLEBANKBANKBANKNORMSNUSCREER,} 130 XE BANK SWITCHING DEMOBY BILL MARQUARDT (c) 1987, ANTIC PR-}UBLISHINGd +@n AxA%%+%@+%@@d6-@3 A@R.}A%%6-@4 A@A%%6-@5 A@A%%6-@6 AR/}@A%%-@A A%%-@A A%%-@R0}A A%%-@A " A, 6%@P:'AV,@((%@R1}&+F:%@,$AV,JT-A9^ %h r$|6-B@ 6-F:,%%6-F:A`R2},%F:Aa,$AV))6-F:%@,%AV$F:%@,6-Bc6-36-6-@'6-@R3}36-@$ D1:SWITCH.LSTBANKNORMSNUSCREEP- ))RAPID GRAPHICS CONVERTER, LISTING 1BY CHARLES JACKSON (c) 1985, ANTV5}IC PUBLISHING(B@e!6-@6F:B2y,"@B6-2 @<=AR@+@V6}A=B7tAF$Pq +@ @`)AR@;AAMAA_A@(V7}qA @Z@-@@((@RAPID<-@AP@ \C-@@+(@GRAPV8}HICS?-@APC ^D-@@,(@ CONVERTER@-@APD d=(%( By CharlesV9} Jackson9-@AP= i4(*( (c) 1985, Antic Publishing4 @`n<<;@,;@,;Av,;V:}Ay`,;@,x\67@,.#67Ay`,.267@,.86.D6-AHP6.\6-@- 6-C:,V;}6-P:'AV,-6-&$AV'-@A '6-e AP+)A@&;A @V<}E AH(a(Type of SOURCE filee%0@@%6-"@#" A@# APV=}!) AP"((Filename" @`&B:, @ A@& A` A A)AV>}A;A >(\(Type of DESTINATION file`/0@@! @`/6-"@#"V?} A@# A!) A((Filename&B:, @ A@& AP66(+"@V@}*7B:,&@(A(D(o(&Insert destination disk, press Ԡ F:B2y,@AD -@VG}6@,A0 : @`D BWWAA0AA AAAAVH}ApA!%# (} #(DISK DIRECTORY4AB&@@+AB)@4RVI}ESTON=@1@@D:*.*=6-@$$7@<@,0 A !!(VJ} 7@<@,  ( 6-( Ap ( ( (@QAdAU((-( Press any kVK}eyQ(or RETURN for another directory&;#@@K:0)@;@0"AUA@:<VL}AdAU'AB&A9AB)@<$DH @`'(} (1) MicropainterH((2) Micro Illustrator/KoaVM}laN0((3) Fun With Art0((4) Paint (Atari)X/((5) Paint (Reston)/((6) Visualizerbc((7) Moviemaker0(VN}(8) Graphics MasterG((9) Atarigraphicsc((10) Graphics Machinel$v6. (MP TO MI COMPRESSEDVO};7Av<Av,4;67Av<Av,.5l+67@<@,.7Av<Av,S67@<@,.VP}7Av<Av,l67@<@,. 67@<@ ,.W% #A!-@!@(%"67<,.>:,VQ} !!0,0,155,155,155,155,162,255-@@`/6-$A(&@/6-$A'&A&G#67<%A&VR},.7<%A&,G67%A'<%A',.>:AU, ##67Aw<Aw,.>:A,##67Aw ,.7Av!<AvVS},. @@.(@ @$+@+@@ KEEP AN VT}MP FILE*(@@4$>;AB,HLOAD AN MI PICTURER #A\-A6AVf "VU} p zGG162,16,169,1,157,72,3,169,0,157,73,3,32,86,228,48,1,96,104,104,96@@6.6hBDEHIVV}  <OO67@U,.<    ĩOO67A,.:AU,QQ67A),.>`RɥPee`/eeGG67AVY},.4(eeЕee@@2 @@2AYVZ}6-?:C:,,&&67Av<Av,.>:F:A,,D-@@67%Av<%Av,.>:F:A%,,V[}D *@+*AY@4 @`$+@+@@GET A MP/GM FIV\}LE$[%@@%%@3%@G%@@[%@ @0.*6-?:C:hhhLV,<@,V]}*@8$B,6-AH,@@LFWA to MPV- 6-C:,6-P:'AV,-6-&$AV`3V^}%@@%%@3%@j+%@@$+%@ @1t6-?:C:hhhLV,<@,~V_}@++67@<A@,.7Ac<ACB,++67A@<Av,.7ACY<AyX,++67Av<Av,.7@V`}<@,$: 6.67@,.+67Ay`,.:67@,.MP to FWA\\67@<@e,.Ay5Va}pppNP^^67@f<A2,.CVb}N`__67A3<A,.DVc}YY67A<Ab,.>Ahhhh@L_++67Ac<ACB,.7@<A@Vd},++67ACY<AyX,.7A@<Av,67AyY<Ay`,. ++67@<@,.7Av<Av,M Ve}@@?(@7@<Ay`,J@M$MP TO VIS( 6.2l+67@<@,.7Vf}Av<Av,D67@<@,.l67@<@,.7Av<Av,<6-@F-@Af@Vg}PE367<%@9,.7$@@&@9<$@@,A6-%@@E ZM @@?(@7@+@+@@H0"(@7@<Av,-V}@0$ D:CONVERT.BASIMAAADHADLFLSRDESFCOUNMAINJNCNNT insurethat our programs operate aspublished, but we consider all oursoftware listings to be works inprogress which we enc}ourage you topersonalize and enhance.Good luck, and ENJOY! -ANTIC EDgs to be works inprogress which we encV