home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1985 December / Antic_Magazine_1985_12_Antic.atr / crbust.m65 < prev    next >
Text File  |  2023-02-26  |  2KB  |  1 lines

  1. 10 ; BBS CRASHBUSTER, LISTING 2¢20 ; BY MATTHEW RATCLIFF¢30 ; (c) 1985, ANTIC PUBLISHING¢40 ;¢50 ;FORM: A=USR(PROG,ADR(L$),LEN(L$))¢60 ;¢70 RESULT =  $D4     ; RETURN # OF BAD CHARACTERS¢80 TXADR =   $D6     ;SAVE STRING ADDR¢90 SAVCR =   $D8     ;SAVE CHARACTER TO SEE IF CHANGED¢0100     *=  $4000   ;CAN GO ANYWHERE¢0110 START¢0120     LDA #0      ;ZERO-OUT RESULT¢0130     STA RESULT¢0140     STA RESULT+1¢0150     PLA         ;GET ARGS¢0160     BEQ ERROR   ;DISALLOW BAD CALLS¢0170     CMP #2      ;MUST BE 2¢0180     BEQ AOK     ;GOOD..PROCESS IT¢0190     TAX         ;BAD CALL, CLEAN UP STACK¢0200 ER1 PLA ¢0210     PLA ¢0220     DEX ¢0230     BNE ER1¢0240 ERROR INC RESULT+1¢0250 ;THIS WILL RETURN 256 IN CALLING¢0260 ;VARIABLE, INDICATING INVALID CALL.¢0270     RTS ¢0280 AOK PLA ¢0290     STA TXADR+1¢0300     PLA ¢0310     STA TXADR   ;GET STRING ADDRESS¢0320     PLA ¢0330     PLA         ;GET LENGTH¢0340     TAY         ;USE AS INDEX¢0350 LOOP¢0360     LDA (TXADR),Y¢0370     STA SAVCR   ;SAVE CHARACTER¢0380     AND #$7F    ;DISALLOW INVERSE¢0390     SEC ¢0400     CMP #32     ;CHECK FOR CONTROL CARS¢0410     BCS NCTL    ;NO CONTROL-GOOD¢0420     CLC         ;YES, THEN ADD 64¢0430     ADC #64     ;TO MAKE IT ASCII CHARACTER¢0440 ;CONTROL-LETTERS & INVERSE-CONTROL-LETTERS¢0450 ;BECOME EQUIVALENT VALID LETTERS.¢0460 NCTL SEC ¢0470     CMP #123    ;NO CHARS ABOVE CHR$(123),"z"¢0480     BCC OK1¢0490     SBC #64     ;TOO BIG, MAKE CTRL-";" A ";"¢0500 ;ALSO TAKES CARE OF ESCAPE-CTRL EDIT KEYS¢0510 OK1 CMP #96     ;NOT CTRL-PERIOD EITHER¢0520     BNE ALLOK¢0530     LDA #46     ;CTRL-PERIOD, MAKE IT PERIOD ONLY¢0540 ALLOK STA (TXADR),Y¢0550     CMP SAVCR¢0560     BEQ TEST¢0570     INC RESULT  ;KEEP "BAD" COUNT¢0580 TEST DEY ¢0590     BPL LOOP¢0600     RTS         ;CLEANED UP, BACK TO BASIC¢0610     .END ¢