DECLARE SUB filecheck () COMMON SHARED save COMMON SHARED filename$ ' Big text writer 2.1 ' Made by Olle Bergkvist 2006 ' can now be compiled ' the letter or symbol to be written pxlstr$ = CHR$(219) CLS PRINT "Loading characters..." DIM file$(0 TO 7) DIM chars%(0 TO 255, 0 TO 7, 0 TO 7) OPEN "letters.txt" FOR INPUT AS #1 FOR chr = 0 TO 255 FOR a = 0 TO 7 FOR b = 0 TO 7 chars%(chr, a, b) = VAL(INPUT$(1, #1)) NEXT b NEXT a NEXT chr CLOSE PRINT "Done!" save = 0 INPUT "Print to file name (optional):", filename$ IF filename$ <> "" THEN filecheck SELECT CASE save CASE 1 OPEN filename$ FOR OUTPUT AS #1 CASE 2 OPEN filename$ FOR APPEND AS #1 END SELECT PRINT "To exit, press Esc." DO SLEEP key$ = INKEY$ LOOP WHILE key$ = "" row = 1 col = 1 CLS DO '----- main loop FOR n = 1 TO LEN(key$) chr = ASC(MID$(key$, n)) IF chr = 27 THEN GOTO theend '------ start file plugin IF save AND chr = 13 THEN FOR l = 0 TO 7 PRINT #1, file$(l) file$(l) = "" NEXT END IF IF col < 0 THEN col = 73: row = row - 8 IF col > 75 OR chr = 13 THEN col = 1: row = row + 8 IF row < 0 THEN row = 1: col = 1 IF row > 20 THEN row = 1: col = 1: CLS FOR a = 0 TO 7 FOR b = 0 TO 7 pxl = chars%(chr, a, b) LOCATE row + a, col + b IF pxl THEN PRINT pxlstr$; '------ start file plugin IF save AND chr <> 13 AND pxl THEN file$(a) = file$(a) + pxlstr$ ELSE file$(a) = file$(a) + " " END IF NEXT b NEXT a col = col + 8 NEXT n '------ backspace IF chr = 8 THEN FOR n = 1 TO 2 col = col - 8 IF col < 0 THEN col = 73: row = row - 8 IF col > 75 OR chr = 13 THEN col = 1: row = row + 8 IF row < 0 THEN row = 1: col = 1 IF row > 20 THEN row = 1: col = 1: CLS FOR a = 0 TO 7 FOR b = 0 TO 7 LOCATE row + a, col + b PRINT " "; NEXT b NEXT a NEXT n END IF DO SLEEP key$ = INKEY$ LOOP WHILE key$ = "" LOOP theend: IF save THEN FOR l = 0 TO 7 PRINT #1, file$(l) NEXT CLOSE END IF END SUB filecheck RANDOMIZE TIMER randomvar = RND OPEN filename$ FOR APPEND AS 1 PRINT #1, randomvar CLOSE OPEN filename$ FOR INPUT AS 1 INPUT #1, check CLOSE IF randomvar <> check THEN PRINT PRINT "The file already exists!" PRINT "Press 1 to overwrite, 2 to add on the end" PRINT "or Esc to exit." PRINT DO SLEEP key$ = INKEY$ SELECT CASE key$ CASE "1" save = 1 EXIT SUB CASE "2" save = 2 EXIT SUB CASE CHR$(27) EXIT SUB END SELECT LOOP END IF END SUB