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