5 FOR M=0 TO 25 :PRINT :NEXT M 10 PRINT "RLE DUMP Version 1.0" 11 PRINT"05/20/87 by Dave CLIFFORD":PRINT "TIME-==-CHANGE MBBS-RCP/M (213) 329-3922":PRINT :PRINT 13 GOSUB 5000 15 GOSUB 1500 45 PRINT "SYNTAX = filename.RLE" 50 INPUT "FILENAME ";F$ 51 GOSUB 1250 52 PRINT 53 PRINT "Decoding--> ";F$;" and sending to the printer..." 56 LET T=0 58 '**** OPEN THE FILE AND STRIP THE FIRST 3 (USUALLY) BYTES **** 100 OPEN "I",1,F$ 102 LET C=(ASC(INPUT$(1,#1))) 103 PRINT "TRASH==>";C; 104 IF C=27 THEN PRINT "<== DENOTES ESCAPE CODE" 105 IF C=71 THEN PRINT "<== (G) GRAPHICS ENABLE FLAG" 106 IF C=72 THEN PRINT "<== (H)= HIGH REZ (M)= MED REZ PIC" 107 '**** GO SETUP THE SYSTEM AND DUMP THE PIC 108 IF C=72 THEN PRINT : PRINT "OK... GO GET COFFEE I'M BUSY....":GOTO 180 109 GOTO 102 150 LET R=(ASC(INPUT$(1,#1))) 152 LET R=R-32 154 IF R<0 THEN LET R=0 156 LET T=T+R 158 LET TIC=R 160 GOSUB 7000 165 GOSUB 6000 170 IF EOF(1)=-1 THEN CLOSE #1:GOTO 1000 180 GOTO 150 1000 PRINT CHR$(7):PRINT 1001 PRINT "TOTAL PIXEL COUNT ";T;" The norm is 49151 pixels." 1100 PRINT "DUMP of ";F$;" Completed":PRINT CHR$(7) 1102 '****** RESET COUNTERS FOR NEXT PIC SO EVERYTHINGS STRAIGHT ****** 1105 LET B=1 1106 LPRINT CHR$(10) 1108 LET LMAX=0 1110 GOTO 1500 1250 FOR ZZ=1 TO LEN(F$):MID$(F$,ZZ,1)=CHR$(ASC(MID$(F$,ZZ,1))+32*(ASC(MID$(F$,ZZ,1)) > 96)) 1255 NEXT ZZ 1260 RETURN 1500 PRINT:PRINT:PRINT "----------------------------":PRINT " COMMAND MENU":PRINT:PRINT 1510 PRINT " D = DUMP a file to the printer" 1512 PRINT 1515 PRINT " L = List *.RLE files" 1517 PRINT 1520 PRINT " E = EXIT to CP/M" 1525 PRINT 1527 PRINT CHR$(7) 1530 INPUT "COMMAND ";F$ 1535 GOSUB 1250 1540 IF F$= "D" THEN GOTO 45 1545 IF F$= "L" THEN GOTO 8000 1550 IF F$= "E" THEN GOTO 1700 1555 GOTO 1500 1700 SYSTEM 1999 '***** PRINTER DRIVE ROUTINES ******** 2000 FOR POFF=1 TO TIC 2010 LPRINT CHR$(0);:LET LMAX=LMAX+1 2020 IF LMAX>255 THEN LET LMAX=LMAX-256:GOSUB 4000 2030 NEXT POFF 2032 LET B=1 2040 RETURN 3000 FOR PON=1 TO TIC 3010 LPRINT CHR$(1);:LET LMAX=LMAX+1 3020 IF LMAX>255 THEN LET LMAX=LMAX-256:GOSUB 4000 3030 NEXT PON 3032 LET B=0 3040 RETURN 3999 '***** DO AN n/216 INCH LINE FEED ****** 4000 LPRINT CHR$(27);CHR$(51);CHR$(L) 4005 LPRINT CHR$(10) 4008 '***** SET UP FOR A 576 DOT GRAPHIC LINE ****** 4010 LPRINT CHR$(27);CHR$(42);CHR$(5);CHR$(0);CHR$(1) 4020 RETURN 5000 '******* PROGRAM EQUATES ********* 5010 LET PTOG=0 5020 LET TIC=0 5030 LET L=1 5040 LET LMAX=0 5050 LPRINT CHR$(27);CHR$(64) 5060 LET B=1 5065 RETURN 5999 '******* PIXEL LOGIC AND TOGGLE ROUTINES ****** 6000 IF PTOG=1 THEN GOSUB 3000 6010 IF PTOG=0 THEN GOSUB 2000 6999 RETURN 7000 LET PTOG=B 7999 RETURN 8000 FILES "*.RLE" 8002 GOTO 1500