home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib29a.dsk / NOVEMBER.1986 / FONT.PRINTER.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  62 lines

  1. 10  REM  **********************
  2. 20  REM  * FONT.PRINTER       *
  3. 30  REM  * BY DONALD W.MILLER *
  4. 40  REM  *                    *
  5. 50  REM  * COPYRIGHT (C) 1986 *
  6. 60  REM  * BY MICROSPARC, INC.*
  7. 70  REM  * CONCORD, MA  01742 *
  8. 80  REM  **********************
  9. 90  REM  * FIRST DETERMINE IF PRODOS IS ACTIVE *
  10. 100  HIMEM: 36352: IF  PEEK(48896) = 76  THEN PD = 1
  11. 110  GOSUB 550: REM  READ IN INTERFACE MENU
  12. 120  REM  * SET UP ERROR VECTOR *
  13. 130  ONERR  GOTO 380
  14. 140 D$ =  CHR$(4):E$ =  CHR$(27):DV = 1
  15. 150  REM  * LOAD MACHINE LANGUAGE ROUTINE *
  16. 160  PRINT D$"BLOAD PRCG,A$9200": POKE 216,0
  17. 170  GOSUB 480: REM  SELECT INTERFACE
  18. 180  TEXT : HOME : NORMAL : PRINT "PROWRITER FONT PRINTER": PRINT "COPYRIGHT 1986 BY MICROSPARC, INC."
  19. 190  FOR X = 1 TO 39: PRINT "=";: NEXT : PRINT : POKE 34,4
  20. 200  ONERR  GOTO 410
  21. 210  VTAB 18: PRINT "ENTER '1' TO CATALOG DRIVE 1": PRINT "ENTER '2' TO CATALOG DRIVE 2": PRINT : PRINT "PRESS <RETURN> ALONE TO EXIT": VTAB 6: INPUT "PRINT WHAT FONT? ";A$
  22. 220  IF A$ = ""  THEN 280
  23. 230  IF A$ = "1"  OR A$ = "2"  THEN  HOME :DV =  VAL(A$): GOSUB 400: GOSUB 390: GOTO 180
  24. 240  IF  RIGHT$(A$,3) < >".PF"  THEN A$ = A$ +".PF"
  25. 250  REM  * LOAD FONT INTO MEMORY *
  26. 260  PRINT D$"BLOAD"A$",A$9300"
  27. 270 L$ = "N":C = 80: GOSUB 300: PRINT D$"PR#0": HOME : GOTO 210
  28. 280  PRINT D$"PR#0": TEXT : HOME : END 
  29. 290  REM  * IF PRODOS ACTIVE, SET OUTPUT TO OUR ROUTINE *
  30. 300  IF PD = 1  THEN  POKE 37395,216: POKE 37385,96: PRINT D$"PR#A$9213": GOTO 330
  31. 310  PRINT D$"PR#1": PRINT  CHR$(9)"80N": IF Z$ = "6"  THEN  PRINT  CHR$(9)"Z"
  32. 320  REM  * INITIALIZE PRINTING ROUTINE *
  33. 330  CALL 37376,C
  34. 340  REM  * PRINT ALL CHARACTERS *
  35. 350  FOR X = 33 TO 127: PRINT  CHR$(X);: NEXT 
  36. 360  PRINT : PRINT : PRINT 
  37. 370  RETURN 
  38. 380  HOME : PRINT "THE BINARY FILE 'PRCG' MUST BE ON THE": PRINT "SAME DISK WITH THIS PROGRAM.": PRINT : END 
  39. 390  PRINT : PRINT "PRESS <RETURN> TO CONTINUE": POKE  -16368,0: GET CH$: POKE  -16368,0: RETURN 
  40. 400  PRINT  CHR$(4) LEFT$("CATALOG",7 -4 *( PEEK(48896) = 76));",D"DV: RETURN 
  41. 410 ER =  PEEK(222):EL =  PEEK(219) *256 + PEEK(218)
  42. 420  HOME : VTAB 7: PRINT  CHR$(4)"CLOSE"
  43. 430  IF ER = 6  THEN  PRINT "FILE NOT FOUND": GOTO 470
  44. 440  IF ER = 8  THEN  PRINT "I/O ERROR": GOTO 470
  45. 450  IF ER = 16  THEN  PRINT "SYNTAX ERROR": GOTO 470
  46. 460  PRINT " ERROR IN LINE "EL
  47. 470  VTAB 23: PRINT "PRESS <RETURN> TO RESTART";: GET CH$: CALL  -3288: GOTO 180
  48. 480  HOME : PRINT "*    FONT.PRINTER BY DONALD MILLER    *": PRINT "*  COPYRIGHT 1986 BY MICROSPARC, INC  *": VTAB 4: PRINT "INTERFACES AVAILABLE:"
  49. 490  PRINT 
  50. 500  FOR I = 1 TO 6
  51. 510  PRINT  TAB( 4)I". "PN$(I): PRINT 
  52. 520  NEXT I
  53. 530  VTAB 20: INPUT "SELECT INTERFACE BY NUMBER: ";Z$: PRINT : IF Z$ <"1"  OR Z$ >"6"  THEN  PRINT  CHR$(7);: GOTO 530
  54. 540 Z =  VAL(Z$): FOR I = 1 TO 6: READ X,PN$(I): FOR J = 1 TO X: READ Y: POKE 37511 +J,Y: NEXT J: ON I = Z GOTO 545: NEXT I
  55. 545 I = 6: NEXT I: RETURN 
  56. 550  FOR I = 1 TO 6: READ X,PN$(I): FOR J = 1 TO X: READ Y: NEXT J: NEXT I: RESTORE : RETURN 
  57. 560  DATA  11,EPSON APL,72,173,193,193,48,251,104,141,144,192,96
  58. 570  DATA  13,MICROTEK DUMPLING-64,72,173,145,192,41,2,208,249,104,141,144,192,96
  59. 580  DATA  15,GRAPPLER PLUS,72,173,144,192,41,7,201,3,208,247,104,141,144,192,96
  60. 590  DATA  27,TEXTPRINT PRINTIT,72,44,0,193,173,155,192,173,157,192,41,135,201,3,208,247,104,141,152,192,173,154,192,173,155,192,96
  61. 600  DATA  15,THIRDWARE FINGERPRINT PLUS,72,173,144,192,41,9,201,1,208,247,104,141,144,192,96
  62. 610  DATA  4,SUPER SERIAL CARD OR //C,32,7,193,96