home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1990 April / Antic_Magazine_1990_04_Antic_Side_B.atr / invasion.src < prev    next >
Text File  |  2023-02-26  |  29KB  |  1 lines

  1. 0100  .OPT NOLIST¢0105  *=$1F00¢0110 BP¢0115  LDA #2        ;INIT RESET KEY¢0120  STA 9¢0125  LDA #BP&255¢0130  STA 2¢0135  LDA #BP/256¢0140  STA 3¢0145  LDA #0¢0150  STA 580¢0155  STA LN        ;LVL VAR=0¢0160  STA SP        ;SPD VAR=0¢0165  STA 82        ;LMAR=0¢0170  STA JLOCK     ;UNLOK JOYSTIK¢0175  LDA #39¢0180  STA 83        ;RMAR=0¢0185  LDA #7¢0190  JSR GRAPHICS¢0195  LDA #64¢0200  STA 16¢0205  STA 53774     ;NO BREAK¢0210  LDA #HPOS&255¢0215  STA $C0       ;DEC ADR L¢0220  STA PHPOS     ;HPOS PTR L¢0225  LDA #HPOS/256¢0230  STA $C1       ;DEC ADR H¢0235  STA PHPOS+1   ;HPOS PTR H¢0240  LDY #0¢0245 MAKEDEC¢0250  LDA #$DE      ;"DEC ABS,X"¢0255  STA DECS,Y¢0260  LDA $C0       ; ADR TO DEC L¢0265  INY¢0270  STA DECS,Y¢0275  LDA $C1       ; ADR TO DEC H¢0280  INY¢0285  STA DECS,Y¢0290  LDA $C0       ;INC BY 8 ADR FOR¢0295  CLC           ; 'DEC' INSTR TO¢0300  ADC #$08      ; GET NXT IN LYR¢0305  STA $C0       ; OF STRS¢0310  LDA $C1¢0315  ADC #0¢0320  STA $C1¢0325  INY           ;MAKE NXT INSTR.¢0330  CPY #72       ;DONE ALL?¢0335  BCC MAKEDEC   ;N:CONT¢0340  LDA #DLII&255 ;Y:INIT ADR TO¢0345  STA $C0       ; MAKE DLI IN¢0350  LDA #DLII/256¢0355  STA $C1¢0360  LDA #LT&255   ;INIT PTR TO¢0365  STA PLT       ; LUM TBL¢0370  LDA #LT/256¢0375  STA PLT+1¢0380  LDX #0        ;#DLI'S DONE¢0385 OMDLI¢0390  LDY #0        ;#INSTR'S DONE¢0395 IMDLI¢0400  LDA DLIP,Y    ;GET INSTR.¢0405  STA ($C0),Y   ;PUT IN DLI¢0410  INY           ;NXT BYT¢0415  CPY #15       ;DONE?¢0420  BCC IMDLI     ;N:GET ANOTHER¢0425  LDA $C0       ;Y:INC ADR WHERE¢0430  CLC           ; DLI IS PUT IN¢0435  ADC #15       ; MEM¢0440  STA $C0¢0445  LDA $C1¢0450  ADC #0¢0455  STA $C1¢0460  LDA PHPOS     ;CHG DLI INSTR¢0465  CLC           ; TBL SO NXT DLI¢0470  ADC #1        ; REFERS TO NXT¢0475  STA PHPOS     ; STAR'S HPOS¢0480  LDA PHPOS+1¢0485  ADC #0¢0490  STA PHPOS+1¢0495  LDA PLT       ;SAME FOR LUM.¢0500  CLC¢0505  ADC #1¢0510  STA PLT¢0515  LDA PLT+1¢0520  ADC #0¢0525  STA PLT+1¢0530  INX¢0535  CPX #192      ;DONE 192 DLIS?¢0540  BCC OMDLI     ;N:KEEP MAKING¢0545  LDA #3        ;Y:ENABLE P/M¢0550  STA 53277¢0555  STA ERP       ;LVL 1 PSE¢0560  LDA #$40      ;PMBASE=$4000¢0565  STA 54279¢0570  LDA #62       ;SDMCTL=SGL LINE¢0575  STA 559¢0580  LDA #1        ;GRPRIOR¢0585  STA 623¢0590  STA 752       ;CURSOR OFF¢0595  LDA ELVT      ;GET LVL 1 SPD¢0600  STA ELVL      ;STORE IN PGM¢0605  LDA #$31      ;INIT MSGS¢0610  STA LNGM¢0615  STA SPGM¢0620  LDA #14       ;SET UP P/M COL¢0625  STA 704¢0630  STA 705¢0635  STA 706¢0640  LDY #0¢0645  TYA¢0650 BLANKPM¢0655  STA $4300,Y   ;CLR M1-4¢0660  STA $4400,Y   ; P0¢0665  STA $4500,Y   ; P1¢0670  STA $4600,Y   ; P2¢0675  INY¢0680  BNE BLANKPM   ;DONE ALL 256?¢0685  LDX #32       ;Y:X=OFSET TO M0¢0690  LDA #$80¢0695  STA X         ;INIT CRSHR POS¢0700  STA Y¢0705 FM STA $4300,X ;FILL M3¢0710  INX¢0715  CPX #224      ;BOT OF SCREEN?¢0720  BCC FM        ;N:CONT FILL¢0725  LDX #0        ;Y:INIT STR COLS¢0730  STX CTR¢0735 OLP¢0740  LDY #0¢0745 ILP¢0750  LDA C,Y       ;GET LUM FROM TBL¢0755  STA LT,X      ;STORE IN BIG TBL¢0760  INX¢0765  INY¢0770  CPY #8        ;DONE W/SML TBL?¢0775  BCC ILP       ;N:KEEP XFER¢0780  INC CTR       ;Y:NXT GRP¢0785  LDA CTR¢0790  CMP #24       ;DONE W/SCREEN?¢0795  BCC OLP       ;N:XFER SML TBL¢0800  LDA #0        ;Y:BLK BCKGROUND¢0805  STA 710¢0810  TAX¢0815 FILL¢0820  LDA $D20A¢0825  STA HPOS,X    ;RND STAR HPOS¢0830  INX¢0835  CPX #192      ;DONE 192?¢0840  BCC FILL      ;N:MORE RND HPOS¢0845  LDA 560       ;Y:SET UP DLI¢0850  STA $C0       ; LINE¢0855  LDA 561¢0860  STA $C1¢0865  LDY #2¢0870  LDA ($C0),Y¢0875  ORA #$80¢0880  STA ($C0),Y¢0885  LDA #SVBI&255 ;ADR FOR SETUP¢0890  STA $0228     ; COUNTDOWN TIMER¢0895  LDA #SVBI/256 ; ROUTINE¢0900  STA $0229¢0905  LDA #DLI&255  ;DLI ADR¢0910  STA 512¢0915  LDA #DLI/256¢0920  STA 513¢0925  LDX #0¢0930 INITE¢0935  LDA $D20A¢0940  AND #$7F¢0945  CLC¢0950  ADC #60       ;RND ENM X¢0955  STA EX,X¢0960  AND #$3F      ;RND ENM MOVE¢0965  STA ELIM,X    ; LIMIT¢0970  AND #$03      ;RND ENM DX¢0975  SEC¢0980  SBC #1¢0985  STA EDX,X¢0990 REINITY¢0995  LDA $D20A     ;RND ENM Y¢1000  AND #$7F¢1005  CLC¢1010  ADC #46¢1015  STA EY,X¢1020  AND #$03      ;RND ENM DY¢1025  SEC¢1030  SBC #1¢1035  BEQ REINITY   ;NO ZERO DY!¢1040  STA EDY,X¢1045  LDA #0        ;MVMENT CTR=0¢1050  STA ECTR,X¢1055  STA ELOCK,X   ;UNLOK ENM¢1060  LDA #$FF      ;#VECTS MOVED=¢1065  STA NV,X      ; NEG:ENM ADVANC¢1070  LDA #5        ;ENM SHP CTR=5=¢1075  STA ESC,X     ; SMALLEST FRAME¢1080  LDA #7¢1085  STA EP,X      ;TMR PSE=7¢1090  STA ET,X      ;TMR=7¢1095  INX¢1100  CPX #3        ;DONE ALL 3 ENM?¢1105  BCC INITE     ;N:INIT NEXT¢1110  LDA ERP       ;Y:ENM RTN PSE*8=¢1115  ASL A         ; ENM FIRING PSE¢1120  ASL A¢1125  ASL A¢1130  STA OKF¢1135  LDA #$70¢1140  STA SHIELD    ;INIT SHIELD¢1145  LDA #$99¢1150  STA REM       ;INIT REMAINING¢1155  LDA #0        ;POS 0,0¢1160  STA 656¢1165  STA 657¢1170  STA 658¢1175  TAX           ;X=IOCB0=SCRN¢1180  LDA #11       ;ICCOM=PUTCHR¢1185  STA $0342¢1190  LDA #SMSG&255 ;ICBADR=SMSG¢1195  STA $0344¢1200  LDA #SMSG/256¢1205  STA $0345¢1210  LDA #158      ;ICBLEN=158¢1215  STA $0348¢1220  STX $0349¢1225  STX $02FF     ;NO CTRL-1¢1230  JSR $E456     ;CIOV¢1235 ST LDX #0      ;PSE ABT 1 SEC¢1240 OP¢1245  LDY #0¢1250 IP¢1255  DEY¢1260  BNE IP¢1265  DEX¢1270  BNE OP¢1275  STX $02FF     ;NO CTRL-1¢1280  LDA 53279     ;CONSOLE KEY¢1285  CMP #7        ;TOUCHING A KEY?¢1290  BEQ ST¢1295  CMP #5        ;SELECT?¢1300  BNE NSEL¢1305  JMP SELECT¢1310 NSEL CMP #3    ;OPTION?¢1315  BNE NOPT¢1320  JMP OPTION¢1325 NOPT CMP #6    ;START?¢1330  BNE ST¢1335  JMP START¢1340 OPTION¢1345  LDX LN        ;INC LEVEL NUMBER¢1350  INX¢1355  CPX #3¢1360  BCC LNS¢1365  LDX #0¢1370 LNS STX LN¢1375  LDA ELVT,X    ;GET ENM LVL¢1380  STA ELVL      ;STORE IN PGM¢1385  LDA #35       ;POS 33,0¢1390  STA 657¢1395  LDA #0¢1400  STA 658¢1405  STA 656¢1410  STA $0348     ;ICBLEN=0:DATA¢1415  STA $0349     ; STORED IN ACCU.¢1420  LDA #11       ;ICCOM=PUTCHR¢1425  STA $0342¢1430  INX           ;CHG LVL TO ASCII¢1435  TXA¢1440  ORA #$30¢1445  STA LNGM      ;STORE IN GMSG¢1450  LDX #$00      ;X=IOCB0:SCREEN¢1455  JSR $E456     ;CIOV¢1460  JMP ST        ;BACK TO PAUSE¢1465 SELECT¢1470  LDX SP        ;INC ENM SPD BY 1¢1475  INX¢1480  CPX #3¢1485  BCC SPS¢1490  LDX #0¢1495 SPS STX SP¢1500  LDA ERPT,X    ;GET NEW PAUSE¢1505  STA ERP       ; &STORE IN PGM¢1510  LDA #35       ;POS 33,1¢1515  STA 657¢1520  LDA #0¢1525  STA 658¢1530  STA $0348     ;ICBLEN=0:DATA IN¢1535  STA $0349     ; ACCU.¢1540  LDA #1¢1545  STA 656¢1550  LDA #11       ;ICCOM=PUTCHR¢1555  STA $0342¢1560  INX           ;CHG SPD TO ASCII¢1565  TXA¢1570  ORA #$30¢1575  STA SPGM      ;STORE IN GMSG¢1580  LDX #0        ;X=IOCB0:SCREEN¢1585  JSR $E456     ;CIOV¢1590  JMP ST        ;BACK TO PAUSE¢1595 START¢1600  LDX #0        ;POS 0,0¢1605  STX 656¢1610  STX 657¢1615  STX 658¢1620  LDA #11       ;ICCOM=PUTCHR¢1625  STA $342¢1630  LDA #GMSG&255 ;ICBADR=GMSG¢1635  STA $0344¢1640  LDA #GMSG/256¢1645  STA $0345¢1650  LDA #158      ;ICBLEN=158¢1655  STA $0348¢1660  LDA #0¢1665  STA $0349¢1670  JSR $E456     ;CIOV¢1675  LDA #1        ;SET FLAG=PUT¢1680  STA EFLAG     ; CRSHAIR ON SCR¢1685  STA $21A      ;ENABLE SET RTN¢1690  LDA #192¢1695  STA 54286     ;ENABLE DLI¢1700 MAIN¢1705  LDA $D20F¢1710  AND #$04      ;PRESSNG ANY KEY?¢1715  BNE NOSPACE¢1720  LDA 53769¢1725  CMP #$21      ;PRESSING SPACE?¢1730  BNE NOSPACE¢1735  JSR STPI      ;STP ALL INTER.¢1740 KEYED¢1745  LDA $D20F¢1750  AND #$04      ;STILL PRESSING?¢1755  BEQ KEYED¢1760 PAUSED¢1765  LDA $D20F¢1770  AND #$04      ;PRESSING A KEY?¢1775  BNE PAUSED¢1780  LDA 53769¢1785  CMP #$21      ;PRESSING SPACE?¢1790  BNE PAUSED¢1795 RELEASE¢1800  LDA $D20F¢1805  AND #$04      ;STILL PRESSING?¢1810  BEQ RELEASE¢1815  JSR STRI      ;RESTART INTER.¢1820 NOSPACE¢1825  LDA #0¢1830  STA 77        ;NO ATTRACT MODE¢1835  LDA $D010     ;FIRE BUTTON?¢1840  BNE EFIRE     ;N:ENM'S FIRE¢1845  JMP FIRE      ;Y:YOU FIRE¢1850 EFIRE¢1855  LDA OKF       ;TIME FOR ENM TO¢1860  BEQ DOEFIRE   ; FIRE?¢1865  JMP MAIN¢1870 DOEFIRE¢1875  LDA ERP       ;RESTORE ENM FIRE¢1880  ASL A         ; CTR¢1885  ASL A¢1890  ASL A¢1895  STA OKF¢1900  LDA $D20A¢1905 ELVL=*+1¢1910  CMP #64       ;FIRE ACCORDING¢1915  BCS MAIN      ; TO PROBABILITY¢1920  AND #$03¢1925  CMP #3¢1930  BEQ MAIN¢1935  TAX           ;ENEMY # FIRING¢1940  LDA NV,X¢1945  BEQ MAIN      ;IF RECEDING,QUIT¢1950  BMI MAIN      ;IF ADVANCNG,QUIT¢1955  LDA ELOCK,X¢1960  BNE MAIN      ;IF LOCKED,QUIT¢1965  STX EL¢1970  LDA #$20      ;START ENM LASER¢1975  STA $D200     ; SOUND¢1980  LDA #$4F¢1985  STA $D201¢1990  LDA #1        ;LOCK ENEMY¢1995  STA ELOCK,X¢2000  LDA #2        ;COLOR 2¢2005  JSR COLOR¢2010  LDX EL¢2015  LDA EY,X      ;CHG ENM PLR Y¢2020  SEC           ; INTO GR 7 YPOS¢2025  SBC #26¢2030  LSR A¢2035  PHA¢2040  TAY¢2045  LDA EX,X      ;CHG ENM PLR X¢2050  SEC           ; INTO GR 7 XPOS¢2055  SBC #45¢2060  PHA¢2065  TAX¢2070  LDA #0¢2075  JSR PLOT      ;PLOT¢2080  LDA $D20A     ;RND YPOS¢2085  AND #$3F¢2090  CLC¢2095  ADC #8¢2100  TAY¢2105  STA LY¢2110  LDA $D20A     ;RND XPOS¢2115  AND #$7F¢2120  CLC¢2125  ADC #16¢2130  TAX¢2135  STA LX¢2140  LDA #0¢2145  JSR DRAWTO    ;DRAWTO TO HERE¢2150  LDA #64       ;FLASH SCREEN RED¢2155  STA 712¢2160  STA 710¢2165  LDA #0        ;COLOR 0¢2170  JSR COLOR¢2175  PLA           ;START XPOS FOR¢2180  TAX           ; LASER¢2185  PLA           ;START YPOS FOR¢2190  TAY           ; LASER¢2195  LDA #0¢2200  JSR PLOT      ;'UNPLOT' THIS PT¢2205  LDA #0        ;END XPOS FOR¢2210  LDX LX        ; LASER¢2215  LDY LY        ;END YPOS¢2220  JSR DRAWTO    ;ERASE LINE¢2225  LDX EL¢2230  LDA #0        ;UNLOCK ENEMY¢2235  STA ELOCK,X¢2240  STA $D200     ;TURN OFF SOUND¢2245  STA $D201¢2250  STA 712       ;BLACKEN SCREEN¢2255  STA 710¢2260  LDA SHIELD¢2265  PHA¢2270  CMP #2¢2275  BCC LOSE      ;YOU KILLED?¢2280  JSR STPI¢2285  SED¢2290  PLA¢2295  SEC¢2300  SBC #2        ;DECREASE SHIELD¢2305  STA SHIELD¢2310  PHA¢2315  CLD¢2320  JSR STRI¢2325  LDA #36       ;POS 36,0¢2330  STA 657¢2335  LDA #0¢2340  STA 658¢2345  STA 656¢2350  PLA¢2355  JSR PN        ;PRINT NEW SHIELD¢2360  JMP MAIN      ;BACK TO MAIN¢2365 LOSE¢2370  LDA #$8F      ;DISTORTION,VOL¢2375  STA $D201     ; FOR YOUR EXPL¢2380  STA JLOCK     ;LOCK JSTICK¢2385  LDX #$80      ;EXPL DURATION¢2390 LO LDY #0¢2395 LI LDA $D20A¢2400  STA $D200     ;RND FREQ¢2405  STA 712       ;RND COL¢2410  STA 710¢2415  DEY¢2420  BNE LI¢2425  DEX¢2430  BNE LO        ;LOOP YOUR EXPL¢2435  STX $D200     ;TURN OFF SOUND¢2440  STX $D201¢2445  STX 712       ;BCK COL=0¢2450  STX 710¢2455  STX 656       ;POS 0,0¢2460  STX 657¢2465  STX 658¢2470  LDA #11¢2475  STA $0342     ;ICCOM=PRNCHR¢2480  LDA #LMSG&255 ;ICBADR=LMSG¢2485  STA $0344¢2490  LDA #LMSG/256¢2495  STA $0345¢2500  LDA #39       ;ICBLEN=39¢2505  STA $0348¢2510  STX $0349¢2515  JSR $E456     ;CIOV¢2520  JMP RES       ;WAIT FOR RESTART¢2525 FIRE LDA #$4F  ;START YOUR LASER¢2530  STA $D201     ; SOUND¢2535  LDA #1¢2540  STA $D200¢2545  STA JLOCK     ;LOCK JOYSTIK¢2550  JSR COLOR     ;COLOR 1¢2555  LDA #0¢2560  STA 53278     ;CLR OLD COLL.¢2565  LDX #80¢2570  LDY #79¢2575  JSR PLOT      ;PLOT 80,79¢2580  LDA X         ;CHG CROSSHAIR X¢2585  SEC           ; TO GR.7 XPOS¢2590  SBC #45¢2595  PHA¢2600  TAX¢2605  LDA Y         ;CHG CROSSHAIR Y¢2610  SEC           ; TO GR.7 YPOS¢2615  SBC #26¢2620  LSR A¢2625  PHA¢2630  TAY¢2635  LDA #0¢2640  JSR DRAWTO    ;DRAWTO TO HERE¢2645  LDA #0¢2650  JSR COLOR     ;COLOR 0¢2655  LDA #0¢2660  LDX #80¢2665  LDY #79¢2670  JSR PLOT      ;ERASE LASER STRT¢2675  PLA           ;LASER END Y¢2680  TAY¢2685  PLA           ;LASER END X¢2690  TAX¢2695  LDA #0        ;TURN OFF SOUND¢2700  STA $D200¢2705  STA $D201¢2710  JSR DRAWTO    ;ERASE LASER¢2715  LDA #0        ;UNLOK JOYSTIK¢2720  STA JLOCK¢2725  LDA $D008     ;CHECK FOR ANY¢2730  BEQ CH2       ; COLLISIONS¢2735  JSR HIT¢2740 CH2 LDA $D009¢2745  BEQ CH3¢2750  JSR HIT¢2755 CH3 LDA $D00A¢2760  BEQ NOHIT¢2765  JSR HIT¢2770 NOHIT¢2775  JMP EFIRE     ;LET ENM FIRE¢2780 HIT¢2785  BIT ONE       ;HIT P0?¢2790  BEQ ONEOK¢2795  LDX #0¢2800  JSR EXPLODE¢2805 ONEOK¢2810  BIT TWO       ;HIT P1?¢2815  BEQ TWOOK¢2820  LDX #1¢2825  JSR EXPLODE¢2830 TWOOK¢2835  BIT FOUR      ;HIT P2?¢2840  BEQ FOUROK¢2845  LDX #2¢2850  JSR EXPLODE¢2855 FOUROK¢2860  RTS¢2865 EXPLODE¢2870  PHA           ;SAVE COLL REG¢2875  TXA           ;SAVE WHICH ENM¢2880  PHA           ; TO EXPLODE¢2885  LDA ELOCK,X   ;ENM LOCKED?¢2890  BEQ CANEXP¢2895  PLA¢2900  PLA¢2905  RTS¢2910 CANEXP PLA     ;RESTORE WHICH TO¢2915  PHA           ; EXPL.&SAVE AGN¢2920  CLC           ;GET WHICH PLR¢2925  ADC #$44      ; BAND TO USE¢2930  STA EXPADR¢2935  LDA #1        ;LOCK ENEMY¢2940  STA ELOCK,X¢2945  LDA EY,X      ;GET ENM YPOS¢2950  TAY¢2955  LDX #0¢2960 EXPLP¢2965  LDA EXPSHP,X  ;PUT EXPLOSION¢2970 EXPADR=*+2¢2975  STA $FF00,Y¢2980  INX¢2985  INY¢2990  CPX #12       ;ALL 12?¢2995  BCC EXPLP¢3000  PLA¢3005  TAX¢3010  LDA #60       ;KEEP THIS EXPL.¢3015  STA EXPCTR,X  ; ON FOR 1 SEC¢3020  JSR STPI      ;STP INT¢3025  SED¢3030  LDA REM¢3035  SEC¢3040  SBC #1¢3045  STA REM       ;REM=REM-1(DEC)¢3050  LDA SHIELD¢3055  CMP #$99¢3060  BEQ NOIS¢3065  CLC¢3070  ADC #1¢3075  STA SHIELD    ;SHIELD=SHIELD+1¢3080 NOIS CLD¢3085  JSR STRI      ;STR INT¢3090  LDA REM¢3095  PHA¢3100  CMP #3        ;>=3 LEFT?¢3105  BCS CANR¢3110  LDA #0        ;CANT RESTORE¢3115  JMP STORR¢3120 CANR LDA #1    ;CAN RESTORE¢3125 STORR STA R,X¢3130  PLA¢3135  BEQ WIN       ;IF KILL ALL,WIN!¢3140  LDY #36       ;POS 36,1¢3145  STY 657¢3150  LDY #0¢3155  STY 658¢3160  LDY #1¢3165  STY 656¢3170  JSR PN        ;PRNT #REMAINING¢3175  LDA #36       ;POS 36,0¢3180  STA 657¢3185  LDA #0¢3190  STA 658¢3195  STA 656¢3200  LDA SHIELD¢3205  JSR PN        ;PRINT NEW SHIELD¢3210  PLA           ;RESTORE COL REG¢3215  RTS           ;BACK TO CALLER¢3220 WIN LDX #0     ;POS 0,0¢3225  STX 656¢3230  STX 657¢3235  STX 658¢3240  LDA #11       ;ICCOM=PUTCHR¢3245  STA $342¢3250  LDA #WMSG&255 ;ICBADR=WMSG¢3255  STA $344¢3260  LDA #WMSG/256¢3265  STA $345¢3270  LDA #79       ;ICBLEN=79¢3275  STA $348¢3280  STX $349¢3285  JSR $E456     ;CIOV¢3290 RES LDA 53279  ;PRESSING START?¢3295  CMP #6¢3300  BNE RES¢3305  JMP $E474     ;'PRESS' RESET¢3310 PN PHA¢3315  LSR A         ;GET HIGH NIBBLE¢3320  LSR A¢3325  LSR A¢3330  LSR A¢3335  JSR CA        ;PRINT¢3340  PLA¢3345  AND #$0F      ;GET LOW NBL&PRT¢3350 CA ORA #$30    ;CHG TO ASCII¢3355  LDX #11       ;ICCOM=PUTCHR¢3360  STX $342¢3365  LDX #0        ;ICBLEN=0=DATA IN¢3370  STX $348      ; ACCU.¢3375  STX $349¢3380  JMP $E456     ;CIOV¢3385 STPI¢3390  LDA #$80      ;STOP INTERRUPTS¢3395  STA $D40E¢3400  SEI¢3405  RTS¢3410 STRI LDA #$C0  ;ENABLE INTER.'S¢3415  STA $D40E¢3420  CLI¢3425  RTS¢3430 SVBI¢3435  LDA #DVBI&255 ;ENABLE DEF VBI¢3440  STA $0224¢3445  LDA #DVBI/256¢3450  STA $0225¢3455  LDA #IVBI&255 ;ENABLE IMM VBI¢3460  STA $0222¢3465  LDA #IVBI/256¢3470  STA $0223¢3475  LDA #CRTN&255 ;ENABLE CTDN TMR¢3480  STA $0228     ; ROUTINE¢3485  LDA #CRTN/256¢3490  STA $0229¢3495  LDA #1¢3500  STA $021A¢3505  RTS¢3510 CRTN¢3515  LDA #0¢3520  STA $02FF     ;NO CTRL-1¢3525  INC 708       ;PULSE YOUR LASER¢3530  LDA OKF       ;UPDATE OKF (ENM¢3535  BEQ NUOKF     ; FIRE CTR)¢3540  DEC OKF¢3545 NUOKF¢3550  LDX #2¢3555 CKEXP¢3560  LDA EXPCTR,X  ;ENM EXPLODING?¢3565  BEQ NXEXP¢3570  DEC EXPCTR,X  ;DEC EXPL CTR¢3575  BEQ STPEXP    ;IF DONE EXP,STOP¢3580  LDA #$20      ;ELSE,KEEP EXPL¢3585  STA $D202     ; SOUND ON¢3590  LDA #$0F¢3595  STA $D203¢3600 NXEXP DEX¢3605  BPL CKEXP     ;DONE ALL ENM'S?¢3610  LDA #1        ;RESET CTDN TMR¢3615  STA $21A¢3620  RTS¢3625 STPEXP¢3630  TXA¢3635  PHA¢3640  CLC           ;GET WHICH PLR¢3645  ADC #$44      ; BAND TO USE¢3650  STA EREXAD¢3655  LDA EY,X¢3660  TAY¢3665  LDA #0¢3670  STA $D202     ;STOP EXPL SOUND¢3675  STA $D203¢3680  TAX¢3685 EREX¢3690 EREXAD=*+2¢3695  STA $FF00,Y   ;ERASE EXPL¢3700  INX¢3705  INY¢3710  CPX #12       ;DONE ERASING?¢3715  BCC EREX¢3720  PLA¢3725  TAX¢3730  LDA $D20A     ;RND XPOS¢3735  AND #$7F¢3740  CLC¢3745  ADC #60¢3750  STA EX,X¢3755  LDA $D20A     ;RND YPOS¢3760  AND #$7F¢3765  CLC¢3770  ADC #46¢3775  STA EY,X¢3780  LDA #$FF      ;ENEMY=ADVANCING¢3785  STA NV,X¢3790  LDA #0¢3795  STA 53278     ;NO COLL W/EXPL.¢3800  LDA #5        ;ENEMY=STARTS¢3805  STA ESC,X     ; OUT SMALL¢3810  LDA #7¢3815  STA ET,X      ;ENM TMR=7¢3820  STA EP,X      ;ENM TMR PSE=7¢3825  LDA R,X¢3830  BEQ NOU       ;CAN WE UNLOK?¢3835  LDA #0¢3840  STA ELOCK,X   ;UNLOK¢3845 NOU JMP NXEXP  ;NXT EXPL.¢3850 DVBI¢3855  INC S1        ;STAR1 CTR=..+1¢3860  INC S2        ; 2¢3865  INC S3        ; 3¢3870  INC S4        ; 4¢3875  INC S5        ; 5¢3880  INC S6        ; 6¢3885  INC S7        ; 7¢3890  INC S8        ; 8¢3895  LDX #0¢3900 PAUSE¢3905  LDA S1,X      ;NEED TO RESET¢3910  CMP PS,X      ; THIS CTR?¢3915  BCC SKIP¢3920  LDA #0        ;RESET CTR¢3925  STA S1,X¢3930  JSR DECS      ;AND MOV THE STRS¢3935  CPX #1¢3940  BCS SKIP¢3945  JSR DECS¢3950 SKIP¢3955  INX           ;NEXT LEVEL¢3960  CPX #8        ;DONE ALL 8 LVLS?¢3965  BCC PAUSE¢3970  JMP $E462     ;RET TO SYSTEM¢3975 DECS¢3980  *=*+72        ;DEC STRS IN LYR¢3985  RTS           ; (CREATED RTNE)¢3990 DLI¢3995  PHA           ;SAVE REGS¢4000  TXA¢4005  PHA¢4010  TYA¢4015  PHA¢4020 DLII¢4025  *=*+2880      ;SET STR HPOS,LUM¢4030  PLA           ;RESTORE REGS¢4035  TAY¢4040  PLA¢4045  TAX¢4050  PLA¢4055  RTI¢4060 IVBI¢4065  LDA JLOCK     ;LOCKED JOYSTIK?¢4070  BEQ JMOVE¢4075  JMP ERTN¢4080 JMOVE¢4085  LDX #1¢4090 CHECKJOY¢4095  LDA #15       ;GET 15-STICK(0)¢4100  SEC¢4105  SBC 632¢4110  BIT ONE       ;UP?¢4115  BEQ NOTONE¢4120  LDY Y¢4125  CPY #32       ;IS Y AT TOP?¢4130  BCC NOTONE¢4135  DEC Y         ;DEC Y TWICE¢4140  DEC Y¢4145  STX EFLAG     ;FLAG-REDRAW¢4150 NOTONE¢4155  BIT TWO       ;DOWN?¢4160  BEQ NOTTWO¢4165  LDY Y¢4170  CPY #182      ;IS Y AT BOT?¢4175  BCS NOTTWO¢4180  INC Y         ;INC Y TWICE¢4185  INC Y¢4190  STX EFLAG     ;FLAG-REDRAW¢4195 NOTTWO¢4200  BIT FOUR      ;LEFT?¢4205  BEQ NOTFOUR¢4210  LDY X¢4215  CPY #50       ;IS X LEFTMOST?¢4220  BCC NOTFOUR¢4225  DEC X         ;DEC X TWICE¢4230  DEC X¢4235 NOTFOUR¢4240  BIT EIGHT     ;RIGHT?¢4245  BEQ NOTEIGHT¢4250  LDY X¢4255  CPY #201      ;IS X RTMOST?¢4260  BCS NOTEIGHT¢4265  INC X         ;INC X TWICE¢4270  INC X¢4275 NOTEIGHT¢4280  LDX X         ;UPDATE XPOS¢4285  STX $D004¢4290  INX¢4295  INX¢4300  STX $D005¢4305  INX¢4310  INX¢4315  STX $D006     ;STORE IN HPOSM2¢4320  LDA EFLAG     ;NEED TO REDRAW?¢4325  BEQ ERTN      ;N:MOVE ENEMIES¢4330  LDA #0        ;Y:REDRAW CROSS-¢4335  STA EFLAG     ; HAIR¢4340  TAX¢4345  LDY Y¢4350 PUTLOOP¢4355  LDA $4300,Y   ;GET OLD MBYTE¢4360  AND #$C0      ;SAVE ONLY M3¢4365  ORA PSHAP,X   ;FORCE IN C-HAIR¢4370  STA $4300,Y   ;STORE FINAL BYT¢4375  INX¢4380  INY¢4385  CPX #12       ;DONE ALL 12?¢4390  BCC PUTLOOP¢4395 ERTN¢4400  LDA #0¢4405  STA EC¢4410  STA $C0       ;($C0)=PTR TO PLR¢4415  LDA #$44      ; BAND CURRENTLY¢4420  STA $C1       ; IN USE¢4425  LDX EC¢4430 ELOOP¢4435  LDA ELOCK,X   ;ENEMY LOCKED?¢4440  BEQ CKTM¢4445  JMP NEXENM¢4450 CKTM DEC ET,X  ;DEC ENM'S TIMER¢4455  BEQ DOTHISENM ;IF ZERO,MOVE HIM¢4460  JMP NEXENM    ;ELSE DO NEXT ENM¢4465 DOTHISENM¢4470  LDA EP,X      ;RESET THIS ENM'S¢4475  STA ET,X      ; TIMER¢4480  LDA NV,X      ;GET #VECTRS MOVD¢4485  BEQ DSAPPR    ;ZERO=DSAPPR¢4490  BMI APPEAR    ;NEG#=APPEAR¢4495  JMP CONTERTN  ;POS#=MOVING¢4500 DSAPPR¢4505  STA CTR¢4510  LDA ESC,X¢4515  CMP #5¢4520  BCS SETAPR    ;DONE DISAPPRING?¢4525  ASL A¢4530  CLC¢4535  ADC ESC,X¢4540  ASL A¢4545  ASL A¢4550  LDY EY,X      ;Y=PTR TO ENM PLR¢4555  TAX           ;X=PTR 2 ESHP TBL¢4560 RECLP¢4565  LDA ESHAP,X   ;GET SHAPE BYTE¢4570  STA ($C0),Y   ;STORE IT IN P0¢4575  INX¢4580  INY¢4585  INC CTR¢4590  LDA CTR¢4595  CMP #12¢4600  BCC RECLP¢4605  LDX EC¢4610  INC ESC,X     ;NEXT FRAME¢4615  JMP NEXENM    ;NXT ENM¢4620 SETAPR¢4625  LDA #$FF      ;#VECT CTR=NEG #:¢4630  STA NV,X      ; ENM WILL APPEAR¢4635  LDA EY,X¢4640  CLC¢4645  ADC #5¢4650  STA EY,X¢4655  TAY¢4660  LDA #0        ;ERASE ENEMY¢4665  STA ($C0),Y¢4670  LDA $D20A     ;RND ENM XPOS¢4675  AND #$7F¢4680  CLC¢4685  ADC #60¢4690  STA EX,X¢4695  LDA $D20A     ;RND ENM YPOS¢4700  AND #$7F¢4705  CLC¢4710  ADC #46¢4715  STA EY,X¢4720  JMP NEXENM    ;NXT ENM¢4725 APPEAR¢4730  DEC ESC,X¢4735  BMI DNAPPR    ;DONE APPEARING?¢4740  LDA ESC,X¢4745  ASL A¢4750  CLC¢4755  ADC ESC,X¢4760  ASL A¢4765  ASL A¢4770  LDY EY,X      ;Y=PTR TO ENM PLR¢4775  TAX           ;X=PTR TO SHP TBL¢4780  LDA #0¢4785  STA CTR¢4790 APLP¢4795  LDA ESHAP,X   ;GET ENM SHP BYT¢4800  STA ($C0),Y   ;PUT IT IN PLR¢4805  INX¢4810  INY¢4815  INC CTR¢4820  LDA CTR       ;DONE 12 BYTES?¢4825  CMP #12¢4830  BCC APLP¢4835  LDX EC¢4840  LDA EX,X      ;GET ENM'S XPOS¢4845  STA $D000,X   ;STORE IN HPOS¢4850  JMP NEXENM    ;NXT ENM¢4855 DNAPPR¢4860  LDA $D20A     ;RND MAX # VECTRS¢4865  AND #$07¢4870  CLC¢4875  ADC #4¢4880  STA MNV,X¢4885 ERP=*+1¢4890  LDA #1¢4895  STA ET,X      ;ENM TMR=1¢4900  STA EP,X      ;ENM TMR PSE=1¢4905  LDA #1¢4910  STA NV,X      ;#VETCS MOVED=1¢4915  JMP NEXENM    ;NXT ENM¢4920 CONTERTN¢4925  LDA EX,X      ;ENM'S X=..+DX¢4930  CLC¢4935  ADC EDX,X¢4940  STA EX,X¢4945  CMP #48       ;OFF LEFT EDGE?¢4950  BCC CEDIR¢4955  CMP #201      ;OFF RIGHT EDG?¢4960  BCS CEDIR¢4965  LDA EY,X      ;ENM Y=..+DY¢4970  CLC¢4975  ADC EDY,X¢4980  STA EY,X¢4985  CMP #186      ;OFF BOT EDGE?¢4990  BCS CEDIR¢4995  CMP #33       ;OFF TOP EDGE?¢5000  BCC CEDIR¢5005  INC ECTR,X    ;N:INC CTR 4 ENM¢5010  LDA ECTR,X    ;HAS IT MOVED¢5015  CMP ELIM,X    ; THE LIMIT?¢5020  BCS CEDIR¢5025 PUTENM¢5030  LDY EY,X      ;Y=PTR TO ENM PLR¢5035  LDX #0        ;X=PTR TO SHP TBL¢5040 PUTELP¢5045  LDA ESHAP,X   ;GET ENM SHAPBYT¢5050  STA ($C0),Y   ;STORE IN ENM PLR¢5055  INY¢5060  INX¢5065  CPX #12       ;DONE ALL 12?¢5070  BCC PUTELP¢5075  LDX EC¢5080  LDA EX,X      ;GET ENM XPOS¢5085  STA $D000,X   ;STORE IN HPOS¢5090 NEXENM INC $C1 ;NXT PLR BAND¢5095  INC EC        ;NXT ENM CTR¢5100  LDX EC        ;DONE W/ALL 3¢5105  CPX #3        ; ENMS?¢5110  BCS RETIMM¢5115  JMP ELOOP     ;CONT W/NXT ENM¢5120 RETIMM¢5125  JMP $E45F     ;BACK TO SYSTEM¢5130 CEDIR¢5135  LDA EY,X      ;RESTORE ENM YPOS¢5140  SEC¢5145  SBC EDY,X¢5150  STA EY,X¢5155  LDA EX,X      ;RESTORE ENM XPOS¢5160  SEC¢5165  SBC EDX,X¢5170  STA EX,X¢5175  INC NV,X      ;#VECTS MVED=..+1¢5180  LDA NV,X      ;LIMIT YET?¢5185  CMP MNV,X¢5190  BCC CNTCEDIR¢5195  LDA #0        ;NV=0:FLAG-ENM¢5200  STA NV,X      ; WILL RECEDE¢5205  STA ESC,X     ;RSET ENM SHP CTR¢5210  LDA #7¢5215  STA ET,X      ;ENM TMR=7¢5220  STA EP,X      ;ENM TMR PSE=7¢5225  JMP NEXENM    ;UPDATE NXT ENM¢5230 CNTCEDIR¢5235  LDA #0        ;RESET MVEMNT CTR¢5240  STA ECTR,X¢5245  LDA 53770     ;SET A NEW¢5250  AND #$3F      ; MOVEMENT LIMIT¢5255  STA ELIM,X¢5260  LDA EX,X¢5265  BPL POSEDX    ;IF X=LF,DX=RT¢5270  BMI NEGEDX    ;IF X=RT,DX=LF¢5275 NEWEDY LDA EY,X¢5280  BPL POSEDY    ;IF Y=UP,DY=DN¢5285  BMI NEGEDY    ;IF Y=DN,DY=UP¢5290  JMP PUTENM    ;DRAW SHAPE¢5295 POSEDX¢5300  JSR GETPOS    ;GET RND ENM +DX¢5305  STA EDX,X¢5310  JMP NEWEDY¢5315 NEGEDX¢5320  JSR GETNEG    ;GET RND ENM -DX¢5325  STA EDX,X¢5330  JMP NEWEDY¢5335 POSEDY¢5340  JSR GETPOS    ;GET RND ENM +DY¢5345  STA EDY,X¢5350  JMP PUTENM¢5355 NEGEDY¢5360  JSR GETNEG    ;GET RND ENM -DY¢5365  STA EDY,X¢5370  JMP PUTENM¢5375 GETPOS¢5380  LDA 53770     ;GET RND 1-3¢5385  AND #$03¢5390  BEQ GETPOS¢5395  RTS¢5400 GETNEG¢5405  LDA 53770     ;GET RND -1 TO -3¢5410  AND #$03¢5415  BEQ GETNEG¢5420  EOR #$FF¢5425  CLC¢5430  ADC #1¢5435  RTS¢5440 ONE¢5445  .BYTE 1 ;FOR 'BIT' INSTR.¢5450 TWO¢5455  .BYTE 2 ; SAME¢5460 FOUR¢5465  .BYTE 4 ; SAME¢5470 EIGHT¢5475  .BYTE 8 ; SAME¢5480 Y¢5485  .BYTE 0 ;CROSSHAIR Y¢5490 X¢5495  .BYTE 0 ;CROSSHAIR X¢5500 EFLAG¢5505  .BYTE 0 ;C-HAIR REDRAW FLAG¢5510 PSHAP¢5515  .BYTE $00,$00,$0C,$0C,$0C,$3F,$3F,$0C,$0C,$0C,$00,$00 ;CRSSHAIR SHAPE¢5520 C¢5525  .BYTE 14,12,10,8,8,6,4,2 ;STARS' COLOR (LUMINANCE) TABLE¢5530 S1¢5535  .BYTE 0 ;CTR FOR STAR LAYER 1¢5540 S2¢5545  .BYTE 0 ;                   2¢5550 S3¢5555  .BYTE 0 ;                   3¢5560 S4¢5565  .BYTE 0 ;                   4¢5570 S5¢5575  .BYTE 0 ;                   5¢5580 S6¢5585  .BYTE 0 ;                   6¢5590 S7¢5595  .BYTE 0 ;                   7¢5600 S8¢5605  .BYTE 0 ;                   8¢5610 PS¢5615  .BYTE 1,1,2,3,4,6,9,14 ;STR SPD¢5620 CTR¢5625  .BYTE 0 ;MISC COUNTER¢5630 DLIP¢5635  .BYTE $AD  ;"LDA ABSOLUTE"¢5640 PHPOS¢5645  .WORD HPOS ; ADR FOR LDA¢5650  .BYTE $AC  ;"LDY ABSOLUTE"¢5655 PLT¢5660  .WORD LT          ;ADR FOR LDY¢5665  .BYTE $8D,$0A,$D4 ;STA WSYNC¢5670  .BYTE $8D,$07,$D0 ;STA HPOSM3¢5675  .BYTE $8C,$15,$D0 ;STY COLRM3¢5680 EX¢5685  .BYTE 0,0,0 ;ENEMY XPOS TABLE¢5690 EY¢5695  .BYTE 0,0,0 ;ENEMY YPOS TABLE¢5700 ESHAP¢5705  .BYTE 0,0,0,0,146,186,254,198,0,0,0,0¢5710  .BYTE 0,0,0,0,146,254,198,0,0,0,0,0¢5715  .BYTE 0,0,0,0,84,124,68,0,0,0,0,0¢5720  .BYTE 0,0,0,0,0,56,0,0,0,0,0,0¢5725  .BYTE 0,0,0,0,0,16,0,0,0,0,0,0¢5730 EDX¢5735  .BYTE 0,0,0 ;ENEMY DX TABLE¢5740 EDY¢5745  .BYTE 0,0,0 ;ENEMY DY TABLE¢5750 ECTR¢5755  .BYTE 0,0,0 ;# STEPS TRAVELED¢5760 ELIM¢5765  .BYTE 0,0,0 ;MAX # STEPS TO XVL¢5770 NV¢5775  .BYTE 0,0,0 ;#VECTORS TRAVELED¢5780 MNV¢5785  .BYTE 0,0,0 ;MAX VECTS TO XVEL¢5790 ESC¢5795  .BYTE 0,0,0 ;ENM SHAPE CTR¢5800 EP¢5805  .BYTE 0,0,0 ;ENM TIMER PAUSES¢5810 ET¢5815  .BYTE 0,0,0 ;ENM TIMERS¢5820 EC¢5825  .BYTE 0     ;CTR FOR ENM MVEMNT¢5830 JLOCK¢5835  .BYTE 0¢5840 ELOCK¢5845  .BYTE 0,0,0 ;ENM 'LOCK' STATUS¢5850 EL¢5855  .BYTE 0     ;ENEMY FIRING LASER¢5860 LX¢5865  .BYTE 0     ;LASER TERMINAL X¢5870 LY¢5875  .BYTE 0     ;LASER TERMINAL Y¢5880 EXPSHP¢5885  .BYTE 20,64,10,160,4,17,132,33,4,80,2,40 ;EXPLOS SHAPE¢5890 EXPCTR¢5895  .BYTE 0,0,0 ;EXPLOSION COUNTER¢5900 OKF¢5905  .BYTE 0     ;ENM OK2FIRE CTR¢5910 ELVT¢5915  .BYTE 64,128,192 ;ENM LVL TBL¢5920 ERPT¢5925  .BYTE 3,2,1 ;ENM RTN PAUSE TBL¢5930 LN¢5935  .BYTE 0     ;LEVEL #¢5940 SP¢5945  .BYTE 0     ;ENEMY SPEED¢5950 SMSG¢5955  .BYTE "    ááááחמשIJצחנמáááá  OPTION-Level:1    "¢5960  .BYTE "    ááááììììììììáááá  SELECT-Speed:1    "¢5965  .BYTE "    áΓ∙´áמ∩≥ϕβ∈áכΘ∈á  START -Play Game  "¢5970  .BYTE "    áááá¿π⌐áõ¨ÕÕáááá  SPACE -Pause      "¢5975 GMSG¢5980  .BYTE "    ááááחמשIJצחנמáááá  Shield Energy:70  "¢5985  .BYTE "    ááááììììììììáááá  Enemies Left :99  "¢5990 LNGM=*+37¢5995  .BYTE "    áΓ∙´áמ∩≥ϕβ∈áכΘ∈á  Level Number : 1  "¢6000 SPGM=*+37¢6005  .BYTE "    áááá¿π⌐áõ¨ÕÕáááá  Enemy Speed  : 1  "¢6010 WMSG¢6015  .BYTE "    ááááחמשIJצחנמáááá  וננגáטנאíךנרáתחמí "¢6020  .BYTE "    ááááììììììììáááá  ¡¡®ספדצצáצקIJפק¶¡¡ "¢6025 LMSG¢6030  .BYTE "    ááááחמשIJצחנמááááYOU LOSE-PUSH START "¢6035 SHIELD .BYTE 0 ;SHIELD ENERGY¢6040 REM .BYTE 0   ;#ENM LEFT¢6045 R .BYTE 0,0,0 ;ENM UNLOCK FLAG¢6050 GRAPHICS¢6055  PHA          ;SAVE ORIG. #¢6060  LDX #$60     ;IOCB 6(SCREEN)¢6065  LDA #12      ;CLOSE #6¢6070  STA $342,X   ;(JUST TO BE¢6075  JSR $E456    ; SAFE!)¢6080  LDA #3       ;OPEN #6¢6085  STA $342,X   ;COMMAND #¢6090  LDA #SCRDEV&255 ;ADDR OF "S:"¢6095  STA $344,X   ;LO BYTE¢6100  LDA #SCRDEV/256 ;AND NOW THE¢6105  STA $345,X   ;    HI BYTE¢6110  LDA #1       ;LENGTH OF SCRN¢6115  STA $348,X   ; I.D. IS ONLY¢6120  LDA #0       ; ONE CHARACTER¢6125  STA $349,X   ; (THE 'S')¢6130  PLA          ;GET IT BACK¢6135  PHA          ;BUT STILL SAVE¢6140  EOR #16      ;REVERSE BIT 5¢6145  AND #16      ;KEEP ONLY BIT 5¢6150  CLC          ;ADD 12 TO IT¢6155  ADC #12¢6160  STA $34A,X   ;=ICAX1 SPEC¢6165  PLA          ;ORIG. MODE #=¢6170  STA $34B,X   ; ICAX2 SPEC¢6175  JMP $E456    ;AND JMP TO CIO!¢6180 COLOR¢6185  STA COLNUM    ;STORE IT FOR¢6190  RTS          ; LATER USE¢6195 POSITION¢6200  STY 84       ;VERT POS¢6205  STX 85       ;HOR POS LO BYTE¢6210  STA 86       ;HOR POS HI BYTE¢6215  RTS          ;BYE!¢6220 PLOT¢6225  JSR POSITION ;POSITION CURSOR¢6230  LDX #$60     ;SCREEN (IOCB6)¢6235  LDA #11      ;PUT CHARS COMD¢6240  STA $342,X   ;STORE IN ICCOM¢6245  LDA #$00     ;BUFLEN OF ZERO¢6250  STA $348,X   ; MEANS GET/PUT¢6255  STA $349,X   ; DATA TO/FROM¢6260 ;               THE ACCUM.¢6265  LDA COLNUM   ;PUT COLOR # IN¢6270 ;               ACCU B/C LEN=0¢6275  JMP $E456    ;JMP TO CIO¢6280 DRAWTO¢6285  JSR POSITION ;POSITION CURSR¢6290  LDX #$60     ;SCRN (IOCB6)¢6295  LDA #17      ;DRAW LINE CMD¢6300  STA $342,X   ;STORE IN ICCOM¢6305  LDA #0       ;ZERO BUF LEN¢6310  STA $348,X   ; B/C NO DATA¢6315  STA $349,X   ; IS XFERRED!¢6320  LDA COLNUM   ;STORE COL # IN¢6325  STA $02FB    ; 2FB FOR CIO¢6330  JMP $E456    ;AND GO TO CIO¢6335 SCRDEV¢6340  .BYTE "S"    ;SCREEN I.D.¢6345 COLNUM¢6350  BRK          ;COLOR# STORAGE¢6355 HPOS¢6360  *=*+192      ;TBL STR POS¢6365 LT¢6370  *=*+192      ;TBL STR LUM¢6375  *=$02E0¢6380  .WORD BP     ;DOS RUN ADR¢