12. XEC A          . XEC / #/ z 1: 4 13. FIND S       T - T     . K - K  . C   TAB  = - O     . SPACE - S      . . - S       \] ߺ Ay` ~ ~L<| Ϣ $ 1 Lߺ ~ 9դ8*(+)L~ ~  ( AyL}L9|1 y)q ~@)@ H` L<| y+ ҩө c ѩҥ c ( SEL T     '  '    . (+ , - ) R - I . K - I . P - C -. I - I  V *|,ʥʅ+Ʌ* $0L "LJL%)`hh 9|L ߺ  L ॖܢ  P ` } I| } D\ *]"\\e**!+i+]8\*"e ! " L|*We    MLM z 1: 4 7. OFF D   P. OFF z 1: 4   4z $"0 uzLz Gz PiO !ͩ L L `)E   )I  @@ ` I`)? @$$p `L~L Ȅ ܠ:ȱ7ɏ0$ p: $ 0 9媩@ 5"ҥ I ʈ$~)yly022382FACy` ~ ~L<| Ϣ $ 1 Lߺ ~ 9դ8*(+)L~ ~  ( AyL}L9|1 y)q ~@)@ H` L<| y+ ҩө c ѩҥ c (>  - M    BASIC . . .... ( -) z 1: 4 14. CHANGE R          f!JB$!3PY l7%= 1נ\Hȱ\h L'7 l7= LU7L> l7$= 1ש" \ \\ #" ߺ 1\i\]L6B C `в 7L  H" L  )E   )I  @@ ` I (˥i'   BASIC  . F       . .... ( -) z 1: 4 14. CHANGE R            . z 1: 4 11. WHY H        BASIC . WHY z 1: 4 NOT BASIC, START=*** COMMODORE BASIC 4 + BASIC-AID 4 *** HELAUTBREACHANGDELETFLISDUMFINHECRKILLOWEMERGRENUMBEOFPACREASCROLSTARTRACUPPEҾSIZUN-NESPOOtq t sr}v s8}xwFp}a|uxwA~ r}t}xxxx~x]~pMry101981]  INPUT (8032). z 1: 4 10. TRC T  BASIC  . D    . L - L       . N - L     . U+XȄV P./*+\ L| 0 1 L1| LA$4 -ɥL$~_` p, ע`&_``Lx}` r} LߺL~ L-LL` 5yhhL~ ~  Lߺ } I| }hh,  8. RENUMBER R       BASIC  . REN (/  /)(,/ /)(,/ -/) z 1: 4 9. p i 9$ P 9Ѐe LzL~L yLP{ y o  Lߺ (, y$ o C ѐL` ߺ 񪤖' >  ߺ Ay Lߺ y}L7L r} _` ~ I <| *|L y y o Ce  _@ _LeL W-M NOT BASIC, START = POWER-AID 8040, RESTART ATFIHECRTCRTLOMRPAVESTUDDESIUNSYODS}Z}yy}|zX~ ~}i{{{0~<{t~ "?ݥw8x9 p P69x8w0H p |6hw p 6 v,Ж 6 6 6`_0 6 6L 6 6 6 4*+` 6Ɓ 4*+*` q4`2`3_L"`e0`_e1_ 6`wxw`LY*\+]\,]-!ȱ\ # "Ц LL>L2 Ȅ ܠ:ȱ0ɏ)$ p: $ 0 J1媩@ . 4ш$ p i慱 J1$ P J1Їe L8 x XLL>L2 $@ o Cw L. ......  .. ( -) M- . - M  . * - M          .  LDY #( LDA (FNADR),) CMP #'$ ;DIRECTORY) BEQ DODIR ;YE )0); SEND COMMAND TO DIS@)P) JSR LISTEN ;SEND LISTE`) LDA #$60+15 ;SECONDARY ADDRESp) JSR SNDSALST ;SEND SECONDARY ADDRESӀ)BUMP LDA (FNADR),Y ;GET THE FIRST CHARACTEҐ) JSR BASOUT ;SEND  0y4; "POWER-AID.M5A 0@P;TABLE OF MESSAGE`pCHGMSG .BY 2 0 12 'W-M' ;BACKWARDӀNGMSG .BY $0D 'NOT BASIC, START =' ;MESSGE .BY 147 '*** POWER  ;IFE WHICH-$4030;.BY '4030 @;**P;IFE WHICH-$404`;.BY '4040 p;**;IFE WHIC $402 ;OVER RIGHT % JMP WRP ;FIX LINKӐ%&&; READ THE ERROR CHANNE &0&RDERR JSR DEFDS@& JMP RDERRP&RDERR1 JSR DEVIC`&RDERR2 JSR TALp& LDA #$60+15 ;COMMAND CHANNEL S& JSR SNDSATK ;SEND S&WG140 JSR BASIN ;GET BYTE FROM DIS' CMP #$0D ;C/' ;TABLE OF KEYWORD TABLE .BY 'FI' $C0 .BY 'HE' $D@ .BY 'CRT' $CP .BY 'CRT' $C` .BY 'LO' $Dp .BY 'MR' $C .BY 'PA' $C .BY 'VE' $D .BY 'ST' $D .BY 'U' $D  .BY 'D' $C0 .BY 'D' $C@ .BY 'E' $DP .BY 'SI' $D` .BY 'UN' $DpSR INCTMP ;SKIP CHARACTE@" BNE REMP"`"ENRM BIT *TEMP ;FIRST CHARACTERp" BVC RAST ;YEЀ" STA (INDEX1),Y ;COPY LAST " IN# BPL ENLN ;JUM# #RAST JSR INCTMP ;IGNORE WHOLE LIN0# BNE NEWL ;ALWAY@#P#ENLN TYA ;TO NEXT LIN`# TAp# LDY #1 ;POINT TO SNADR FOR RU΀7 JMP RUNC ;RUN PROGRA͐788LDERR JMP LDERR1 ;PRINT "LOAD ERROR 808CHKST LDA *S@8 AND #%10111111 ;CHECK STATUS (EOI OKP8 BNE LDER`8 RTp8DADD ;FIX THE LOAD (-04) RO@6 BNE LOADP6 INC *ENDADD+`6LOAD1 LDA *ENDADD+1 ;SET BASIC'S POI ;CLEAR STATUӀ5 STA *VERCK ;LOAD NOT VERIFِ5 JSR LOADIT ;LOAD A PROGRA6LOAD2 JSR CHKS6 BIT $F180 ;CHECK FOR (-04)) RO 6 BPL LOAD1 ;NOT (-04)..06 INC *ENDADD ;FIX THE LOAD (-04) RO@6 BNE LOADP6 INC *ENDADD+`6LOAD1 LDA *ENDADD+1 ;SET BASIC'S POIE-P .SI LOAD-` .SI EXEC-p .SI SIZE- .SI UNNEW- .SI SPOOL- .SI YOU- .SI DSK- 0WBEGIN .SI COL@WENTRY .SI ENTRP .BY 'VE' $D .BY 'ST' $D .BY 'U' $D  .BY 'D' $C0 .BY 'D' $C@ .BY 'E' $DP .BY 'SI' $D` .BY 'UN' $DpT DONE YEp2 JSR LINPRT ;PRINT LINE NUMBEҀ2 JSR SPACE ;PRINT A SPACŐ2WG400 JSR BASIN ;BASIC I3 BEQ WG243 JSR PRINT ;PRINT A CHAR 3 BNE WG400 ;ALWAY03@3WG240 JSR CRLF ;PRINT A CHARP3 LDY #2 ;DO TWIC`3p3; CHECK FOR STOP KEY AND PAUSŀ33 JSR AGz66:60:2: 9: :. . z3:,-<>- z2:,P I  POWERoQUICK-REFERENCEoINSTRUCTIONS z 1: 4 1. SYS36864 (S9*4096) E  PTHE CHA0 IN0 CPY *FNLE 0 BCC BUMP ;MOR00 JMP UNLSTN ;UN LISTE@0P0`0DODIR LDA #$6p0 STA *S0 JSR CLRCHN ;CLEAR ANY CMDӐ0 JSR OPEN1 ;OPEN FILE, SEND NAM1 JSR TALK ;LISTE1 LDA *S 1 JSR SNDSATK ;SEND SECONDARY ADDRES01 JSR CRL@1 LDA #P1 SH-$804;.BY '8040 ;** ;.BY 'AND POWER-AID 0MESSGE .BY 13 'POWER-AID @P IFE WHICH-$403` .BY '4030, p ** IFE WHICH-$404 .BY '4040,  ** IFE WHICH-$804  .BY '8040, 0 **@P;.BY '***' 13 1` .BY 'RESTART ATp .BY  BEQ WG13 ' JSR PRINT ;PRINT BYTE TO SCREE0' BNE WG140 ;LOOP FOR MOR@'WG130 JSR UNTALK ;UN-TALP' JMP CRLF ;DONE WITH CM`'p';***'WEDGE PHА';***( LDY #( STY *S ( STY *13 ;CLEAR DS & DS0( PL@( BEQ RDERP( CMP #'`( BEQ RDERRp( JSR PARCHˀ(  .BY 'S' $D .BY 'YO' $D .BY 'DS' $C .BY $00 ;END OF TABL ;TABLE OF JUMP ADDRESSES (-10@JMPTBL .SI DLIST-P .SI HEX-` .SI CRTA-p .SI CRTC- .SI LOWER- .SI MERGE- .SI PACK- .SI READ-  .SI START-0 .SI UPPER-@ .SI WEDGTART OLD LINŀ# LDA (INDEX1),ِ# STA *TMP0+$ DE$ LDA (INDEX1), $ STA *TMP0$ CL@$ TXA ;INDEX1=INDEX1+P$ ADC *INDEX`$ STA *INDEXp$ BCC ENLN0$ INC *INDEX1+$ENLN05 JMP NEW%%NUNNEW JMP SYNER %0%;***@%UNNEW BNE NUNNEP%;***`% LDA #p% STA D     BASIC  . DEL / # / z 1: 4 4. DUMP D   BASIC     . DUM NTERp6 STA *ENDBAS+6 LDA *ENDADD ;END ADDRESS HI, THEN LOא6 STA *ENDBA7RUNPG JSR CLR ;FIX POINTER7 JSR FIXLNK ;FIX POINTER 7 BIT *TMP2 ;CHECK FOR LOAD OR RU07 BMI WG300 ;IF YES..@7 JMP READY ;LOAD RETURN TO BASIP7`7p7WG300 JSR STXTPT ;SET Fz 1: 4 5. FIX R BASIC   FIX z 1: 4 6. MLM C   D70E4 CMP #$E4 BNE WG22 404; CLOSE FLOPPY AND RETUR@4P4WG230 JSR CLOSEIEE ;UNTALK & CLOSE IEEE FIL`4CREXIT JMP CRLF ;PRINT A CHARp44; LOAD A FILŐ45LOAD LDX #5 BEQ EXEC1 505EXEC LDX #$8@5EXEC10 STX *TMPP5 JSR PARCH`5 LDA #p5 STA *ST z 1: 4 2. AUTO G        . AUTO (/  #/)(,/  /) z 1: 4 3. DELETE TA *ST ;SET STATUS TO ZER`1 LDY #3 ;LOOP THREE TIMEp1WG220 STY *FNLEN ;SAVE NEW COUNԀ1WG225 JSR BASIN ;BASIC Iΐ1 TA2 LDY *ST ;CHECK STATU2 BNE WG230 ;BAD STATU 2 JSR BASIN ;BASIC I02 LDY *S@2 BNE WG23P2 DEC *FNLEN ;MORE TO DO`2 BNE WG225 ;NO 05; "POWER-AID.M2A 0@PCOLD JSR POWE` LDA WBEGIN ;PROTECT EDITOp LDX WBEGIN+1 ; POINTERӀ STA *TMP0 ;SAVE TO PRINT RESTARԐ STX *TMP0+ CPX #$80 ;ABOVE RA BCS COLD01  STA *MEMSI0 STX *MEMSIZ+@ JSR WRP ;FIX POINTERP`COLD0 0eJ; "POWER-AID.M3A 0@PRTDEV BEQ DEFAULT ;NO DEVICE SO PDEVICE JSR SCGBY` TXpDEV010 AND #%0001111 CMP # BCC NCRPRTDV1 STA *FDEVRTS RT 0DEFAULT LDA #@ BNE PRTDVP`PARCHK JSR PARSpCHKDSK LDA *F CMP # BNE DEV01 TA *INDEX2+  LDA #H,SCREEN ;PEEK SCREE0 STA *INDEX1+@ LDA #L,SCREEP STA *INDEX` JSR LISTEp JSR RELATNLST ;RELEASE ATTENTIO΀ LDA #25 ;LINES/SCREEΐ STA *INDEX2 ;LINE COUNTENXTLIN BIT *INDEX2+  BMI CRT20 LDA #$0@ BNE NXTCHP LDA *INDEXP ADC #WIDTH-1 ;ADD SCREEN WIDTH-` STA *INDEXp BCC POINT.SEԀ INC *INDEX1+POINT.SET DEC *INDEX2 ;LINE COUNTE BNE NXTLIN ;UNLESS ALL DON ;END OF SCREENPRIN0@ LDA #$0D ;C/P JSR BASOUT ;PRINT BUFFE` JSR BASOUT ;PRINT BUFF; CONVERT NEXT CHAR FOR COMMODORE PRINTE 0NXTCHRC LDA (INDEX1),@ AND #%01111111 ;MASK REV. FIELP TA` LDA (INDEX1),Y ;REGET ORIGp EOR *TEMЀ BPL CONTROL LDA (INDEX1),Y ;REGET ORIG STA *TEM AND #%10000000 ;REV. FIELD  EOR #%100100UMpHI.FIX EOR #%1100000DOCHRC RT ; CONVERT NEXT CHAR FOR ASCII PRINTE0@NXTCHRA LDA (INDEX1),P STA *TMP0 ;SAVE I` AND #%00111111 ;MASK REV & SHIFp CMP #%00100000 ;NUMBERS BCS DOCHRA ;YEӐ ORA #%01000000 ;MAKE ALPH BIT *TMP1,P BPL AD716` LDA TABLE,p BNE AD715TOKEN JMP NORMCOM ;NOT FOUNĐAD7176 INX INY BNE AD715 AD717A STY *TXTPT0 LDA *CMDLE@ ASL P TAX` LDA JMPTBL,p TAY ;LOW BYTŀ LDA JMPTBL+1,ؐ TAX ;HIGH BYT JMP ENTCMD ;DO COMMANGD RTSINDEX LDA #4 ;AT START OF BASI STA *TMP0+ STA *INDEX1+ NEWL LDY #3 ;START NEW LIN0LINK LDA (TMP0),Y ;COPY LINE LINKS & @ STA (INDEX1),P DE` BPL LINp INـ STY *TEMP ;ZERO THE FLAǐ LDA (INDEX1),Y ;END OF TEXT REACHED IN ORA (IMP #$FƐ BEQ AD70F PHAD7100 JSR AD710  CMP #$FF ;WAIT FOR KEY RELEAS0 BNE AD710@P; ZERO CHARACTER COUNTE`pZEROCHAR LDA # STA *NDؐ PL RT 0AD7103 LDA $E81@ CMP $E81P BNE AD710` CMP #$FB ;SPACE KEY(G)/6(BpAD710D RTSXT CHARACTE  CMP #$8F ;REM0 BEQ RE@ BIT *TEMP ;FIRST TEXT CHARACTERP BVS MI` CMP #': ;WIPE LEADING COLONp BEQ WIPŀMID CMP #' ;SPACE BNE KEE BIT *TEMP ;WIPE SPACE BMI KEEP ;UNLESS IN QUOTE MOD WIPE JSR INCTM0 BNE NEXT ;ALWAY@10 LDA WENTRp LDX WENTRY+ STA UCOMVEC ;STORE JUMP VECTOҐ STX UCOMVEC+ CL ADC WENTRY+  EOR #%10100100 STA UCVCHK ;STORE CHECK BYT@P LDX #MESSGE-NGMS` JSR PRTMSp JMP OUTDEXHEX ;PRINT RESTART ADDRESӐ;PRINT A MESSAG 0PRTMDEFDSK LDA # BNE PRTDV 0NCRT JMP SYNER@P;**`CRTA JSR PRTDEp;** LDA #%0000001 BIT 59468 ;FIND CAS BEQ LOW.CA EOR #$F LOW.CAS STA *TMP0+1 ;MINUS=LOWE0 LDA #@ BEQ CRTC1P`;**pCRTC JSR PRTDEր;** LDA #$8CRTC10 S`CRT20 JSR NXTLINpNXTCHR JSR BASOUԐ LDY #NXTCR1 BIT *INDEX2+ BMI CRT3  JSR NXTCHR0 JMP DOCH@PCRT30 JSR NXTCHR`pDOCHR JSR BASOUԀ INِ CPY #WIDTH ;SCREEN WIDT BCC NXTCR1 ;UNLESS LINE DON ;SET POINTER FOR NEXT LIN0@ Ep JMP UNLSTN ;CLEAR CHANNÈ; SET NEXT LINE FOR COMMODORE PRINTE  NXTLINC LDA #$0D ;C/ STA *TEM0 JSR BASOU@ LDA #$11 ;'DOWN' SETS LOWER-CASP LDX 5946` CPX #12 ;GRAPHICSp BNE GOT.CASŀ LDA #$91 ;'UP' SETS GRAPHICӐ GOT.CASE RT10 JSR BASOU@PCONTROL? TX` CMP #%0010000p BCS ALPHA? ;UNLESS CONTROL CHAR ORA #%0100000 BNE DOCHRC ;JUMALPHA? CMP #%0100000  BCC DOCHRC ;IF BELOW ALPH0 CMP #%0110000@ BCS HI.FIX ;IF ABOVE ALPHP ORA #%1000000` BNE DOCHRC ;J0+1 ;CHECK IF SHIFTE BPL DOCHRA ;N  BIT *TMP0 ;CHECK CAS0 BVS DOCHRA ;LOWER CASE@ ORA #%00100000 ;YEPDOCHRA RT`pNPACK JMP SYNERҐENTX JMP WR 0;**@PACK BNE NPACK ;PACK ONLP;**` LDA #1 ;POINT FROM & Tp STA *TMP STA * DEY ;FOUND A RE ! BIT *TEMP ;OR LEADING COLO0! BVS REM2 ;FIRST TEXT CHARACTER@! LDY #0 ;NOPP! CLC ;IGNORE LINK & `! LDA *TMP0 ;BY UPPINp! ADC #4 ;TMP0 COUNTEҀ! STA *TMP! BCC REM" INC *TMP0+"REM2 LDA (TMP0), " BEQ ENRM ;END OF REM LINE0" J NDEX1),Y ;2 ZEROES=YE  BEQ ENTX ;BRANCH TO ENT0CONT LDY #4 ;CHECK FO@ LDA (TMP0),Y ;COLON LINEP CMP #': ;1 BYTE LON` BNE NEXT ;(LINES ENp INY ;WITH 0. LDA (TMP0),ِ BEQ REM ;IF FOUN DEY ;POINT @ FIRST TEXNEXT LDA (TMP0),Y ;LOOK @ NE; POWER-AID CHECKS FOR COMMANDENTRY LDX #  STX *CMDLE0 LDA (TXTPTR,X) ;CHECK FOR TOKEN@ BMI TOKEPAD7158 LDY *TXTPT`AD715A LDA BUFOFS,p SEC SBC TABLE,ؐ BEQ AD717 CMP #$8 BEQ AD717  INC *CMDLE0AD7169 INX@ LDA TABLE-PKEEP TA` LDA #%01000000 ;SET OVERFLOp ORA *TEMP ;AFTER 1ST CHARACTEҀ STA *TEMА TX STA (INDEX1),Y ;COPY CHARACTE IN CMP #0 ;END OF LINE0 BEQ ENL@ CMP #'P BNE NEX` LDA *TEMp EOR #%1000000 STA *TEMА BNE NEXT ;ALWAY!!REMSG LDA NGMSG,X ;OUTPUT MESSAG@ BEQ MSGENP JSR PRIN` INp BNE PRTMSǀMSGEND RTӐ; HOLD ON SPACE KEY PRESSED OR SHIFT KE AD70EE BIT *SFST ;SHIFT KEY DOW0 BNE AD70EE ;YES, HOL@ JSR AD710P BNE AD710`AD70F8 JSR AD710p BEQ AD70F C Gz 2: :. . 2. GIVEoTHEoSIZEoOFoAoPROGRAM  S: SIZ SIZ "   "(,  #)  T SIZE    . T        POKE 59468,12  READoAoSEQUENTIALoFILE  S: VEW "   "(,  #)   S: UNW  I   N                         .  OU SPECIFY  SYNTAX: YOU $/-/,"   "(,  #)  T             HEX      S: STR "   "(,  #)  T                 . T                     . T          (F , M, V , D  D    ,  ,  . P                . T                6        . W         S             ,     ,      . U               PET    A01; "POWER-AID.ASM 0; TRANSFER POWER-AI@PTMP0 .DE $F`TMP2 .DE $FpSYS .DE $9ŀTEN .DE 1POWER.AID .DE $790 .BA $40  .O0 .BY @ .SE SECOND.LP .SE TE` .BY SYp .BY '(1039) .BY SECOND.LN .BY 0  LDA #H,POWER.AI #) SP  T                   . T PET      ,        0(1; "POWER-AID.CTA 0@ .CP .C`p .PR "WHICH POWER DO YOU HAVE? .PR "4030, 4040, OR 8040WHICH .IN WHIC .BA $790  .MC $500 .O@P .FI "POWER-AID.M1A` .FI "POWER-AID.M2Ap .FI "POWER-AID.M3A .FI "POWER-AID.M4A .FI            BASIC           . T                            . T             T VIEW                    . T                . LOAD AT AN ADDRESS Y  PUToTHEoPEToINTOoUPPERoCASE  S: UP  T      PET              .  NOTE: T           . P' FIX      P-A          FIX       . T          HEX. T                .  RECOVERoAoPROGRAMoAFTERoAoNEW   . T         <       9    .           . P' FIX      P-A          FIX   . C      OPEN8,8,8,"0:TEMP,S,W":CMD8:LIST PRINT#8:CLOSE8 T       .  FINDoTHEoLOADoADDRESS   STA *TMP0+0 LDA #$0@ STA *TMP2+P LDY #` STY *TMPp STY *TMPLOOP LDA (TMP2),ِ STA (TMP0), IN BNE LOO  INC *TMP2+0 INC *TMP0+@ BPL LOOP JMP POWER.AI`p .EN ?P?L?U?S? ?-? ?F?A?C" h| p q  x y x     (       IEEE ). T                      . B -A               IEEE            2"POWER-AID.M5A .BY '022382FAC 0@ .E` STY *TMPp STY *TMPLOOP LDA (TMP2),ِ STA (TMP0), IN BNE LOO  INC *TMP2+0 INC *TMP0+@ BPL LOOP JMP POWER.AI`p .EN ?P?L?U?S? ?-? ?F?A?C" h| p q  x y x       . T          HEX.  SPOOLoAoFILEoFROMoDISKoTOoPRINTER  S: SP "    "(,  #,   "";9" MAE PATCHES FOR STARWRITER PRINTERS "?g("MODIFY FILE MAE.EXE* AS FOLLOWS:"m2s<F"ADDRESS DATA"P"------- ---------------"Z" 74BA - EA EA EA C9 0A F0 03"d" 20 53 72 EA EA EA  | 4501 鵢4p D 5LLLTL˞ `LÞxӕp XL ( 9ƂeƄ67` Dȹ ʹ 0襀0&w0) -, Jȱ0 i@  +m`m D oo o膞L"LÞxuX` V͆܆%+  @EsstHHHHHLUttuu٩ )\]!" \] \\wx!8w"xe**e++w!x"+ Οϟ45 鵢+p ;L#wxLQL `xӕpLL񞩀A P| J|Aeƃ67` ?ȹ ʹ 0襀0&w0)  -,  `ȱ0 i@),`i ? oo o膞L"xПџXLL񞦘& ͆܆(+  ɛɛ͊ӟHҟHHHHLU΋Όީթ 4\]!" \] \\wx!8w"xe**e++w!x"+" Ȕ.//ŀ/w`!hHH8Lrɫ-`L ( v ( p ` Ė@ ĖA@A`wx *!+"`! "` ȱȑ `!"!!! `"H I h` ` ƔLL L ߺF()\ݥw8x9 p P9x8w0H p |hw p v,Ж Ė Ė`_0 Ė ĖL Ė *+` Ɓ *+*` q`2`3_L"`e0`_e1_ Ė`wxw`LY*\+]\,]-!ȱ\ f! EMIND GROUP OBUM- MARIES DUE 19 OBUM- MARIES DUETO- DAYAT NOON 20 ETIN TIMERE- PORTSTO &РTHIS AFTERNOON 21 22 23 24 "Ц LLL Ȅ ܠ:ȱ0ɏ)$ p: $ 0 J媩@ . ш$ p i慱 J$ P JЇe L x XLLL $@ o Cw L 0]T0 LD$ v ) -ɥ &L_`a Ė ע`&_``a LpL L-LLL ;hhL  Lߺ Ý N  60D"ENTER YEAR (EG 1981)*";YR'N IF FEB NOT IN LEAP YR,ND=28EX YR400(YR400) 1910tb (YR100(YR100)) MN2 ND28 : 1910l (YR4(YR4)) MN2 ND28v 2670"GET PRINTER READY, THEN HIT ANY KEY ";:1690 J"DRIVE ";DD$;" HAS ";AA$ T 1060%^"SHUT DOWN? ";:16909h S$"N" 1060Br 15H|N:e: GET SUBROUTINEp167,0S$:S$""1690S$167,1:: READ ERROR CHANNEL15,EN$,EM$,ET$,ES$ E, 6 ITEM SERIAL CO NO PUR DATE VENDOR COST  1)IN$d" "n"";N;A$(DY,N1)@x M1$"C" M1$"":"" : 2780JNN1c N7 "" : 2780n 1340t:: OUTPUT TO DISK"OUTPUT TO DRIVE #0";DD%DD$(DD%)"OUTPUT FILE NAME IS ";AA$; WDYY(YY4)(CC4)2CC1(2.6MP.1999) WDWD(WD7)7  :9 DISPLAY DAY ROUTINEV "DISPLAY WHICH DAY";DYj "";A$(DY,1)x I2 8 I1;A$(DY,I) I "HIT ANY KEY TO CONTINUE "; 1690 1050 S$"D" 2770  S$"M" 880 1060:D TYPE ENTRY OR CHANGE ENTRY ROUTINEVZ9$"" :LL10"ACH MESSAGE CAN HAVE 7 LINES OF 10 CHARACTERS EACH.""HICH DAY*";DY I2 8 M1$"C" (A$(DY,I)(16PRINTER TROUBLES Z$;:IN$IN$Z$ (IN$)LL2560:" ":167,1:$ 2460I Z$;:IN$(IN$,1,(IN$)1):2460] Z9(IN$)11 ((IN$,Z9,1)" ")((IN$,Z9,1)(160)) 2610 Z9$(IN$,(IN$)Z9) IN$(IN$,Z91)( Z912 Z(160) 3,(17) A$(DY,I) I3 DY&3-3K: DROPS THROUGH TO MENUQ:f: MENU ROUTINEx$"";B$;B$;B$."TYPE, CHANGE, PRINT, ";8"MEMORIZE, DISPLAY, RECALL OMMON FILE, EXIT? ";B1690L I1 36 7 J1 8 KI I6' KND 3,(160);(29); : 2330D 3,(17) A$(K,J);(29);L KS$ 3[. Jc8 IiB :pL 3xV 3` "FINISHED"j 1650 : END PROGRAMt :~ INPUT SUBROUTINE IN$"":Z 3 CALCULATOR 336655489 XXX235 10/80 WANG 500 TYPEWRITER 1235678788 ABC123 8/81 IBM 779 TRANSCRIBER 1111111111 222222 11/79 BENTLY 1100  3,43:3:3:33,(1)" MEMORY CALENDAR":LZ((40(AA$(YR)))2)EA7$""T I1 LZdA7$A7$" "l I3,(17)(1)A7$AA$ (YR)3:3:3 3FM$"AAAAAAAAAA "FT$""  I1 7FTN$"00" "DISK ERROR #"EN$" "EM$" "ET$" "ES$A" CONTINUE? N";IN$ : IN$"Y" Q 5: 6:15W]:w&: OUTPUT TO PRINTER0"PRINTING ENDS THE PROGRAM":"HAVE YOU MEMORIZED FILE FIRST?*";S$: (S$,1)"Y"10ARCH 1 Ġ8 Ġ9 Ġ10 TAFF 12 2 3 4 5 6 7 8 9 " OK? ";:1690S$"Y" 1060915,"I"DD$ :1750:FI$"@"DD$":" AA$ ",S,W"I 6,8,2,FI$S1750m6,AA$;(13); : 1750| I1 ND J1 86,A$(I,J);(13);: 1750" J, I66,"END OF FILE";(13);:1750@6 " ::F : TEST IF GARBAGE COLLECTION NECESSARYBP FR(X) (LLLL)2 "ONE MOMENT PLEASE": Q(0)HZ Nd :sn FIND WHAT DAY OF WEEK FIRST ISx CYYR :MPMN2 MP1 MPMP12 :CYCY1 YYCY(CY100)100 CC(CY100)0) A$(DY,I)"")NI1:I8 :1300  I1;A$(DY,I)" IY M1$"C" "TYPE MESSAGE ON WHICH LINE1";Nz("TYPE NEW LINE OR LINES"2"IT RETURN KEY TWICE TO STOP."< 2630 :N;F 2440P IN$"" "" : 2780ZA$(DY,N9:< :F : TEST IF GARBAGE COLLECTION NECESSARYBP FR(X) (LLLL)2 "ONE MOMENT PLEASE": Q(0)HZ Nd :sn FIND WHAT DAY OF WEEK FIRST ISx CYYR :MPMN2 MP1 MPMP12 :CYCY1 YYCY(CY100)100 CC(CY100) S$"C" M1$"C" :"CHANGE" : 1240%V S$"E" 1630G` S$"T" "TYPE" : 1240Yj S$"M"1450kt S$"P"1830~ S$"R" AC$"OMMON" :540 S$"D" 11801060"DISPLAY SINGLE DAY OR WHOLE MONTH? ";: 16909$"""? ";Z9$;:167,0:IN$Z9$:Z9$"":2460 "? ";:167,0' Z$:Z$""2460@ Z$" " Z$(160)i Z$(13) Z$(141) " ":167,1: Z$(20)((IN$))12460,2550 Z8(Z$) Z844 Z858 Z822 Z$"" : ELIMINATE DISK- 10 RIEFING BYETERS AT2 ONFM 11 12 13 14 15 16 17 18$FT$FM$  I*3,4,243,FT$>3 H:R3,4,1%\ I0 6:f3,WD$(I);(29);Bp IIz3O:a WD0 2280u IND 1 1 J1 8A$(IWD,J)A$(I,J)A$(I,J)(160) J INDNDWD:   (1039)yLyKn L%(232),N$(232),T%(232)dx"FROM UNIT 8";Fm670wF$D$"TO UNIT 9";T670T$D$FT F$T$7301:15: 15,F,15:15,"I"F$700: E :200 "PATTE " *|,ʥʅ+Ʌ* r B$0L LL)`hh 9|L  L ॖܢ  P ` } I| } ,ŐD\ *]"\\e**!+i+]8\*"e ! " r BĭL|*We   MEMORY CALENDAR 2` COPYRIGHT (C) 1981 BY P.T.SPENCER. ALL RIGHTS RESERVED.| COPY BUT DO NOT SELL( P.T.SPENCER2 7 BRIGHTSIDE DRIVE< WEST HILL, ONTARIOF CANADA M1E 3Y8P (416) 281-1155Z 1981 0\] Ay` ~ ~L<| ܢ $ jL ~ 8*(+)L~ ~  ( AyL}L9|1 y)q ~@)@ -` L<| y+ ҩө $ ѩҥ $ (: INITIALIZATIONN0"MK1SB$" "^M1$""k WD$(6)"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY" J0 6 : WD$(J) : J: "START NEW FILE, OR W~)yly022382FACy` ~ ~L<| ܢ $ jL ~ 8*(+)L~ ~  ( AyL}L9|1 y)q ~@)@ -` L<| y+ ҩө $ ѩҥ $ (SE FOR REST."(n"ROGRAM WILL NOW RESTART.">o I1 5000 : IDpr"AN",31,"EB",29,"AR",31,"PR",30,"AY",31,"UN",30,"UL",31|"UG",31,"EP",30,"CT",31,"OV",30,"EC",31,"OM",31S$"W" AC$AA$ : 540: "STARTIN  (1039)yLyKn L%(232),N$(232),T%(232)dx"FROM UNIT 8";Fm670wF$D$"TO UNIT 9";T670T$D$FT F$T$7301:15: 15,F,15:15,"I"F$700: E :200 "PATTE : READ FROM DISK3 &"NSERT DISK WITH ";AC$;" FILE ";` 0"IN RIGHT DRIVE AND TYPE GO ";: 1690m :15,"I0" DFA$"0:" AC$ ",S,R" N 5,8,2,FA$:1750 X5,AB$ :RSST:1750 b RS0 850 l (AC$AB$) "FILE MISMATCH" : ";IN$  RS64 820  RS0 850#  J+  I3  5f  MK0 "HIT ANY KEY TO CONTINUE "; : 1680o MK0y 1060 *: 4"END OF DISK FILE" : I1 1000: I > 5:1060 H: R"BAD DISK STATUS IS";RS \ 5: 15: fRN 45 럭mI 5yL~k `$ ay! ayH ayh``w0w8ɀ轚L߄w L `)` >L~ y,LI y"  -!$"0 p i $ P Ѐe LzL~L yLP{ y o d  L (, y$ o ( oѐL` f d ɩ 񪤖' =  ɠ Ay Lɢ y2 12+d WRITTEN FOR BASIC 2.0 AND DOS 1.0]n FR(X)(48) 256(49) ((46) 256(47))x"٠ 2 ().. 1980" 59468,(59468)14 A$(42,9) 15,8,15"HIT ANY KEY TO CONTINUE "; 1690:U+XȄV ¥./*+\ r BL| 0 L1| LA$4 ֥L$~_` p, `&_``Lx}` r} LL~ L-LL` 5yhhL~ ~  L } I| }hh, ORK ON OLD FILE? ";"16905, S$"W" S$"S" 280e6"AME OF MONTH (OR OMMON)"; :LL10:2440q@AA$IN$J I1 13T A3$,ND^ A3$(AA$,3) MNI : 390h Im"LEASE CAPITALIZE FIRST LETTER OF MONTH AND USE LOWER CA}L7L r} ͩ_` ~ R <| *|L c y y o (e o _@ _LeLo W-M NOT BASIC, START = POWER-AID 4030, RESTART ATFIHECRTCRTLOMRPAVESTUDDESIUNSYODS}Z}yy}|zX~ ~}i{{{0~<{t~G NEW FILE" "ONE MOMENT PLEASE"*  I1 42d A$(I,1)""((I),2)(" ",9(((I),2)))  WARNING***FIRST BLANK IN LINE ABOVE IS A CHR$(160)  I I1 42  J2 8 A$(I,J)(160)  J  I 1050 :RN 45 럭mI 5yL~k `$ ay! ayH ayh``w0w8ɀ轚L߄w L )` }L~ y,LI y"  H!$"0 v I1 ND  J1 8& 5,IN$ :RSST:1750F  MK1 A$(I,J)IN$ : 730P G9%0}  (IN$,2)""(160) IN$(160) 730  KJ 8  A$(I,K)(160) A$(I,K)IN$ :KJ8 :G9%1  K  G9%0 "DAY";I;"IS FULL--DISCARDED: p: SCROLL ROUTINE7 z"DISPLAY ON PRINTER OR SCREENS";IN$W SN3 : (IN$,1)"P" SN4  SN4 "SET UP PRINTER, THEN HIT ANY KEY "; : 1680 3,SN  DY1 ND D1$(DY) 3,(1)D1$  I2 8 A$(DY,I)  4z o$"0 uzLz Gz o(i' !ͩ o oL oL `)E   )I o  @@ ` I`)? @$$p `L~L Ȅ ܠ:ȱ7ɏ0$ p: $ 0 媩@ 5"ҥ I ʈ$   (1039)yLy 45 럭mI 5Lk `$ a! aH ah``w0w8ɀ轚L߄w 悔L )` }L ,LI 驀"  H!$"0  hh/ \]F 5 1` > >L<< Ϣ $ 1 Lߺ > 9դ8*(+) >L >  ( 1L=L9< >@)@ HL L<< <3 ҩԩө c ѩҩ p i 9$ P 9Ѐe LLL LP o  Lߺ (, $ o C ѐL` ߺ 񪤖' >  ߺ A Lߺ  ƥ`wx(w: L <\]\`) )?( $ @`hh ߺ   L 㥖ߢ  N ` = L< = D\ *]"\\e**!+i+]8\*"e ! " L(}L7L r} _` ~ I <| *|L y y o Ce  _@ _LeL W-M NOT BASIC, START = POWER-AID 4040, RESTART ATFIHECRTCRTLOMRPAVESTUDDESIUNSYODS}Z}yy}|zX~ ~}i{{{0~<{tU+XȄV P./*+\ L| 0 1 L1| LA$4 -ɥL$~_` p, ע`&_``Lx}` r} LߺL~ L-LL` 5yhhL~ ~  Lߺ } I| }hh, +XȄV P./*+\ L 0 1 L1 LA$4 -ɥL$_` p, ע`&_``Lx` r LߺL L-LL` 5hhL  Lߺ I hh, $ p i 9$ P 9Ѐe LzL~L yLP{ y o  Lߺ (, y$ o C ѐL` ߺ 񪤖' >  ߺ Ay Lߺ yL7L r _` I < *L o Ce  _@ _LeL W-M NOT BASIC, START = POWER-AID 8040, RESTART ATFIHECRTCRTLOMRPAVESTUDDESIUNSYODSZX i0 2 >4=88990>8w>0M29101981= V *,ʥʅ+Ʌ* $0L "LJL%)`hh 9L ߺ  L ॖܢ  P `  I D\ *]"\\e**!+i+]8\*"e ! " L*WeU<*WeU+XȄV P./*+\ L< 0 1 hhL<< LD$ v ) -ɥ $>L_`a 6 ע`&_``a Lp9L> L-LLL ;0hhL> >  Lߺ = L< =~~)yly022382FACy` ~ ~L<| Ϣ $ 1 Lߺ ~ 9դ8*(+)L~ ~  ( AyL}L9|1 y)q ~@)@ H` L<| y+ ҩө c ѩҥ c \] ߺ Ay` ~ ~L<| Ϣ $ 1 Lߺ ~ 9դ8*(+)L~ ~  ( AyL}L9|1 y)q ~@)@ H` L<| y+ ҩө c ѩҥ c  \] ߺ A` L< Ϣ $ 1 Lߺ 9դ8*(+)L  ( ALL91 )q @)@ H` L< + ҩө c ѩҥ c ( V *|,ʥʅ+Ʌ* $0L "LJL%)`hh 9|L ߺ  L ॖܢ  P ` } I| } D\ *]"\\e**!+i+]8\*"e ! " L|*We )l0 ߺ A` L< Ϣ $ 1 Lߺ 9դ8*(+)L  ( ALL91 )q @)@ H` L< + ҩө c ѩҥ c (  4z $"0 uzLz Gz (i' !ͩ L L `)E   )I  @@ ` I`)? @$$p `L~L Ȅ ܠ:ȱ7ɏ0$ p: $ 0 9媩@ 5"ҥ I ʈ հw: L {\]\`) )?( $ @`hh ߺ   L 㥖ߢ  N ` } 2| } D\ *]"\\e**!+i+]8\*"e ! " Le|*WeU+XȄV P F u q` ~ ~L"| Ϣ $ 1 Lߺ ~ 9դ8*(+) ~L ~  ( qL}L| ~@)@ HL L"| <3 ҩԩө c ѩҩԥ c }L7L   (1039)0L0 14E,MPp$ 41! 41H 41h``_8 L`0xw 0 # Z0: LLpɴ {1Mw|w8?ɀ|??whh| ?H?H y1Lp 4L2hh /*m   i*+ L pF 3|F 3 p 44\]wx ߺ Șewwx 6 ^4L2RRR./wƀF[ q418/(ʱwe@K<ƀe 4 481ȥ10wƂ*e*+e+wx\]@A 5 1𜤁LZ3 \]\ȱ\LpŇ䆐ȱ\ȱ\,| ϩ |) 4$F]8e\䇐 ņF\$ 0̄| z50Lߺ`8 J10 `5ȱ0 d23w 01 " 6 6! 6 6 6L2 6`w 6_w 6 6 6 6" 6 f!JB$!3PY lw%= 1נ\Hȱ\h L'w lw= LUwL~ lw$= 1ש" \ \\ #" ߺ q\i\]LvB C `в wL  H",LI )? @$$p PiO "ͩ LL~Lr f!JB$!3PY l7%= 1נ\Hȱ\h L'7 l7= LU7L> l7$= 1ש" \ \\ #" ߺ 1\i\]L6B C `в 7L  H" L  )E   )I  @@ ` I (˥i' ȱwѥwڥx۩ԥU` ߺ 񪤖' >  ߺ q ߺL V)(,ʥʅ+Ʌ* ^L "LJL%L楞8o) ߥ⍆Սፅ {o0]T0  ߺ 1 ߺL V)(,ʥʅ+Ʌ* ^L "LJL%L楞o) ' ;o0\ Vo ȱ!̇֩ ȑ!̇n` ⎂Uneȅڄ {` { ?q w{ y{ ) y{ { t(04$ 0 `uȱ0݄ y{ |`'H΅ zH z۽Ueڐۥ⍂h` ƥ`⌂wx ./*+\ Le| 0 1 hhL"| LD$ v ) -ɥ ~L_`a v ע`&_``a LTyL~ L-LLL ;phhL} ~  Lߺ } 2| }hh/ \] ??45 鵢+0p ;0L#2wxLQ1L1> `xӕpL8L> (| J1|eƃ67` ?1ȹ ʹ 0襀0&w0) -,  `5ȱ0 i@), `i ?1 oo o膞L"x??XLL>& 7͆܆(+  \͊?H?HHHHLU΋Όީթ 44\]!" \] \\wx!8w"xe**e++w!x"+" wȔ.//ŀ/w`!hHH8Lrɫ-`L> (4 v (4 p ` 6@ 6A@A`wx *!+"`! "` ȱȑ 4`!"!!! 4`"H I h` ` 4LL> 4L ߺF() "?ݥw8x9 p P69x8w0H p |6hw p 6 v,Ж 6 6 6`_0 6 6L 6 6 6 4*+` 6Ɓ 4*+*` q4`2`3_L"`e0`_e1_ 6`wxw`LY*\+]\,]-!ȱ\ !̮̇轘! "0)ଆ ȱ!̩̇ ȑ!̇ ` ڄ <` < ?1 ; ; ) ; < 4(04$ 0 `5ȱ0݄ ; "<(`$H΅ :H :)མکh` "Ц LL>L2 Ȅ ܠ:ȱ0ɏ)$ p: $ 0 J1媩@ . 4ш$ p i慱 J1$ P J1Їe L8 x XLL>L2 $@ o Cw L  Ȅ ܠ:ȱ0ɏ)$ p: $ 0 Jq媩@ . tш$ p i慱 Jq$ P JqЇe Lw x XLL~Lr $@ o Cw L o  LTy^ S0;wx ;   : : :΁ :;poƞL޴wx ; \]() : :ʆ۠ȱڪȱ\ȱ]eڅ\i]0 : :L/:ʽ! "0)ଆO ȅwx {   z z z΁ {poƞL׼nUeȅwx { \]() z zʆ۠ȱڪȱ\ȱ]eڅ\i] zLzʽU!n"DTm ȱ!֮̇U!n" 0)ଆ\ ȱ!̩̇ ȑ!̇ ` [ڄ {` { ?q z{ |{ ) |{ { t(04$ 0 `uȱ0݄ |{ |(`$H΅ zH z)[کh` ƥ`wx ȱwѥwڥx۩ԥU` ߺ 񪤖' >  ߺ q ߺL V)(,ʥʅ+Ʌ* ^L "LJL%L楞o) ' {o0\S0;[wx `i ?q oo o膞L"xXLL~& w͆܆(+  ɛɛ͊HHHHHLU΋Όީթ 4t\]!" \] \\wx!8w"xe**e++w!x"+" f!JB$!3PY lw%= 1נ\Hȱ\h L'w lw= LUwL~ lw$= 1ש" \ \\ #" ߺ q\i\]LvB C `в wL  H",LI )? @$$p (i' "ͩ LL~Lr wȔ.//ŀ/w`!hHH8Lrɫ-`L~ (t v (t p ` v@ vA@A`wx *!+"`! "` ȱȑ t`!"!!! t`"H I h` ` tLL~ tL ߺF() \]\ȱ\LpŇ䆐ȱ\ȱ\,| ϩ |) t$F]8e\䇐 ņF\$ 0̄| zu0Lߺ`8 Jq0 `uȱ0 d23w 01 " v v! v v vLr v`w v_w v v v v" v$ Ϣ $ 1 Lߺ ~ 9դ8*(+) ~L ~  ( qL}L| ~@)@ HL L | <3 ҩԩө c ѩҩԥ c }L7L NO   i*+ L pF s|F s p 4t\]wx ߺ Șewwx v ^tLrRRR./wƀF[ qt18/(ʱwe@K<ƀe t t81ȥ10wƂ*e*+e+wx\]@A u q𜤁LZs  u q` ~ ~L | Ϣ $ 1 Lߺ ~ 9դ8*(+) ~L ~  ( qL}L| ~@)@ HL L | <3 ҩԩө c ѩҩԥ c }L7L NO  q4E,MPp$ 4q! 4qH 4qh``_8 L`0xw 0 # Zp: LLpɴ {qMw|w8 ɀ| whh| HH yqLp tLrhh /*m (w: L {\]\`) )?( $ @`hh ߺ   L 㥖ߢ  N ` } 0| } D\ *]"\\e**!+i+]8\*"e ! " Lc|*WeU+XȄV P {   z z z΁ {poƞL޴[wx { \]() z zʆ۠ȱڪȱ\ȱ]eڅ\i]0 z zLzʽ[! "0)ଆOZ ȱ!̮̇[! "   i*+ L pF s|F s p 4t\]wx ߺ Șewwx v ^tLrRRR./wƀF[ qt18/(ʱwe@K<ƀe t t81ȥ10wƂ*e*+e+wx\]@A u q𜤁LZs  Ȅ ܠ:ȱ0ɏ)$ p: $ 0 Jq媩@ . tш$ p i慱 Jq$ P JqЇe Lw x XLL~Lr $@ o Cw L o  LTy^ \]\ȱ\LpŇ䆐ȱ\ȱ\,| ϩ |) t$F]8e\䇐 ņF\$ 0̄| zu0Lߺ`8 Jq0 `uȱ0 d23w 01 " v v! v v vLr v`w v_w v v v v" v "ݥw8x9 p Pv9x8w0H p |vhw p v v,Ж v v v`_0 v vL v v v t*+` vƁ t*+*` qt`2`3_L"`e0`_e1_ v`wxw`LY*\+]\,]-!ȱ\ "ݥw8x9 p Pv9x8w0H p |vhw p v v,Ж v v v`_0 v vL v v v t*+` vƁ t*+*` qt`2`3_L"`e0`_e1_ v`wxw`LY*\+]\,]-!ȱ\ wȔ.//ŀ/w`!hHH8Lrɫ-`L~ (t v (t p ` v@ vA@A`wx *!+"`! "` ȱȑ t`!"!!! t`"H I h` ` tLL~ tL ߺF() T BASIC, START=*** COMMODORE BASIC 4 + BASIC-AID 4 *** HELAUTBREACHANGDELETFLISDUMFINHECRKILLOWEMERGRENUMBEOFPACREAREPEASTARTRACUPPEҾSIZUN-NESPOOtq t sr}v s6}xwFp}_|uxw?~ r}t}xxxx~x[~pMry101981 45 鵢+pp ;pL#rwxLQqLq~ `xӕpLxL~A P| Jq|Aeƃ67` ?qȹ ʹ 0襀0&w0)  -,  `uȱ0 i@), ./*+\ Lc| 0 1 hhL | LD$ v ) -ɥ ~L_`a v ע`&_``a LTyL~ L-LLL ;phhL} ~  Lߺ } 0| }hh/ \]F  Ȅ ܠ:ȱ0ɏ)$ p: $ 0 Jq媩@ . tш$ p i慱 Jq$ P JqЇe Lw x XLL~Lr $@ o (w o Lé o d  LTy^ "ݥw8x9 p s Pv9x8w0H p |vhw p v v,Ж v v v`_0 v vL v v v t*+` vƁ t*+*` qt`2`3_Lť`e0`_e1_ v`wxw`LY*\+]\,]-!ȱ\   (1039)pLp wȔ.//ŀ/w`!hHH8Lɫ-`L~ (t s , v (t p s` v@ vA@A`wx *!+"`! "` ȱȑ t`!"!!! t`"H I h` sȥ` tLL~ tL ɅF() T BASIC, START=*** COMMODORE BASIC 2 + BASIC-AID 2 *** HELAUTBREACHANGDELETFLISDUMFINHECRKILLOWEMERGRENUMBEOFPACREAREPEASTARTRACUPPEҾSIZUN-NESPOOtq t sr}v s6}xwFp}_|uxw?~ r}t}xxxx~x[~pMry101981 `i ?q oo o膞LxXLL~& w͆܆(  {E͊HHHHHL.΋Όީթ 4t\]!" ,ť\] \\wx!8w"xe**e++w!x"+" ./*+\ r BLc| 0 hhL | LD$ v ֥ ~Lé_`a v `&_``a LTyL~ L-LLL ;phhL} ~  L } 0| }hh/ \]F 45 rŢ+pp ;pL#rwxLQqLq~ `xpLxL~ ( | Jq|eƃ67` ?qȹ ʹ 0襀0&w0) -, `uȱ0 i@), 0)ଆI ȱ!̩̇ ȑ!̇ ` Hڄ {` { ?q z{ |{ ) |{ { t(04$ 0 `uȱ0݄ |{ |(`$H΅ zH z)Hکh` ƥ`wx  q4E,MPp$ 4q! 4qH 4qh``_8 L`0xw 0 # Zp: LLpɴ {qMw|w8ɀ|whh| HH yqLp tLrhh /*m ȱwѥwڥx۩ԥU` f d ɩ 񪤖' =  ɠ q Lé ")(,ʥʅ+Ʌ* r Bĥ^L LLL楞o) ' {o0\S0;Hwx f!JB$!3PY lw%= \Hȱ\h mL'w lw= i LUwL~ lw$= " \ \\ "ʩ" q\i\]LvB C `в wLé  -",LI o)? @$$p o(i' "ͩ o oLL~Lr 45 鵢+pp ;pL#rwxLQqLq~ `xӕpLxL~ (| Jq|eƃ67` ?qȹ ʹ 0襀0&w0) -,  `uȱ0 i@), \]\ȱ\LpŇ䆐ȱ\ȱ\,| ܩ |) t$F]8e\䇐 ņF\$ 0̄| zu0L`8 Jq0 `uȱ0 sȤd23w sȥ01 v v! v v vLr v`w v_w v v v v" v$ ܢ $ jL ~ 8*(+) ~L ~  ( qL}L| ~@)@ -Lé L | 3 ҩԩө $ ѩҩԥ $ }L7LΧ NO  Bĥ i*+ rL pF s|F s p 4t\]wx Șewwx v ^tLrRRR./wƀF[ qt18/(ʱwe@K<ƀe t t81ȥ10wƂ*e*+e+wx\]@A u q𜤁LZs  u q` ~ ~L | ܢ $ jL ~ 8*(+) ~L ~  ( qL}L| ~@)@ -Lé L | 3 ҩԩө $ ѩҩԥ $ }L7LΧ NO  q4E,MPp$ 4q! 4qH 4qh``_8 UL`ɛ0xw 0  Zp: L Lp {qMw|w8ɀ|whh| HH yqLp tLrhh s/*m (w: L {\]\`) )?( $ @`hh   L 㥖ߢ  N ` } 0| } ,ŐD\ *]"\\e**!+i+]8\*"e ! " r BĭLc|*WeU+XȄV ¥ `i ?q oo o膞L"xXLL~& w͆܆(+  E͊HHHHHLU΋Όީթ 4t\]!" \] \\wx!8w"xe**e++w!x"+" { s ,Ű z z z΁ {poƞL޴Hwx { s ,ť\]() z zʆ۠ȱڪȱ\ȱ]eڅ\i]0 z zLzʽH! "0)ଆOG ȱ!̮̇H! " Gz : . . . z 10: 75:66:63:2: 2 BASIC-AID COMMAND LIST A  O 12, 1981 01. AUTO 1 A     = 1. T    A         S             ,     ,      . 23. START "  " G           . 24. TR          . S   8032  F 40     . 20. SIZE G      B     . 21. SIZE "   G    . 27. > 28.  29. / 30. U T         16. PACK R    .   . N '      !. 17. READ "  " R               T             . N: T   C, D , F , F , M, R, T, D  (>$)   ,  ,  . P      .  G    '$0000'. 12. KILL K  B -A . R    SYS 7*4096. 13. LOWER D    . 14  D .SI DLIST-0D .SI DUMP-@D .SI FIND-PD .SI HEX-`D .SI CRT-pD .SI KILL-D .SI LOWER-D .SI MERGE-E .SI NUMBER-E .SI OFF- E .SI PACK-0E .SI READ-@E .SI REPEAT-PE .SI START-`E .SI TRACE-pE .SI UPPER-E .SI WEDGE-E .SI WEDGE-F .SI LOA    .) 07. FIND  (, ) F    ' '. T          . 08. FLIST "  " L           .   (1039)pLp  . I  1  127. 02. BREAK C          . 03. CHANGE  (, )  C ' '  ''. L            . 04. CRT ACE 1 D    1. D     T  . N1    1  127. 25. UN-NEW I   N       U-   . 26. UPPER " G          . 22. SPOOL "  " S              . T PET   R . A          IEEE . W     . 31. S  (E ) E     . 32. K  D                 (   ) . 33. S  18. RENUMBER (1)(,2) R    1,   2. D   1  100, 2  10. 19. REPEAT (SCROLL) E   . S      B -      . A   G  B  S 6 H    . < 9 C    . S S S   . . 33. S . MERGE "  " M            . P      . 15. OFF C     (   IRQ). ~D-F .SI EXECUTE- F .SI SIZE-0F .SI UNNEW-@F .SI SPOOL-PF`FWBEGIN .SI COLpFWREPCDE .SI REPCDŀFWROLLS .SI ROLLӐFG $00 ;END OF TABL@CPC;TABLE OF JUMP ADDRESSES (-1`CpCJMPTBL .SI AID-C .SI AUTO-C .SI BREAK-D .SI CHANGE-D .SI DELETE-  09. HELP H           . 10. HEX   G    ' '. 11. HEX $0000   (1039)pLp  P        #4. 05. DELETE  D      . T         . 06. DUMP L      , &  . (D *WRKPT0$ LDA #H,BUFOFS-@$ STA *WRKPTR+P$ STA *LSTPNT ;MAKE POS FOR PRINTOU`$ LDX *FIXDLp$ LDA *FIXDHɀ$ JSR AD75B7 ;PRINT LINŐ$ JSR AD70EE ;CHECK FOR SPAC% CMP #$EF ;STOP KE% BEQ BRK003 ;YE % RT0%@%;***P%START JSR PARSEPR`%;***p% JSR INPU p! STA *TMP! CMP #1 ;PROG STARTS AT $0401 ! BNE NOGOOD ;N"DL1 JSR INPUT ;IGNORE PROG STAR" CMP #4 ;STARTS AT $0401 " BNE NOGOOD05 ;N0" JMP CRL@"P";****`"DLIST JSR BASOPN ;OPEN BASIC FILE, CHECK FOR Op";****"DLIST1 JSR INLINE ;INPUT LIN START=' 88 IFE PRTYPE-$ 8MESSGE .BY 147 '*** COMMODORE BASIC 08 .BY WHICH+$30 ;2 OR @8 .BY ' + BASIC-AID P8 .BY WHICH+$30 ;2 OR `8 .BY ' ***' 13 17 p8 **8 IFE PRTYPE-$Ð8MESSGE .BY 147 'BASIC-AID 9 .BY WHICH+$30 ;2 OR 9 .BY 13 17 9 ** C+p ROL *FACÀ DEؐ BNE ROT01 ORA *FACC+1 ;ADD NEW DIGI STA *FACC+  DEC *FACC+0 BNE FIXI@POUTDEC JSR LINP` JMP CREXIpNLOWER JMP SYNER;*** LOWER BNE NLOWE0;***@ LDA #%0000001P ORA $E84` BNE OKp;***UPPER ENGT`4 BEQ SYNERp4PAR1 STX *TEMЀ4 LDA #1 ;OPEN1,8,14 STA *L5 LDA #5 STA *F 5 LDA #105 STA *S@5 LDA #P5 STA *FNLE`5 JSR OPEp5 JSR CLRCHN ;RESET DEFAULT I/π5 LDA *TEMP ;RESET FILENAME LENGTȐ5 STA *FNLE6 LDA #2 ;OPEN2,8,2,FILENAM6 STA * #1` BNE AD799p JMP CLRCH΀;*HEX BEQ NLOWER ;NOTHIN;*  CMP #'$ ;A DOLLAR 0 BEQ HEXDEC ;YES - HEX -> DE@PGETNUM JSR CHRGOT ;GET LAST CHA` JSR INLINNUM ;GET NUMBER TO FAp JSR CONDEC ;CONVERT TO INTEGEҀ LDA *FIXDLO+ STA *TMP0+ P2 LDA #`2 STA *$AF ;RESTORE INPUT TO KEYBOARp2 STA *OPNFILE ;ZERO OPEN FILEӀ2 JMP READY ;EXIT TO BASIÐ23UNSPOOL LDA #3 STA *OPNFILE ;OPEN FILE 3 LDA #03 STA *$B0 ;CMD DEVIC@3 LDA #P3 STA *$AF ;INPUT DEVIC`3 JSR CLRCHN ;UNTALK & UNLISTEp3 TA BUFOFS- STY BUFOFS- LDA *STREN LDY *STREND+  STA *ENDBA0 STY *ENDBAS+@ LDY *BUFPTP DEY`AD7957 LDA BUFOFS-4,p STA (WRKPTR),ـ DEY BPL AD795 JSR CL JSR FIXLN  JMP AD7880@CHKERR LDX #1 ;READ ERROR CHANNEP JSR CHKI` ) STA *TMP ) LDA *ENDBAS+0) SBC *ENDBAS-@) STA *TMP0+P) JSR OUTDEXHE`) JMP READp));**)READ JSR PARSESEQ ;SET UP FILENAM0;**0RD3 JSR INPU 0 LDY *S00 PH@0 JSR PRINP0 PL`0 BNE FINp0 JSR AD70EE ;SPACE0 CMP #$EF ;STOP KEY0 BNE RD3 ;N $D@ .BY 'CR' $DA .BY 'KIL' $CA .BY 'LOWE' $D A .BY 'MERG' $C0A .BY 'RENUMBE' $D@A .BY 'OF' $CPA .BY 'PAC' $C`A .BY 'REA' $CpA IFE SCRSIZE-$4A .BY 'REPEA' $DA **B IFN SCRSIZE-$4B .BY 'SCROL' $C B **0B .BY 'STAR' $D@B .BY 'TRAC' $CP T ;GET PROG STARԀ% STA *TMP% JSR INPU& STA *TMP0+&STRT010 JSR OUTDEXHE &STRT020 JMP AD78C0&@&OUTDEXHEX LDX *TMPP& LDA *TMP0+`& JSR LINPRp&OUTHEX LDX #$2& LDA #'& JSR WRTW' JSR HEXOU' JMP CRL '0';**@'SIZE BEQ MEMSZE ;IN MEMORP';** " JSR OUTLIN ;OUTPUT I# BNE DLIST1 ;ALWAY# #BRK003 PLA ;CLEAN STAC0# PL@#BRK005 LDY #0 ;YES - PRINT 'BREAKP#BRK010 LDA BRKMSG,Y ;GET CHARACTE`# BEQ STRT020 ;EXIp# JSR PRINT ;PRINT CHAҀ# INِ# BNE BRK010 ;LOO$$OUTLIN LDA #L,BUFOFS- $ STA 09@9TESTWD .BY $00 $89 $8A $8D $AP9; NUL,GOTO,RUN,GOSUB,THE`9p99;TABLE OF KEYWORDӐ9@TABLE .BY 'HEL' $D@ .BY 'AUT' $C @ .BY 'BREA' $C0@ .BY 'CHANG' $C@@ .BY 'DELET' $CP@ .BY 'FLIS' $D`@ .BY 'DUM' $Dp@ .BY 'FIN' $C@ .BY 'HE' BNE NLOWE ;*** LDA #%11111100 AND $E84@ OK4 STA $E84P JMP READ` p NOGOOD JSR INPUԀ NOGOOD05 STA *TMP0+ LDX #! JSR PRTMS! PLA ;CLEAN STAC ! PL0! JMP STRT010 ;GIVE START ADDRES@!P!BASOPN JSR PARSEPR`! JSR INPUT ;IGNORE PROG STAR L 6 LDA #06 STA *F@6 LDA *TMPP6 STA *S`6 JSR OPEp6 JSR CHKERR ;READ ERROR CHANNÈ6 LDX #6 JMP CHKI77 7SYNERR LDA #$F07 STA *BASLIN+@7 JMP SYNERRP7`7;TABLE OF MESSAGEp77 .BY $A7 ;STOP NEW LOCATOR IN MICROMOΐ7NGMSG .BY $0D 'NOT BASIC,  LDA *FIXDL STA *TMP 0MOVEON JSR OUTHE@ JMP READP`HEXDEC LDA #p STA *FACÀ STA *FACC+ LDA # STA *FACC+ FIXIT JSR CHARGT ;GET CHA0 BEQ OUTDEC ;0 IF EN@ JSR ASCBIN ;CONVERT TO HEP LDX #4 ;ROTATE INTO FAC`ROT010 ASL *FAC JMP AD78C6 ;CLOSE FILEӀ33PARSEPRG LDA #0 ;ZERO SECONDARY FOR PRG FIL4 BEQ PAR4PARSESEQ LDA #2 ;SECOND SECONDARY FOR SEQ FIL 4PAR0 STA *TMP04PARSE JSR CLOSAL ;CLOSE ALL FILES & RESTOR@4 JSR PARCEIT ;SET UP FILENAMP4 LDX *FNLEN ;SAVE FILENAME L  JSR INPUp STA *TMP JSR INPUԐ STA *TMP2+ ORA *TMP CMP #'  BEQ AD7990 LDX *TMP@ LDA *TMP2+P JSR WRTW`AD7987 JSR INPUT ;PRINT ERROp JSR PRINԀ CMP #1 BNE AD798 PLA ;CLEAN STAC PL  JMP AD78C0@AD7994 JSR INPUP CMP 1 JMP BRK001 1FINI JMP AD78C3 ;EXI01@1;***P1SPOOL BEQ UNSPOOL ;TURN OFF PRINTER & DIS`1;***p1 JSR PARSESEр1 LDA $E840 ;SET ATΐ1 AND #$F2 STA $E842 LDA # 2 STA *FA ;PRINTER TO LISTE02 JSR LISTEN ;LEAVE ATN HIG@2 JSR RELATNLST ;RELEASE AT B .BY 'UPPE' $D`B .BY $BE ;pB .BY $C0 ;B .BY $AF ;B .BY $DE ;C .BY 'SIZ' $CC .BY 'UN-NE' $D C .BY 'SPOO' $C0C .BY $00 ;END OF TABL@CPC;TABLE OF JUMP ADDRESSES (-1`CpCJMPTBL .SI AID-C .SI AUTO-C .SI BREAK-D .SI CHANGE-D .SI DELETE- `'p' LDX #$FE ;START TWO BACK FOR LOAD ADDRESӀ' STX *TMP' IN( STX *TMP0+( JSR PARSEPR (SIZ010 JSR INPU0( JSR INCTM@( LDY *SP( BEQ SIZ01`( BNE STRT01p((MEMSZE SEÐ( LDA *ENDBAS ;END OF BASIC PROGRA) SBC *ENDBAS-2 ;START OF BASIC PROGRA 681 TAX ;SAVE IԐ( BEQ AD7640 ;END OF LINE - G) BPL AD766F ;NOT A TOKEN - CARRY ON SCANNIN) LDX #4 ;SET INDE )AD7688 CMP TESTWD,X ;A MATCH 0) BEQ AD7692 ;YES GO TO I@) DEX ;NO BUMP INDEP) BNE AD7688 ;NOT FINISHED GO BAC`) BEQ AD766F ;NO GOOD - C 0>L; "BASIC-AID.M4 0@AD78C1 PLA ;CLEAN STACP PL`AD78C3 JSR CRLpAD78C6 JSR CLRCHN ;CLOSE FILEӀ LDA # JSR CLOS LDA # JSR CLOS  JMP READ0@INLINE JSR INPUT ;SKIP LINP JSR INPU` BEQ AD78C1 ;END OF PROGRAp LDA *SԀ BNE  - ENĀ&&AD7656 JSR CHARGT ;MOVE ON O' LDA *FACC+1 ;GET ACC H' STA (TXTPTR),Y ;PUT IT I ' JSR CHARGT ;MOVE ON ON0' LDA *FACC ;GET AC@' STA (TXTPTR),Y ;PUT IT IP' JSR AD773B ;BUMP LINE NU`' BEQ AD764B ;JUMP BACp'AD7669 JSR CHARGT ;MOVE O΀' JSR 78AAD78B4 IN IN  STA BUFOFS,0 IN@ INP IN` STX *BUFPTp RTӀ;***MERGE JSR BASOPN ;OPEN BASCI FILE, CHECK I;*** AD788A LDX #0 STX *OPNFIL@ JSR CHKIP JSR INLINE ;INPUT LIN` JSR OUTLIN ;OUTPUT IpAD78D6 JSR FNDLIΐ BUM010 ;SOMETHIN% LDA #10 ;DEFAULT INCREMEN % BNE NUM020%NUM010 JSR CHKCOM ;CHECK FOR A COMM@% JSR GETFXD ;GET INCREMENP% LDA *FIXDLO ;GET INCREMENT L`% LDX *FIXDHI ;GET INCREMENT Hp%NUM020 STA *FRETOP ;SAVE IԀ% STX *FRETOP+1 ;SAVE IԐ% JSR STXTPDA *STRNGED+1 ;LOAD CURRENT Hɀ7 STA *FACC ;PUT IN ACC Hɐ7 JMP STXTPT ;SET POINTERS & RETUR88AD773B LDA *FACC+1 ;INCS LINE NU 8 CLC08 ADC *FRETO@8 STA *FACC+P8 LDA *FAC`8 ADC *FRETOP+p8 STA *FACÀ8AD774A JSR CHARGT ;SCAN TO ENDLIΐ8 BNE AD774 LDY #"AD7619 DE" BEQ AD761 "AD761C JSR INCTMP0"AD7620 LDA (TMP4),@" BPL AD761P" BMI AD761`"p"; PRINTOUT KEYWORĀ""PRTKWD JSR FNDKW#AD7603 IN# LDA (TMP4), # BMI AD7610# JSR PRIN@# BNE AD760P#`#p#;****#NUMBER JSR GETFXD ;GET STARԐ6ED JSR CHARG 4 CMP *FIXDL04 BNE AD76F@4 JSR CHARGP4 CMP *FIXDH`4 BNE AD770p4AD76FB JMP LINPԀ44AD76FE JSR CHARG5AD7701 JSR AD7735 BEQ AD76D 5AD7706 JSR AD77205 INC *SAV@5 JSR AD755P5 INC *ENDBA`5 BNE AD771p5 INC *ENDBAS+5AD7714 RTS OP1 PHA ;SAVE I`1 JSR CHRGET ;GET A CHp1AD76BA BCC AD76BF ;MOVE O΀1 JSR AD7701AD76BF PLA ;GET IT BAC2 LDY #0 ;INITIALISE 2 STA (TXTPTR),Y ;SAVE THE CH 2 INX ;BUMP X IND02 BNE AD76B1 ;AN GO BAC@2AD76C7 JSR CHRGET ;GET A CHAP2AD76CA BCS AD76R+ TAX SEC LDA *WRKPT SBC *ENDBA  TAY0 BCS AD790@ INXP DEC *INDEX2+`AD7909 CLCp ADC *POINTҀ BCC AD791 DEC *POINTR+ CLCAD7911 LDA (POINTR),  STA (INDEX2),0 INY@ BNE AD791P INC *POINTR+` INC *INDEX2+p DEX BARRY ON SCANNINp))AD7692 LDA *TXTPTR ;GET POINTEҐ) STA *OLDLIN ;SAVE I0 LDA *TXTPTR+1 ;AND THE HI BYT0 STA *OLDLIN+1 ;SAVE THA 0 JSR CHRGET ;GET A CHARACTE00AD769D BCS AD7672 ;AND GO BAC@0 JSR GETFXD ;GET A NUMBEP0 JSR AD76DA ;TEST FOR 'ON`0AD78C1 ;STATUS NOT  LDX #$F JSR INPUT ;GET LINE NUMBE STA *FIXDL  JSR INPU0 STA *FIXDH@AD78AB INX ;INPUT LINE INTO BUFFEP CPX #78 ;DO NOT LET OVER THEN 80 BYTE LINE` BCS AD78B4 ;GREATER THAN OR EQUAp JSR INPUԀ STA BUFOFS,ؐ BNE AD CHARGT ;MOVE Oΐ'AD766F JSR CHARGT ;ONE MOR(AD7672 CMP #'" ;QUOTE ( BNE AD7681 ;NO GO O (AD7676 JSR CHARGT ;YES GET A CH0( BEQ AD7640 ;END OF LINE - G@( CMP #'" ;END QUOTE P( BNE AD7676 ;NO TRY AGAI`( BEQ AD766F ;YES - CARRY ON SCANNINp((AD7 CC AD791 LDY # LDA (WRKPTR),  STA *POINTR+0 LDA *ENDBA@ STA *POINTP LDA *WRKPTR+` STA *INDEX2+p LDA *WRKPTҀ DEY SBC (WRKPTR), CLC ADC *ENDBA  STA *ENDBA0 STA *INDEX@ LDA *ENDBAS+P ADC #$F` STA *ENDBAS+p SBC *WRKPTT ;SET POINTER&AD7640 JSR CHARGT ;IGNORE A BYT& JSR CHARGT ;GET ANOTHE & BNE AD7669 ;NOT ZERO - GO O0& JSR AD7730 ;PUT CURR LIN IN AC@&AD764B JSR CHARGT ;GET ANOTHEP& JSR CHARGT ;AND ANOTHE`& BNE AD7656 ;NOT ZERO GO Op& JMP SUBCLR ;END OF PROG u9 RTS9 9CHARGT LDY #0 ;PSEUDO CHRGE09 INC *TXTPT@9 BNE AD775P9 INC *TXTPTR+`9AD7758 LDA (TXTPTR),p9 RTӀ966AD7726 JSR AD7527 LDY #7 STY *BUFPT 7 STY *SAV07 RTS@7P7AD7730 LDA *STRNGED ;LOAD CURRENT L`7 STA *FACC+1 ;PUT IN ACC Lp7 L#;****$ LDY *FIXDLO ;GET START L$ LDX *FIXDHI ;GET START H $ TY0$ ORA *FIXDHI ;NOTHING ENTERE@$ BNE NUM00P$ LDY #100 ;YES, MAKE DEFAULT 10`$NUM005 STY *STRNGED ;SAVE Ip$ STX *STRNGED+1 ;SAVE IԀ$ LDX #$ LDA (TXTPTR,X) ;SEE IF ANY MOR% BNE N56AD7715 JSR AD7726 DEC *SAV 6 JSR AD75406 LDA *ENDBA@6 BNE AD772P6 DEC *ENDBAS+`6AD7723 DEC *ENDBAp6 RTS66AD7726 JSR AD7527 LDY #7 STY *BUFPT 7 STY *SAV07 RTS@7P7AD7730 LDA *STRNGED ;LOAD CURRENT L`7 STA *FACC+1 ;PUT IN ACC Lp7 LD`2AD76CC JSR AD771p2 JSR CHRGOԀ2 BCC AD76CÐ2AD76D4 CMP #', ;COMMA 3 BEQ AD7692 ;YES 'ON' PROBABL3 BNE AD7672 ;NO OK GO BAC 303AD76DA JSR AD773@3AD76DD JSR CHARGP3 JSR CHARG`3 BNE AD76Ep3 LDA #$Fƀ3 STA *FACC+3 STA *FAC4 BMI AD76F4AD7 NE AD791AD791F JSR CL JSR FIXLN LDA BUFOF BNE AD7920 JMP AD788@ P AD792D CLC` LDA *ENDBAp STA *Tπ ADC *BUFPTҐ STA *FRO LDY *ENDBAS+ STY *TO+  BCC AD7930 INY@AD793D STY *FROM+P JSR BLT` LDA *FIXDLp LDY *FIXDHɀ S LDA *OLDLIN+1 ;GET TEXTPTR HI SAVp0 STA *TXTPTR+1 ;SAVE IԀ0 LDA *OLDLIN ;GET TEXTPTR LO SAVŐ0 STA *TXTPTR ;RESTORE I1 LDY #0 ;SET Y TO ZER1 LDX #0 ;AND 1AD76B1 LDA STACK+1,X ;GET A CH01 CMP #'0 ;END OF NUM - GO O@1 BCC AD76C7 ;END OF NUM - GO TWAI  BNE NO.TWAI0 LDA STACK+6,@ CMP #H,TWAIP BNE NO.TWAI` JSR STOP.IRpNO.TWAIT LDA *LSTX ;SAME KEY DOWN CMP #KEYKEY ;KEYPRINT KEY BEQ KEYPRREP010 CMP #ESCKEY ;ESCAPE QUOTE BEQ ESCAPE ;YE  CMP SAVCH0 IFE SCRSIZE-$4@ BEQ AD7 DE  STX *NDX ;AND PUT IN KBD INDE0AD71E2 JMP HANDL@P;****`REPEAT BNE NREPEAp;****AD71EA SEI LDA WREPCD STA *CIN LDA WREPCDE+  STA *CINV+0 LDA #$0@ STA REPDP CLI` JMP READpNREPEAT JMP SYNERҐKEYPRT LDX *SFST ;SHI 07K; "BASIC-AID.M3B 0@;***PBREAK BNE AD74E`;***p STA BUFOFS+3 ;SAVE REGISTERӀ STX BUFOFS+ STY BUFOFS+ PHP ;GET FLAGS AND SAV PL  STA BUFOFS+0 LDA #H,READY ;PUSH RETURN TO BASI@ PHP LDA #L,READ` PHp SEC ;SO NO BACKU D ;AND GET THE RES BEQ AD71E2 ;LINE NUMBER ONL LDA AUTOLN ;IN AUTO MODE BEQ AD71E2 ;N0 CL@ LDA *FIXDLO ;YES CALC. NEW LINNUP ADC AUTOL` STA *FACC+1 ;PUT IT IN ACCp LDA *FIXDHɀ ADC # JSR LINOU LDX #$00 ;ZEROISE INDE LDA #$20T ;CHECK DELIMIT0AD74F1 JSR GETFXD ;GET @ JSR FNDLIN ;FIND OR SET PTRP JSR CHRGOT ;GET LAST CHA` BEQ AD7508 ;SKIP DONp JSR DELIMIԀ JSR CHRGET ;YES - SKIP DASȐAD7503 JSR GETFXD ;GET TO  BNE AD74EE ;NOT A NUMBER ERAD7508 LDA *FIXDL  OXDL` CMP *INPPTp LDA *FIXDHɀ SBC *INPPTR+ RTS; SETS INDEX1 AND INDEX 0AD7529 LDA *TXTPT@ STA *POINTP LDA *TXTPTR+` STA *POINTR+p LDA *ENDBAӀ STA *INDEX LDA *ENDBAS+ STA *INDEX2+ RTS 0; COMPARES INDEX1 AND INDEX@SR AD753A ;DONE@ BNE AD7555 ;NP RTS` p ; MOVE MEMORY UЀ AD756B LDA *INDEX2 ;ZERO  BNE AD7571 ;NO - NO BORRO DEC *INDEX2+ AD7571 DEC *INDEX0AD755D LDY *BUFPT@ LDA (INDEX2),P LDY *SAV` STA (INDEX2),p JSR AD753A ;DONE BNE AD75P LDA *FIXDLO ;NUMBER > 12` BPL AD7583 ;NpAD7581 LDA #$7ƀAD7583 RTӐ;*** TRACE JSR GETIN0;***@ STA TRCDLP JMP READ`pNAID JMP SYNERҀ;*AID BNE NAI;*  JSR AD7580 JMP READ@PAD758D JSR CRL` STA *LSTPNp LDX *TX%S` STA *BLNCp BNE AD7205 ;NπFAT 4p BEQ AD720 ** STA SAVCHR ;REMEMBER CURRENT KE LDA #$10 ;REWIND TIME STA DELA AD7205 LDA WROLLS+0 PH@ LDA WROLLP PH` PHp PH PH PH JMP NORM.INAD7208 CMP #$FF ;ALL KEYS UP  BE .BY $2ÀAD75B7 LDY #0 ;PRINT LINŐ STY *CMDLE STY *TEM JSR LINPR  LDA #$20AD75C2 LDY *CMDLE@ AND #$7PAD75C6 JSR PRIN` JSR FLIPMSp LDA # STA *NOTREV ;TURN OFF RE֐AD75D3 INY BIT *LSTPN BPL AD75F  LDX *WRKPTR+0 TYA@ SEC20P **` IFN SCRSIZE-$40 ;8032 & FAT 4p BEQ AD720 ** STA SAVCHR ;REMEMBER CURRENT KE LDA #$10 ;REWIND TIME STA DELA AD7205 LDA WROLLS+0 PH@ LDA WROLLP PH` PHp PH PH PH JMP NORM.INAD7208 CMP #$FF ;ALL KEYS UP  BEFT KEY DOW BEQ REP010 ;N  JSR KEYPRIN0ESCAPE LDX #@ STX *NOTQUOT ;NOT INSIDE QUOTEP STX *NOINSERT ;NO INSERT` STX *NOTREV ;NOT REVERSE FIELp STX *NDX ;TELL PET NO KEYS WAITINǀ BEQ AD720REPCDE LDA STACK+5,X ;CANCEL ON LOA CMP #L,Ѐ JMP MLM ;TO MONITOҐDELIMIT CMP #$AB ;MINU BEQ DELRTS ;YE  CMP #'- ;DAS0 BNE AD74EE ;N@DELRTS RTP`AD74EE JMP SYNERR ;SYNTAX ERROp; INPUT RANGE PARMӐAD74E6 BCC AD74F1 ;FROM CHRGET A #  BEQ AD74F1 ;A TERIMATO  JSR DELIMI ;LOAD A SPAC  STA KYBDBF,X ;PUT IT IN THE KB0 INX ;BUMP INDE@AD71CF LDA STACK,X ;GET A DIGIP BEQ AD71D` STA KYBDBF,X ;PUT IT IN THE KBp INX ;BUMP INDE؀ BNE AD71CF ;AND CARRY OΐAD71DA LDA #$20 ;ONE MORE SPAC STA KYBDBF, INX ;BUMP INRA *FIXDHI ;WAS A TO # INPU0 BNE AD7514 ;YE@ LDA #$FF ;NO - MAKE MAP STA *FIXDL` STA *FIXDHpAD7514 RTS; COMPARES (LOWTR),Y WITH LINNUAD7515 JSR CHARGT ;GET # L  STA *INPPTR ;SAVE TO PRT LATE0 JSR CHARG@ STA *INPPTR+P LDA *FIPAD753A LDA *POINT` CMP *INDEXp BNE AD754 LDA *POINTR+ CMP *INDEX2+AD7544 RTS ; MOVES MEMORY DOW0@AD7555 INC *POINTP BNE AD754` INC *POINTR+pAD7545 LDY *BUFPTҀ INY LDA (POINTR), LDY *SAV INY STA (POINTR),0 J6B ;Nϐ RTS; FLIP MSB OF TEMP FOR PRINTING IN QUOTE 0FLIPMSB CMP #'@ BNE FLIP01P PH` LDA *TEMp EOR #%1000000 STA *TEMА PLFLIP010 RT GETINC JSR GETFXD ;GET NUMBER BETWEEN 0 & 120 LDA *FIXDHI ;NUMBER > 25@ BNE AD7581 ;YE TTA€ LDA *TXTTAB+AD7596 STX *WRKPT STA *WRKPTR+ LDY #  LDA (WRKPTR),0 TAX@ INYP LDA (WRKPTR),` BNE AD75Ap JMP CHRGEԀAD75A7 CMP *TMP2+ BCC AD759 CPX *TMP BCC AD759  INY0 LDA (WRKPTR),@ TAXP INY` LDA (WRKPTR),p0 JSR PRTKW@ BMI AD75C2 ;ALWAYP ` AD760E JMP CRLp AD7612 RTS ;FOR FIND KEYWORĀ ; FIND KEYWORD IN TABL!; ON RETURN TMP4 POINTS IN FRONT OF KEYWOR! !FNDKWD LDX #H,KWDTBL-0! LDY #L,KWDTBL-@! STX *TMP4+P! STY *TMP`! SEp! SBC #$7ƀ! TAؐ!P ADC *WRKPT` BCC AD75Ep INXAD75E1 CPX *TMP2+ BCC AD75F CMP *TMP BCC AD75F  LDA #0 STA *LSTPN@ STA *NOTREV ;TURN ON REPAD75F0 LDA (WRKPTR),` BEQ AD760p BPL AD75C CMP #$FƐ BEQ AD75C BIT *TEM BMI AD75C STY *CMDLEQ AD7200 LDA DELAY ;COUNT DOWN DELA@ BEQ AD721P DEC DELA` BNE AD720pAD7214 DEC REPDـ BNE AD720 LDA #$02 ;SET TIME DELA STA REPD LDA *NDX ;IS QUE EMPTY  BNE AD7205 ;NO, DONT REPEA0 LDA #$0@ STA *LSTP LDA #$02 ;FORCE CURSOR FLA CLOSE A FIL@OPEN .DE $F563 ;OPENS A FILPTWAIT .DE $F92B ;WAIT FOR NORMAL IR`STOP.IRQ .DE $FCC0 ;RESTORE NORMAL IRpLINPRT .DE $CF83 ;PRINTS ACC#ASCOUT .DE $CF93 ;CONV. ACC#1->ASÐREADY .DE $B3FF ;JUMPS TO READYGETFXD .DE $B8F6 ;GETS FIXED N 0=; "BASIC-AID.M2B 0@ENTRY STA *FSTCHR ;FROM CHRGEP STX *SAVX ;SAVE ACC AND X REG'` TSX ;GET STACK POINTEp LDA STACK+1,X ;IMMEDIATE MODE CMP #L,MAIΐ BEQ MAYBE ;COULD BE.... LDX *TXTPTR+1 ;IS IT THE INP BU CPX #$0  BEQ RESR ӀCLR .DE $B5E9 ;DOES A 'CLR CHKCOM .DE $BEF5 ;CHECKS FOR COMM FIXLNK .DE $B4B6 ;FIXES LINK FLOAT .DE $CD7F ;FLOATS ACC#0 CRLF .DE $BADF ;PRINTS A CR & L@ NORM.INT .DE $E455 ;IRQ DESTINATIOP UNTALK .DE $F1AE ;FREE IEE` TALK .DE $F0D2 ;TALK  T3 ;RESET Y REGISTE`pRESREG LDX *SAVX ;RESET THE OTHERӀ LDA *FSTCHR ;DO A BIT OF CHRGEԐ CMP #' BCS AD710PSGET CMP #$20 ;A SPACE  BEQ INCTXT ;YE0 JMP RESGET ;NO, FINISH CHRGE@PINCTXT JMP CHRGE`pMAYBE LDA STACK+2,X ;IN IMMEDIATŀ$F322 ;LOAD A FILLDERR1 .DE $F3E6 ;?LOAD ERROPARCEIT .DE $F4FD ;PARCE FILENAM SYNERR1 .DE $CE03 ;?SYNTAX ERROR MESSAG0INLINNUM .DE $DBFF ;INPUT 0-6553@CONDEC .DE $D6D2 ;FAC TO LINNUPWRTWO .DE $E784 ;OUTPUT X,`INCTMP .DE $FDD5 ;INCREMENT T SEC SBC TABLE,  BEQ AD7170 CMP #$8@ BEQ AD717P INC *CMDLE`AD7169 INXp LDA TABLE-1,؀ BPL AD716 LDA TABLE, BNE AD715 BEQ RESYR AD7176 INX0 INY@ BNE AD715PAD717A STY *TXTPT` PLA ;CLEAN STACp PL LDA *CMDLEΐ ASL $E7E0 ;CONVRTS ACC-> HEPHEXOUT .DE $E76A ;OUT $FB,$FC-> HE`BSIV .DE $FC9B ;FIX IRQ VECTOpFXFLT .DE $D26ĀSTROUT .DE $CA1C ;PRINT STRINǐFNDVAR .DE $D069 ;BUMP VAR BY FAC.MEM .DE $DAAE ;MEMORY TO FAPRTFLT .DE $DCE3 ;PRINT FA PRTSNG .DE $CADE $D731 ;OUTPUT X, INCTMP .DE $D539 ;INCREMENT TMP0TRCFLG .DE $7E ;FOR -19 $B000 PRO@TRCFLG1 .DE $23 ;FOR -23 $B000 PROPRESGET .DE $D3AA ;END OF CHRGE`RESRTI .DE $E600 ;END OF INTERRUPpMLM .DE $D472 ;MONITOҀSPACE .DE $BB3E ;OUTPUT A SPACŐUNTALK .DE $F17F ;FREE IEETALK .DE $F0B6 ;TALK THROUGH IEE UNLSTN .DE $F183 ;STOP DEV. LISTE0LISTEN .DE $F0BA ;TELL DEV. LISTE@SNDSALST .DE $F128 ;SEND 2NDARY ADPSNDSATK .DE $F164 ;SEND SEC ADD FOR TAL`BASIN .DE $F18C ;INPUT A CHARACTEpDE $F148 ;RELEASE ATN LISTEpPRTCHR .DE $E202 ;PRINT TO SCREE΀OPEN1 .DE $F4A5 ;SEND FILENAMŐSTOP1 .DE $F335 ;CHECK STOP KECLOSEIEE .DE $F3CE ;UNTALK & CLOSE IEEE FILLOADIT .DE $F356 ;LOAD A FIL RUNC .DE $B74A ;RUN A PROGRA0LDERR1 .DE $F425OASCBIN .DE $D78D ;CONVRTS ACC-> HE HEXOUT .DE $D717 ;OUT $FB,$FC-> HE0FNDLIN .DE $B5A3 ;FIND A LIN@TKNISE .DE $B4FB ;TOKENISE INP.BUFPKWDTBL .DE $B0B2 ;PET KEYWORD TABL`BSIV .DE $FCE0 ;FIX IRQ VECTOpHANDLN .DE $B422 ;HANDLE A NEW LINŀSTEG ;YES.....0 STX *TMP2+1 ;NO - SAVE TXTPT@ LDX *TXTPTP STX *TMP` LDX TRCDLY ;IS THE TRACE ON p BEQ RESREG ;Nπ BMI RESREG ;Nϐ CMP #TRCFLG1 ;MAYB BNE RESREG ;N  STY *T3 ;SAVE Y RE0DO.TRC JSR TRCDO ;YES - GO DO IT @PRESYRG LDY *THROUGH IEEp UNLSTN .DE $F1B9 ;STOP DEV. LISTE΀ LISTEN .DE $F0D5 ;TELL DEV. LISTEΐ SNDSALST .DE $F143 ;SEND 2NDARY ADSNDSATK .DE $F193 ;SEND SEC ADD FOR TALBASIN .DE $F1C0 ;INPUT A CHARACTE BASOUT .DE $F19E ;SEND A CHARACTE0CLOSE .DE $F2E2 ; CMP #H,MAIN ;MODE  BNE RESREG ;N JSR RESREG ;YES - RESET REG' BCC AD719E ;IS IT A NUMBER  LDA *FSTCHR ;NO - WHAT IS IT 0 BPL AD715@ INC *TXTPTPAD7152 LDX #` STX *CMDLEp STY *T3 ;SAVE Y REǀAD7158 LDY *TXTPTҐAD715A LDA BUFOFS,MPpLDTB2 .DE $E748 ;LOW BYTE SCREEN LINE ADҀTRCFLG .DE $F9 ;CHECK FOR TRACŐTRCFLG1 .DE TRCFLG ;CHECK FOR TRACRESGET .DE $E10RESRTI .DE $E6E MLM .DE $FD11 ;MONITO0SPACE .DE $CA3D ;OUTPUT A SPAC@P **`p IFE WHICH-4 ;BASIC 4.0 ROUTINE TAX LDA JMPTBL+1,  PHA0 LDA JMPTBL,@ PHAP JSR RESYR` JMP CHRGEp;**AUTO JSR GETINC ;GET A PARAMETE;** STA AUTOL  JMP SUBCL0@;TAKE IN A LINP`AD719E PLA ;CLEAN UP STACp PLA LDA *FSTCHR ;LOAD FIRST DIGIԐ JSR GETFX22 ;PRINT STRIN0RELATNTK .DE $F169 ;RELEASE ATN TAL@RELATNLST .DE $F12D ;RELEASE ATN LISTEPPRTCHR .DE $E3D8 ;PRINT TO SCREE`OPEN1 .DE $F466 ;SEND FILENAMpSTOP1 .DE $F301 ;CHECK STOP KEـCLOSEIEE .DE $F38F ;UNTALK & CLOSE IEEE FILŐLOADIT .DE  **@BLTU .DE $B35PPARCEIT .DE $F53C ;PARCE FILENAM`SYNERR1 .DE $BF00 ;?SYNTAX ERROR MESSAGpMAIN .DE $B40F ;MAIN'S JSR TO CHRGEԀBRKMSG .DE $B31B ;BREAK MESSAGŐINLINNUM .DE $CE29 ;INPUT 0-6553CONDEC .DE $C92D ;FAC TO LINNUWRTWO .BASOUT .DE $F16F ;SEND A CHARACTEҀCLOSE .DE $F2AE ;CLOSE A FILŐOPEN .DE $F524 ;OPENS A FILTWAIT .DE $F8E6 ;WAIT FOR NORMAL IRSTOP.IRQ .DE $FC7B ;RESTORE NORMAL IR LINPRT .DE $DCD9 ;PRINTS ACC#0ASCOUT .DE $DCE9 ;CONV. ACC#1->AS@ASCBIN .DE  ;?LOAD ERRO@BLTU .DE $B35PPARCEIT .DE $F53C ;PARCE FILENAM`SYNERR1 .DE $BF00 ;?SYNTAX ERROR MESSAGpMAIN .DE $B40F ;MAIN'S JSR TO CHRGEԀBRKMSG .DE $B31B ;BREAK MESSAGŐINLINNUM .DE $CE29 ;INPUT 0-6553CONDEC .DE $C92D ;FAC TO LINNUWRTWO . XTPT .DE $B622 ;SET TXTPRԐFXFLT .DE $C4BSTROUT .DE $BB1D ;PRINT STRINFNDVAR .DE $C2B9 ;BUMP VAR BY FAC.MEM .DE $CCD8 ;MEMORY TO FA0PRTFLT .DE $CF8D ;PRINT FA@PRTSNG .DE $BB23 ;PRINT STRINPRELATNTK .DE $F198 ;RELEASE ATN TAL`RELATNLST . 01; TRANSFER BASIC AI 0TMP0 .DE $F@TMP2 .DE $FPSYS .DE $9`TEN .DE 1pBASIC.AID .DE $700 .BA $40 .O .BY  .SE SECOND.L0 .SE TE@ .BY SYP .BY '(1039)` .BY pSECOND.LN .BY 0  LDA #H,BASIC.AI STA *TMP0+ LDA  0E3; "BASIC-AID.CT 0@ .CP .C`p .PR "WHICH BASIC (2 OR 4)WHICH .IN WHICȐ IFE WHICH- .PR "SCREEN SIZE. 40, 80 OR  .PR "FA40 (FAT 40) COLUMN0SCRSIZE .IN SCRSIZ@ **P` IFE WHICH-p .PR "WHICH KEYBOARD? .PR "(A=GRAPHIC MMODORE) PRTYPE .IN PRTYP0@ .BA $700P .MC $50` .Op .FI "BASIC-AID.M1A .FI "BASIC-AID.M1B .FI "BASIC-AID.M2A .FI "BASIC-AID.M2B  .FI "BASIC-AID.M3A0 .FI "BASIC-AID.M3B@ .FI "BASIC-AID.M3CP .FI "BASIC-AID.DOS` .FI "BASIC-A 0:; "BASIC-AID.DOS 0@;***PWEDGE LDY #`;***p STY *TMP6 ;CLR LOAD FLAǀ STY *13 ;CLEAR DS & DS CMP #0 ;> OR @ ALONE BEQ RDERR ;READ ERROR CHANNE CMP #'$ ;DIRECTORY  BEQ DODIR ;YE0@; SEND COMMAND TO DISP` LDA #8 ;GET DE0 JSR UNLSTN ;UN LISTEp JMP READـ; READ THE ERROR CHANNE RDERR LDA #8 ;SET F0 STA *F@ JSR TALP LDA #$60+15 ;COMMAND CHANNEL S` JSR SNDSATK ;SEND SpWG140 JSR BASIN ;GET BYTE FROM DISˀ CMP #$0D ;C/Ґ BEQ WG13 JSR PRINT ;PRINTSTY *FNLEN ;SEND LENGTH (-1@ LDA *TXTPTR ;FILE NAME ADDRESP STA *FNAD` LDA *TXTPTR+p STA *FNADR+ LDA #8 ;DEVICE ADDRESӐ STA *F LDA *TMP6 ; 0 MEANS DIRECTOR BNE DO.LOAD ;DO A LOA  LDA #$60 STA *S@ JSR CLRCHN ;CLEAR ANY CMDP JSR CK STATUp BNE WG230 ;BAD STATUӀ JSR CHARIN ;BASIC Iΐ LDY *S BNE WG23 DEC *FNLEN ;MORE TO DO  BNE WG225 ;NOT DONE YE0 JSR LINPRT ;PRINT LINE NUMBE@ JSR SPACE ;PRINT A SPACPWG400 JSR CHARIN ;BASIC I` BEQ WG24p JSR PRINT ;PRINT A CHA CHAR0 JMP READY ;RETURN "READY@P; LOAD A FIL`pDO.LOAD LDA # STA *ST ;CLEAR STATUӐ STA *VERCK ;LOAD NOT VERIF JSR LOADIT ;LOAD A PROGRA LDA *S  AND #%10111111 ;CHECK STATUS (EOI OK0 BNE LDER@ BIT $F180 ;CHECK FOR (-04)) ROP BERP LDA *TMP6 ;CHECK FOR LOAD OR RU` CMP #'^ ;LOAD & RUNp BEQ WG300 ;IF YES.. JMP READY ;LOAD RETURN TO BASIÐWG300 JSR STXTPT ;SET TXTPTR FOR RU  JMP RUNC ;RUN PROGRA0@PLDERR JMP LDERR1 ;PRINT "LOAD ERROR` K FOR (-04)) ROP B0A; "BASIC-AID.M1A 0@;BASIC 4.0 JANUARY 13,198P;JAMES STRASM`;WITH EXTENSIONS MARCH 2p;& FIXES APRIL 2;F. ARTHUR COCHRANE - MAY 25, 198;FAC - JUNE 20, 198;TRACE FIXED BY FAC JUNE 2;SCROLL FROM CBM ASSEMBLER EDITOR BY B. S #$0  STA *TMP2+0 LDY #@ STY *TMPP STY *TMP`LOOP LDA (TMP2),p STA (TMP0),ـ INِ BNE LOO INC *TMP2+ INC *TMP0+  BPL LOO0 JMP BASIC.AI@P .ES, B=BUSINESS)KEYBRD .IN KEYBRSCRSIZE .DE $4 ** 0 IFE WHICH-4+SCRSIZE-$4@ .PR "WHICH KEYBOARD?P .PR "(A=GRAPHICS, B=BUSINESS)`KEYBRD .IN KEYBRpLDTB2 .DE $E65B ;LOW BYTŀ ** .PR "WHAT IS THE PRINTER TYPE? .PR "(A=ASCII, C=COSID.ROLLAp .FI "BASIC-AID.ROLLB .FI "BASIC-AID.M4 .BY '101981  .E -$4@ .PR "WHICH KEYBOARD?P .PR "(A=GRAPHICS, B=BUSINESS)`KEYBRD .IN KEYBRpLDTB2 .DE $E65B ;LOW BYTŀ ** .PR "WHAT IS THE PRINTER TYPE? .PR "(A=ASCII, C=COVICE ADDRESp STA *F JSR SNDLST ;SEND LISTEΐ LDA #$60+15 ;SECONDARY ADDRES JSR SNDSALST ;SEND SECONDARY ADDRESBUMP LDA (TXTPTR),Y ;GET THE FIRST CHARACTE  BEQ WG120 ;ZERO IS LAST CHA0 JSR BASOUT ;SEND THE CHA@ INP BNE BUMP ;MOR`WG12 BYTE TO SCREE BNE WG140 ;LOOP FOR MOR WG130 JSR SNDUTK ;UN-TAL0WG998 JMP CREXIT ;DONE WITH CM@P;**`EXECUTE LDA #'^ ;RUN AFTER LOApLOAD STA *TMP6 ;REMEMBER PROMPԀ;** LDY #DODIR INY ;GET LENGTH OF CM LDA (TXTPTR),  BNE DODI0 OPEN1 ;OPEN FILE, SEND NAM` JSR TALK ;LISTEp LDA *S JSR SNDSATK ;SEND SECONDARY ADDRESӐ JSR CRL LDA # STA *ST ;SET STATUS TO ZER  LDY #3 ;LOOP THREE TIME0WG220 STY *FNLEN ;SAVE NEW COUN@WG225 JSR CHARIN ;BASIC IP TA` LDY *ST ;CHER BNE WG400 ;ALWAYӐ WG240 JSR CRLF ;PRINT A CHAR LDY #2 ;DO TWIC 0 ; CHECK FOR STOP KEY AND PAUS@ P JSR AD70E` CMP #$Ep BNE WG22 ; CLOSE FLOPPY AND RETURWG230 JSR CLOSEIEE ;UNTALK & CLOSE IEEE FIL CREXIT JSR CRLF ;PRINT APL LOAD1 ;NOT (-04)..` INC *ENDADD ;FIX THE LOAD (-04) ROp BNE LOAD INC *ENDADD+LOAD1 LDA *ENDADD+1 ;SET BASIC'S POINTER STA *ENDBAS+ LDA *ENDADD ;END ADDRESS HI, THEN LO  STA *ENDBA0RUNPG JSR CLR ;FIX POINTER@ JSR FIXLNK ;FIX POINTE $C2A2 ;BREAK MESSAGPBLTU .DE $C2D`READY .DE $C389 ;JUMPS TO READYpMAIN .DE $C39B ;MAIN'S JSR TO CHRGEԀHANDLN .DE $C3AE ;HANDLE A NEW LINŐFIXLNK .DE $C442 ;FIXES LINKTKNISE .DE $C495 ;TOKENISE INP.BUFFNDLIN .DE $C52C ;FIND A LIN CLR .D;TRACE FIXED JUNE 25 BY FA0;TRACE FIXED FOR 8032 JUNE 2@;MORE WORK JULY 2P;SCROLL FOR 8032 AUGUST 2`;UN-NEW AUGUST 3p;SCROLL SEPT 1;FINE POINTS OCT 1 IFE WHICH-2 ;BASIC 2.0 ROUTINE 0KWDTBL .DE $C092 ;PET KEYWORD TABL@BRKMSG .DE $C572 ;DOES A 'CLR0STXTPT .DE $C5A7 ;SET TXTPT@RUNC .DE $C6C4 ;RUN A PROGRAPGETFXD .DE $C873 ;GETS FIXED NO.`CRLF .DE $C9E2 ;PRINTS A CR & LpCHKCOM .DE $CDF8 ;CHECKS FOR COMMFLOAT .DE $DB55 ;FLOATS ACC#NORM.INT .DE $E62E ;IRQ DESTINATIOA h TWBAID.SRC+UH2ABLOCKS FREE. BAID.MOVE.ASMBASIC-AID.CTBASIC-AID.DOS  BASIC-AID.M1ABASIC-AID.M1BBASIC-AID.M2ABASIC-AID.M2BBASIC-AID.M3APWRAID.2032.LDR PWRAID.8032.LDR BASIC-AID.M3BBASIC-AID.M3CBASIC-AID.M4BAID.MOVE.EXEBASIC-AID.ROLLABASIC-AID.ROLLB BASIC.AID.INS.WP BAID240A1019.LDR BAID240C1019.LDR BAID440A1019.LDRBAID440C1019.LDR BAID480A1019.LDRBAID480C1019.LDR BAID.F4016C.LDRDATABASE4.0.BAS,MEM.CALENDR2.BAS P5-LISTER.BAS BASENAMEINVENTORY HEADER INVENTORY INDEX ARCHASCII.BASPET SOURCES.BASSTARWRITER.BASBAID480C$9@2.EXEPOKE.MAE.BASP6-LISTER.BAS------------POWR.AID.INS1.WPPOWR.AID.INS2.WPPWR-AID.MOVE.ASM POWER-AID.CTA POWER-AID.M1APOWER-AID.M2APOWER-AID.M3A!POWER-AID.M4APOWER-AID.M5A POWER.INS.WPPWRAID.4032.LDR PAID8032.E9.@.$2 0:?; "BASIC-AID.M1B 0@ IFE SCRSIZE-$8PWIDTH .DE 80 ;8032 PE`LASTROW .DE SCREEN+80pKEYBRD .DE $80B ;8032 BUSINESS KEYBOARĀLDTB2 .DE $E755 ;LOW BYTE SCREEΐLDTB1 .DE $E76E ;HIGH BYTE SCREE **  IFE SCRSIZE-$40WIDTH .DE 40 ;403 KEـKEYKEY .DE 69 ;BACKSLASH KEِ ** IFE KEYBRD-$ESCKEY .DE 64 ;ESCAPE KE KEYKEY .DE 64 ;ESCAPE KE0 **@ IFE KEYBRD-$80PESCKEY .DE 155 ;ESCAPE KE`KEYKEY .DE 155 ;ESCAPE KEp ** IFE KEYBRD-$40ESCKEY .DE 4 ;STOP KEKEYKEY .DE 92  PT .DE LINPRT+`pCHKIN .DE $FFC6 ;SET UP FOR INPUԀCHKOUT .DE $FFC9 ;SET UP FOR OUTPUԐCLRCHN .DE $FFCC ;SETS DEFAULT I/INPUT .DE $FFCF ;INPUT A CHARACTEPRINT .DE $FFD2 ;OUTPUT A CHARACTE STOPKEY .DE $FFE0GETIN .DE $FFE@CLOSAL .DE $FFE7  ACK+0CMDLEN .DE CHRGET+$C ;LENGTH OF COMMAN@ENDBAS .DE VARTAB ;END OF PROGRAPFACC .DE FACHO ;ACCUMULATOR NUMBER `POINTR .DE INDEX1 ;FOR ROM ROUTINEpFIXDLO .DE LINNUM ; 'FIXDHI .DE LINNUM+1 ; 'WRKPTR .DE LOWTR ; 'HEXLO .DE TMP0 ;BYTE FO1 ;SCREEN BOTTOM LINŀSCLF .DE SCBOT+1 ;SCREEN LEFT COLUMΐSCRT .DE SCLF+1 ;SCREEN RIGHT COLUM AUTOLN .DE SCRT+ TRCDLY .DE AUTOLN+1 ;DELAY ON TRAC SAVCHR .DE TRCDLY+1 ;SAVE NEW CHAR FOR REPEA0 DELAY .DE SAVCHR+1 ;DELAY BEFORE REPEA@ REPDY .DE DOpSTREND .DE $2ŀFRETOP .DE $3STRNGED .DE $32 ;END OF STRINGMEMSIZ .DE $34 ;TOP OF MEMORY SPACBASLIN .DE $36 ;CURRENT LINE NUMBE OLDLIN .DE $30INPPTR .DE $4@VARNAM .DE $42 ;VARIABLE NAMPLSTPNT .DE $4`SIZETMP .DE $52 ;TEMP VAR FOR FIOTREV .DE $9F ;REVERSE MODpBLNCT .DE $A8 ;CTR BETWEEN CRSR BLINKӀGDBLN .DE $A9 ;GOOD CHAR BEFORE BLINːBLNON .DE $AA ;CHAR IN REVERSE FLAFSTCHR .DE CHRGET+$10 ;FIRST CHR AFTER CMSAVX .DE CHRGET+$1 WSW .DE $B0T1 .DE $B@T2 .DE $BPTMP6 .DLF .DE $D2 ;LOGICAL AD@SA .DE $D3 ;SECOND ADPFA .DE $D4 ;FIRST AD`TBUF .DE $D6 ;ACTIVE CASSETTE BUF PTpTBLX .DE $D8 ;ACTIVE EDIT LINŀFNADR .DE $DNOINSERT .DE $DC ;INSERT MODTMP0 .DE $FTMP2 .DE CHRGET+$1 FROM .DE $55 ;LONG FORM POINT0?; "BASIC-AID.M2A 0@COLD LDA #0 ;INITIALISE AUTP STA AUTOLN ;WITH ZERO'` STA TRCDLp LDA WBEGIN ;PROTECT EDITOҐ LDX WBEGIN+1 ; POINTER CPX #$80 ;ABOVE RA BCS COLD01  STA *MEMSI0 STX *MEMSIZ+@ JSR CLP`COLD010 LDX #1 NOPP007D JMP PSGET ;FINISH CHRGE`p; LOCATIONS $80-$87 FREE FOR USŀPRTMSG LDA NGMSG,X ;OUTPUT MESSAG BEQ MSGEN JSR PRIN  IN0 BNE PRTMS@MSGEND RTP`;**pKILL BNE NKILL ;'KILL' ONLY ;** SEAD7027 LDX #2AD7028 LDA RESG2 PE@LASTROW .DE SCREEN+40PLDTB1 .DE $E0 ;HIGH BYTE SCREE` **p IFE SCRSIZE-$FA4WIDTH .DE 40 ;FAT 40 PELASTROW .DE SCREEN+40KEYBRD .DE $40A ;GRAPHICS KEYBOAR LDTB2 .DE $E790LDTB1 .DE $E@ **P` IFE KEYBRD-$pESCKEY .DE 4 ;STOP;BACKSLASH KE ** 0@P; COMMOM BASIC ROUTINES & LOCATION`pFLOATC .DE FLOAԀCHARIN .DE BASIN ;INPUT A CHARACTEҐSNDUTK .DE UNTALFOUT .DE ASCOUINBASIC .DE BASI RESETB .DE STXTP0LINGET .DE GETFX@SNDLST .DE LISTEN ;SEND LISTEPLIN;CLOSE ALL OPEN FILEP`CHRGET .DE $0070 ;GET NEXT TEXT CHpCHRGOT .DE $0076 ;GET LAST TEXT CHҀBUFOFS .DE $0200 ;BASIC INPUT BUFFEҐKYBDBF .DE $026F ;KEYBOARD BUFFESCREEN .DE $8000 ;SCREEN ADDRESSTACK .DE $0100 ;PROCESSOR STAC STRNG1 .DE STR HEXOUHEXHI .DE TMP0+1 ;BYTE FOR HEXOU BUFPTR .DE COUNT ;INPUT BUFFER PT0XLINE .DE $381 ;LINE TO PRINT O@NCOL .DE XLINE+1 ;NUMBER OF COLUMNS PRINTEPDFLG .DE NCOL+1 ;DIRECTION OF SCROLL FLA`SCTOP .DE DFLG+1 ;SCREEN TOP LINpSCBOT .DE SCTOP+ELAY+1 ;DELAY BETWEEN REPEAP KEYD .DE KYBDB` p ; ZERO PAGE LOCATIONӀ TEMP .DE $09 ;TEMPORARY STORCOUNT .DE $0LINNUM .DE $1 INDEX1 .DE $10INDEX2 .DE $2@TMPREG .DE $2PTXTTAB .DE $28 ;BEGIN OF SOURC`VARTAB .DE $2A ;BYTE AFTER TRIP ZERND/CHANGpLOWTR .DE $5ÀFACHO .DE $5F ;FLOAT ACCU͐TXTPTR .DE $7CINV .DE $90 ;INDIRECT IRQ VECTOST .DE $96 ;I/O STATU LSTX .DE $97 ;LAST KEY HI0SFST .DE $98 ;SHIFT FLA@VERCK .DE $9D ;LOAD/VERIFY CHECPNDX .DE $9E ;NUMBER CHAR IN BUFFE`NE CHRGET+$1`T3 .DE CHRGET+$12 ;SAVpPNT .DE $C4 ;POINTER TO NEXT PRINԀPNTR .DE $C6 ;COLUMN OF NEXT PRINԐENDADD .DE $C9 ;ENDING ADDRESS FOR LOANOTQUOT .DE $CD ;QUOTE MODOPNFILE .DE $AE ;NUMBER OF OPEN FILE FNLEN .DE $D1 ;LENGTH OF FILENAM0`E0TO .DE $57 ;SHORT FORM POINTE@FLAG .DE $54 ;FLAGS KEY CHARACTERPTMP4 .DE CHRGET+$1`` OF NEXT PRINԐENDADD .DE $C9 ;ENDING ADDRESS FOR LOANOTQUOT .DE $CD ;QUOTE MODOPNFILE .DE $AE ;NUMBER OF OPEN FILE FNLEN .DE $D1 ;LENGTH OF FILENAM0 pCOLD020 LDA P0070,؀ STA *CHRGET,ؐ DE BPL COLD02  LDX #MESSGE-NGMS0 JSR PRTMS@P JMP AD71EA ;TURN ON REPEA`p; PUT ROUTINE IN CHRGEԀP0070 INC *TXTPTR ;INCREMENT TXTPT BNE P007 INC *TXTPTR+ P0076 LDA BUFOFS-0 JMP ENTR@ ET-$11,X ;START OF ROM CHRGE  STA *CHRGET,0 DE@ BPL AD702P JMP OFF+3 ;KILL REPEAT AND EXI`pNKILL JMP SYNERR ;NO - SYNTAX ERROR; TRACE ROUTIN TRCDO LDA #H,SCREEN ;SET POINTE0 STA *TMP4+@ LDA #WIDTH-11-WHICP STA *TMP` LDA  O NEXT LINŐ ADC *TMP STA *TMP BCC AD704  INC *TMP4+0AD7040 DEC *TMP6 ;10 LINES YET @ BNE AD7037 ;NP` LDX *BASLIN ;GET CURRENT LINNUMLp LDA *BASLIN+1 ;AND Hɀ STX *FACC+1 ;CHUCK THEM IN THE ACC JSR LINOU LDY #0 ;SET INDEX TO ZER CH,X ;PUT IT UP ON THE SCREE BNE AD706E ;NOT END OF NU AD707C LDA #$A0 ;LOAD A RVS SPAC0AD707E DEX ;BUMP TO NEXT SPO@ BMI AD7086 ;IF NEG THEN FINISHEP STA LASTROW-11-WHICH,X ;OTHERWISE, PUT RVS SPC ON SCREE` BPL AD707E ;AND JUMP BACpAD7086 #$BF ;CONVERT TO PEEK/POK` ORA #$80 ;REVERSE Ip STA LASTROW-5-WHICH,X ;PUT IT ON SCREE΀ INX ;BUMP ؐ INY ;BUMP  CPY #5+WHICH ;FINISHED TRACE  BNE AD7090 ;NO - GO BAC  BEQ AD70D7 ;YES - FINISH OF0@AD70A5 LDA #$BD ;GET REV COLOP .BY $2,Y ;GET A CHA` BMI AD70CA ;IF END OF KYWRD:-OUp CLC ;OTHERWISE ADD 6 ADC #$4 STA LASTROW-5-WHICH,X ;PUT IT ON SCREE INX ;BUMP CHA BNE AD70B9 ;JUMP BAC 0AD70CA AND #$BF ;CONVERT TO POK@ .BY $2C ;SKIP NEXT TWO BYTEPAD70CD LDA #$A0 ;AD710D ;DONE, SO RETURP`AD70E4 STA $E845 ;SET TIMEpAD70E7 BIT $E84Ā BVC AD70E BVS AD70D; HOLD ON SPACE KEY PRESSED OR SHIFT KE 0AD70EE BIT *SFST ;SHIFT KEY DOW@ BNE AD70EE ;YES, HOLP JSR AD710` BNE AD710pAD70F8 JSR AD710 BAD710D RTS; OUTPUT LINE FROM FAC LINOUT STA *FAC0 LDX #$90 ;SET INTEGE@ SEP JSR FLOAT ;FLOAT I` JMP ASCOUT ;PUT ASCII VERS ON STACK AT $10p; INCREMENT TMP INCTMP4 INC *TMP BNE INCRT INC *TMP4+0 INCRTS RT@ 10 B0o?; "BASIC-AID.M3A 0@;****PDELETE JSR AD74E6 ;RANG`;****p LDA *WRKPTҀ LDX *WRKPTR+ STA *INDEX2 ;SAVE I STX *INDEX2+ JSR FNDLI  LDA *WRKPT0 LDX *WRKPTR+@ BCC AD7278 ;SKIP IF NOT FOUNP LDY #$0` LDA (WRKPTR),Y ;AT END ENDBA@ STA *ENDBAP TYA` ADC *ENDBAS+1 ;GEN NEW END OF SOURCp STA *ENDBAS+ LDY #$0AD7296 LDA (TXTPTR),Y ;MOVE SOURCE DOW STA (INDEX2), INY  BNE AD7290 INC *TXTPTR+@ INC *INDEX2+P LDA *ENDBAS+1 ;DONE ONE EXTRA PAG` CMP *INDEX2ANGE JSR TKNISE ;TOKENISE..P;****` JSR CHRGET ;GET 1ST DELIMETEpAD73D4 STA *FSTCHR ;SAVE IT LDX #$00 ;ZEROISE POINTERӐ STX *LSTPN JSR AD74C6 ;CHECK DELIMETER LDA *CMDLEN ;FIND OR CHANGE  CMP #$03 ;FIND 0 BNE AD73EA ;NO - GO O@ LDX#10 ;SET LINE COUNTEp STA *TMP LDX # LDY #WIDTAD7037 LDA #11+WHIC STA *CMDLE AD703B LDA (TMP4),Y ;GET ON0 STA (TMP4,X) ;PUT IT ABOVE I@ JSR INCTMP4 ;BUMP IP DEC *CMDLEN ;DONE 13 YET ` BNE AD703p CLÀ LDA #WIDTH-11-WHICH ;BUMP T LDX #5 ;SET POSITION INDE AD7068 INY ;BUMP 0 LDA STACK,Y ;GET A CHARACTE@ BNE AD7068 ;NOT END OF NUMBEP AD706E DEY ;SET Y=LEN(NUM` BEQ AD707C ;NOWTp DEX ;BUMP ؀ LDA STACK,Y ;GET ONE(LAST-FIRST ORA #$80 ;REVERSE I STA LASTROW-11-WHI STA LASTROW-6-WHICH ;STORE LAST ONŀ INX ;BUMP X REǐ LDA *FSTCHR ;GET LAST STATEMEN BMI AD70B4 ;IF KEYWORD THEN D LDY #0 ;OTHERWISE ZEROISE AD7090 LDA (TXTPTR),Y ;GET A CH0 BEQ AD70A8 ;IF END OF LINE - D@ BMI AD70A5 ;IF TOKEN - DP AND C ;SKIP TWO BYTE`AD70A8 LDA #$A0 ;IF NOT SKIPPEp STA LASTROW-5-WHICH,X ;PUT IT ON SCREE΀ INX ;BUMP ؐ CPX #5+WHICH ;END OF TRACE  BCC AD70A8 ;N BCS AD70D7 ;YES FINISH OF 0AD70B4 JSR FNDKWD ;GET KEYWRD(=Y@AD70B9 INY ;BUMP P LDA (TMP4)IF NOT SKIPPE` STA LASTROW-5-WHICH,X ;PUT IT ON SCREEp INX ;BUMP POINTEҀ CPX #5+WHICH ;END OF TRACE  BNE AD70CD ;NO GO BACAD70D7 JSR AD70EE ;YES - RETRAC LDA #$10 ;LOAD ROW SELEC  LDX TRCDLY ;SET DELA0AD70DE DEX ;DECREMENT DELA@ BEQ EQ AD70F CMP #$F BEQ AD70F PH AD7100 JSR AD7100 CMP #$FF ;WAIT FOR KEY RELEAS@ BNE AD710P`; ZERO CHARACTER COUNTEpZEROCHAR LDA # STA *ND PL RT 0@AD7103 LDA $E81P CMP $E81` BNE AD710p CMP #$FB ;SPACE KEY(G)/6(B #$02 ;YES - MODIFY POINTEP STX *LSTPN` JSR AD74C6 ;CHECK DELIMETERpAD73EA JSR CHRGET ;LINE RANGE AD73ED BEQ AD73F2 ;NO - GO Oΐ JSR CHKCOM ;YES, COMMA AD73F2 JSR AD74E6 ;DO LINE RANG LDA *WRKPTR ;SET CHRGET POINTER  LDX *WRKPTR+0 STAOF TEXp BEQ AD7278 ;YEӀ TAX DEY LDA (WRKPTR),AD7278 STA *TXTPTR ;INCLUDE TO LINE  STX *TXTPTR+0 LDA *INDEX2 ;CHECKS FROM#