home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib29a.dsk / NOVEMBER.1986 / CODE.SAMPLE.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  44 lines

  1. 10  REM  **********************
  2. 20  REM  *    CODE.SAMPLE     *
  3. 30  REM  * BY LOREN W. WRIGHT *
  4. 40  REM  * COPYRIGHT (C) 1986 *
  5. 50  REM  * BY MICROSPARC, INC *
  6. 60  REM  * CONCORD, MA  01742 *
  7. 70  REM  **********************
  8. 80 D$ =  CHR$(4):PS = 1: DIM PC$(14,1)
  9. 90  ONERR  GOTO 380
  10. 100  REM  READ PRINTER CODES FROM FILE
  11. 110  HOME : VTAB 12
  12. 120  PRINT "CODE FILE NAME (? FOR CATALOG):": INPUT "";NA$: IF NA$ = "?"  THEN  PRINT D$ LEFT$("CATALOG",7 -4 *( PEEK(48896) = 76)): GOTO 120
  13. 130  PRINT D$"VERIFY"NA$
  14. 140  HOME : VTAB 12: PRINT "READING "NA$
  15. 150  PRINT D$"OPEN"NA$: PRINT D$"READ"NA$
  16. 160  FOR I = 1 TO 14: FOR J = 0 TO 1:
  17. 170  INPUT QX$
  18. 180  GOSUB 430
  19. 190 PC$(I,J) = PX$
  20. 200  NEXT J,I
  21. 210  PRINT D$"CLOSE"NA$
  22. 220 B$ = PC$(1,1):BZ$ = PC$(1,0):C$ = PC$(3,1):CZ$ = PC$(3,0):E$ = PC$(4,1):EZ$ = PC$(4,0)
  23. 230  HOME : VTAB 12: PRINT "PRINTER SLOT: "PS; CHR$(8);: INPUT "";PS$: IF PS$ = "" GOTO 250
  24. 240 PS =  VAL(PS$): IF PS <1  OR PS >7  THEN  PRINT  CHR$(7): GOTO 230
  25. 250  VTAB 23: HTAB 8: PRINT "PRESS <RETURN> TO CONTINUE";: GET Z$: PRINT 
  26. 260  PRINT D$"PR#"PS: PRINT  CHR$(9)"80N"
  27. 270  PRINT "THIS IS A TEST OF THE CODES READ FROM"
  28. 280  PRINT "A FILE GENERATED BY PRINT.MASTER."
  29. 290  PRINT "THREE CODES ARE USED IN THIS EXAMPLE:"
  30. 300  PRINT B$"BOLDFACE"BZ$
  31. 310  PRINT C$"COMPRESSED"CZ$
  32. 320  PRINT E$"EXPANDED"EZ$
  33. 330  PRINT B$E$"BOLDFACE EXPANDED"BZ$EZ$
  34. 340  PRINT "OR "B$"MIXED "BZ$C$"ON THE SAME"CZ$E$" LINE!"EZ$
  35. 350  PRINT D$"PR#0"
  36. 360  HOME : INPUT "ANOTHER RUN? ";YN$: IF YN$ = "Y"  OR YN$ =  CHR$(121) GOTO 230
  37. 370  END 
  38. 380  HOME : VTAB 12: PRINT "ERROR " PEEK(222)" IN LINE " PEEK(218) +256 * PEEK(219)
  39. 390  VTAB 23: HTAB 8: PRINT "PRESS <RETURN> TO CONTINUE";: GET Z$: PRINT : GOTO 90
  40. 400  REM  CHANGE HEX PAIR (HX$) TO ASCII (N)
  41. 410 N = 16 *( ASC( LEFT$(HX$,1)) -48 -7 *(HX$ >"A")) + ASC( RIGHT$(HX$,1)) -48 -7 *( RIGHT$(HX$,1) >"9"): RETURN 
  42. 420  REM  DECODE HEX STRING QX$ TO ASCII STRING PX$
  43. 430 LQ =  LEN(QX$): IF (LQ <2)  OR (LQ/2 - INT(LQ/2))  THEN  RETURN 
  44. 440 PX$ = "": FOR K = 1 TO LQ -1  STEP 2:HX$ =  MID$ (QX$,K,2): GOSUB 410:PX$ = PX$ + CHR$(N): NEXT K: RETURN