home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib29a.dsk
/
NOVEMBER.1986
/
FONT.PRINTER.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
3KB
|
62 lines
10 REM **********************
20 REM * FONT.PRINTER *
30 REM * BY DONALD W.MILLER *
40 REM * *
50 REM * COPYRIGHT (C) 1986 *
60 REM * BY MICROSPARC, INC.*
70 REM * CONCORD, MA 01742 *
80 REM **********************
90 REM * FIRST DETERMINE IF PRODOS IS ACTIVE *
100 HIMEM: 36352: IF PEEK(48896) = 76 THEN PD = 1
110 GOSUB 550: REM READ IN INTERFACE MENU
120 REM * SET UP ERROR VECTOR *
130 ONERR GOTO 380
140 D$ = CHR$(4):E$ = CHR$(27):DV = 1
150 REM * LOAD MACHINE LANGUAGE ROUTINE *
160 PRINT D$"BLOAD PRCG,A$9200": POKE 216,0
170 GOSUB 480: REM SELECT INTERFACE
180 TEXT : HOME : NORMAL : PRINT "PROWRITER FONT PRINTER": PRINT "COPYRIGHT 1986 BY MICROSPARC, INC."
190 FOR X = 1 TO 39: PRINT "=";: NEXT : PRINT : POKE 34,4
200 ONERR GOTO 410
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$
220 IF A$ = "" THEN 280
230 IF A$ = "1" OR A$ = "2" THEN HOME :DV = VAL(A$): GOSUB 400: GOSUB 390: GOTO 180
240 IF RIGHT$(A$,3) < >".PF" THEN A$ = A$ +".PF"
250 REM * LOAD FONT INTO MEMORY *
260 PRINT D$"BLOAD"A$",A$9300"
270 L$ = "N":C = 80: GOSUB 300: PRINT D$"PR#0": HOME : GOTO 210
280 PRINT D$"PR#0": TEXT : HOME : END
290 REM * IF PRODOS ACTIVE, SET OUTPUT TO OUR ROUTINE *
300 IF PD = 1 THEN POKE 37395,216: POKE 37385,96: PRINT D$"PR#A$9213": GOTO 330
310 PRINT D$"PR#1": PRINT CHR$(9)"80N": IF Z$ = "6" THEN PRINT CHR$(9)"Z"
320 REM * INITIALIZE PRINTING ROUTINE *
330 CALL 37376,C
340 REM * PRINT ALL CHARACTERS *
350 FOR X = 33 TO 127: PRINT CHR$(X);: NEXT
360 PRINT : PRINT : PRINT
370 RETURN
380 HOME : PRINT "THE BINARY FILE 'PRCG' MUST BE ON THE": PRINT "SAME DISK WITH THIS PROGRAM.": PRINT : END
390 PRINT : PRINT "PRESS <RETURN> TO CONTINUE": POKE -16368,0: GET CH$: POKE -16368,0: RETURN
400 PRINT CHR$(4) LEFT$("CATALOG",7 -4 *( PEEK(48896) = 76));",D"DV: RETURN
410 ER = PEEK(222):EL = PEEK(219) *256 + PEEK(218)
420 HOME : VTAB 7: PRINT CHR$(4)"CLOSE"
430 IF ER = 6 THEN PRINT "FILE NOT FOUND": GOTO 470
440 IF ER = 8 THEN PRINT "I/O ERROR": GOTO 470
450 IF ER = 16 THEN PRINT "SYNTAX ERROR": GOTO 470
460 PRINT " ERROR IN LINE "EL
470 VTAB 23: PRINT "PRESS <RETURN> TO RESTART";: GET CH$: CALL -3288: GOTO 180
480 HOME : PRINT "* FONT.PRINTER BY DONALD MILLER *": PRINT "* COPYRIGHT 1986 BY MICROSPARC, INC *": VTAB 4: PRINT "INTERFACES AVAILABLE:"
490 PRINT
500 FOR I = 1 TO 6
510 PRINT TAB( 4)I". "PN$(I): PRINT
520 NEXT I
530 VTAB 20: INPUT "SELECT INTERFACE BY NUMBER: ";Z$: PRINT : IF Z$ <"1" OR Z$ >"6" THEN PRINT CHR$(7);: GOTO 530
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
545 I = 6: NEXT I: RETURN
550 FOR I = 1 TO 6: READ X,PN$(I): FOR J = 1 TO X: READ Y: NEXT J: NEXT I: RESTORE : RETURN
560 DATA 11,EPSON APL,72,173,193,193,48,251,104,141,144,192,96
570 DATA 13,MICROTEK DUMPLING-64,72,173,145,192,41,2,208,249,104,141,144,192,96
580 DATA 15,GRAPPLER PLUS,72,173,144,192,41,7,201,3,208,247,104,141,144,192,96
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
600 DATA 15,THIRDWARE FINGERPRINT PLUS,72,173,144,192,41,9,201,1,208,247,104,141,144,192,96
610 DATA 4,SUPER SERIAL CARD OR //C,32,7,193,96