home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / EPSON / FACELIFT.BQS / FACELIFT.BAS
BASIC Source File  |  2000-06-30  |  5KB  |  96 lines

  1. 10 ' FACELIFT: Selects typeface for Epson RX, FX or MX (w/ Graftrax+) printers
  2. 20 ' Caution:  Will not work with older MX's that require ASCII NULL for "0"
  3. 30 ' Type SPACEBAR to reset any selections already made
  4. 40 ' Type M or m to exit to BASIC
  5. 50 ' This program will NOT prevent irrational or meaningless choices, such as
  6. 60 ' trying to set proportional mode on an Epson RX-80 printer.
  7. 65 ' See REM at line 655 if you wish to include Proportional
  8. 70 ' Contributor is not responsible for the odd coding style herein.  Note that
  9. 80 ' FaceLift was originally Protected, no doubt to prevent people from looking
  10. 90 ' at an example of amateurish BASIC.  Who cares?  The program works.
  11. 100 PRINT CHR$(26)
  12. 110 PRINT TAB(10)STRING$(60,46)
  13. 120 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  14. 130 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  15. 140 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  16. 150 PRINT TAB(10)CHR$(58)TAB(35)"FACELIFT (tm)"TAB(69)CHR$(58)
  17. 160 PRINT TAB(10)CHR$(58)TAB(35)STRING$(8,61)TAB(69)CHR$(58)
  18. 170 PRINT TAB(10)CHR$(58)TAB(35)TAB(69)CHR$(58)
  19. 180 PRINT TAB(10)CHR$(58)TAB(23)"for the EPSON MX, RX & FX PRINTERS"TAB(69)CHR$(58)
  20. 190 PRINT TAB(10)CHR$(58)TAB(24)TAB(69)CHR$(58)
  21. 200 PRINT TAB(10)CHR$(58)TAB(31)"CP/M VERSION 3.01"TAB(69)CHR$(58)
  22. 210 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  23. 220 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  24. 230 PRINT TAB(10)CHR$(58)TAB(30)"Turn Your Printer ON"TAB(69)CHR$(58)
  25. 240 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  26. 250 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  27. 260 PRINT TAB(10)CHR$(58)TAB(21)STRING$(38,46)TAB(69)CHR$(58)
  28. 270 PRINT TAB(10)CHR$(58)TAB(21)CHR$(58)TAB(58)CHR$(58)TAB(69)CHR$(58)
  29. 280 PRINT TAB(10)CHR$(58)STRING$(10,46)CHR$(58)" FOR TYPEFACE MENU -- PRESS ANY KEY "CHR$(58)STRING$(10,46)CHR$(58)
  30. 290 PRINT TAB(21)CHR$(58)STRING$(36,46)CHR$(58)
  31. 300 PRINT
  32. 310 GOSUB 890
  33. 320 IF X$<>"" THEN GOTO 350
  34. 330 PRINT CHR$(7);:PRINT CHR$(26):END
  35. 340 LPRINT CHR$(7);:PRINT CHR$(26):SYSTEM
  36. 350 PRINT CHR$(26)
  37. 360 X$=""
  38. 370 GOSUB 800
  39. 380 PRINT CHR$(26):Y$=Y$+CHR$(60)+X$+CHR$(62)
  40. 390 PRINT CHR$(26):PRINT TAB(10)STRING$(60,46)
  41. 400 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  42. 410 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  43. 420 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  44. 430 PRINT TAB(10)CHR$(58)TAB(35)"TYPEFACES"TAB(69)CHR$(58)
  45. 440 PRINT TAB(10)CHR$(58)TAB(35)STRING$(9,61)TAB(69)CHR$(58)
  46. 450 PRINT
  47. 460 PRINT TAB(7) "TO CHOOSE A TYPEFACE, PRESS LETTER OR COMBINATION OF LETTERS BELOW"
  48. 470 PRINT
  49. 480 PRINT TAB(10)CHR$(58)TAB(20)"<B>abyface"TAB(49)"<U>nderline"TAB(69)CHR$(58)
  50. 490 PRINT TAB(10)CHR$(58)TAB(20)"<C>ondensed"TAB(49)"<D>oublestrike"TAB(69)CHR$(58)
  51. 500 PRINT TAB(10)CHR$(58)TAB(20)"<E>lite"TAB(49)"<H>eavy"TAB(69)CHR$(58)
  52. 510 PRINT TAB(10)CHR$(58)TAB(20)"<T>rimline"TAB(49)"<I>talics"TAB(69)CHR$(58)
  53. 520 PRINT TAB(10)CHR$(58)TAB(20)"<W>ide"TAB(49)"<P>roportional"TAB(69)CHR$(58)
  54. 530 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  55. 540 PRINT TAB(10)CHR$(58)TAB(23)"TO CHANGE SELECTION - HIT SPACEBAR"TAB(69)CHR$(58)
  56. 550 PRINT TAB(10)CHR$(58)TAB(69)CHR$(58)
  57. 560 PRINT TAB(10)CHR$(58)TAB(18)"PRINTER COMMANDS: ";Y$;TAB(69)CHR$(58)
  58. 570 PRINT TAB(10)CHR$(58)TAB(17)STRING$(46,46)TAB(69)CHR$(58)
  59. 580 PRINT TAB(10)CHR$(58)STRING$(6,46)CHR$(58)" To SET PRINTER & EXIT FACELIFT, HIT RETURN "TAB(62)CHR$(58)STRING$(6,46)TAB(69)CHR$(58)
  60. 590 PRINT TAB(17)CHR$(58)STRING$(44,46)TAB(62)CHR$(58):GOSUB 890
  61. 600 ' Now set printer as indicated
  62. 610 ' Two bizarre lines that attempted to trap everything NOT a valid command
  63. 620 ' deleted in favor of much simpler INSTR construction.  Might have been
  64. 630 ' some kind of "hacker trap" coding; line buffer overflow was possible if
  65. 640 ' the file converted to ,A type and then loaded.  Wizards, who needs 'em?!
  66. 650 Q$ = "BbCcEeTtWwUuDdHhIi Mm" + CHR$(13)
  67. 655 REM Q$ = Q$ + "Pp"    '<-- Remove the REM if including Proportional
  68. 660 IF INSTR(Q$,X$) = 0 THEN PRINT CHR$(7): GOTO 390
  69. 670 IF X$="B" OR X$="b" THEN LPRINT CHR$(27);"A";CHR$(6);CHR$(27);"S";CHR$(1)CHR$(15);
  70. 680 IF X$="C" OR X$="c" THEN LPRINT CHR$(15);
  71. 690 IF X$="E" OR X$="e" THEN LPRINT CHR$(27);"M";
  72. 700 IF X$="T" OR X$="t" THEN LPRINT CHR$(27);"S0";
  73. 710 IF X$="W" OR X$="w" THEN LPRINT CHR$(27);"W1";
  74. 720 IF X$="U" OR X$="u" THEN LPRINT CHR$(27);"-1";
  75. 730 IF X$="D" OR X$="d" THEN LPRINT CHR$(27);"G";
  76. 740 IF X$="H" OR X$="h" THEN LPRINT CHR$(27);"E";
  77. 750 IF X$="I" OR X$="i" THEN LPRINT CHR$(27);"4";
  78. 760 IF X$="P" OR X$="p" THEN LPRINT CHR$(27);"p1";
  79. 770 IF X$=CHR$(32) THEN GOSUB 850
  80. 780 IF X$="M" OR X$="m" THEN GOTO 330;
  81. 790 IF X$=CHR$(13) THEN GOTO 340:ELSE GOTO 380;
  82. 800 PRINT CHR$(26):PRINT:PRINT:PRINT:PRINT:X$="CLEAR"
  83. 810 PRINT
  84. 820 PRINT
  85. 830 PRINT
  86. 840 PRINT TAB(18)"Please make sure your PRINTER is ON and READY"
  87. 850 LPRINT CHR$(27)"@";CHR$(7);
  88. 860 X$="CLEAR"
  89. 870 Y$=""
  90. 880 RETURN
  91. 890 X$=INKEY$:IF X$="" THEN GOTO 890
  92. 900 RETURN
  93. DY"
  94. 850 LPRINT CHR$(27)"@";CHR$(7);
  95. 860 X$="CLEAR"
  96. 870 Y$=""