home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib22a.dsk / DECEMBER.1984 / CHAR.SET.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  42 lines

  1. 10  REM  **********************
  2. 20  REM  *    CHAR.SET.DEMO   *
  3. 30  REM  *   BY VINAY, VIVEK, *
  4. 40  REM  *    AND VIJAY PAI   *
  5. 50  REM  * COPYRIGHT (C) 1984 *
  6. 60  REM  * BY MICROSPARC, INC *
  7. 70  REM  * CONCORD, MA. 01742 *
  8. 80  REM  **********************
  9. 90  REM 
  10. 100  PRINT  CHR$(4);"BLOAD HI.RES.CHAR.SET"
  11. 110  HOME : TEXT : HOME : SPEED= 255: NORMAL 
  12. 120  POKE 232,0: POKE 233,96: REM  POKE IN HIGH AND LOW BYTES OF SHAPE TABLE ADDRESS.
  13. 130  HGR : ROT= 0: SCALE= 1: HCOLOR= 7
  14. 140 A$ = "PRESS A KEY TO":B$ = "VIEW NEXT LETTER"
  15. 150  GOSUB 160: GOTO 250
  16. 160  FOR T = 1 TO  LEN(A$): DRAW ( ASC( MID$ (A$,T,1)) -31) AT T *10,20
  17. 170  DRAW ( ASC( MID$ (A$,T,1)) -31) AT T *10 +1,20
  18. 180  NEXT 
  19. 190  FOR T = 1 TO  LEN(B$): DRAW ( ASC( MID$ (B$,T,1)) -31) AT T *10,40
  20. 200  DRAW ( ASC( MID$ (B$,T,1)) -31) AT T *10 +1,40
  21. 210  NEXT 
  22. 220  REM  THE PROGRAM 'READS' EACH LETTER OF A$ OR B$, AND DRAWS ITS ('ASC' VALUE - 31).
  23. 230  REM  THE SAME LETTER IS BEING DRAWN AGAIN, EXCEPT AT THE NEXT PIXEL TO GIVE THE LETTERS THEIR THICKNESS. THIS PROCESS MAY BE OMITTED TO ACHIEVE NORMAL WIDTH, APPLE-CHARACTER SHAPES.
  24. 240  RETURN 
  25. 250 C$ = "< HI-RES CHARACTER": FOR T = 1 TO  LEN(C$): DRAW ( ASC( MID$ (C$,T,1)) -31) AT (T *10 +20),100: DRAW ( ASC( MID$ (C$,T,1)) -31) AT (T *10 +21),100: NEXT 
  26. 260  VTAB 23: PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **";: VTAB 21: HTAB 5: PRINT "< APPLE'S CHARACTER (IN TEXT WINDOW)"
  27. 270  FOR T = 32 TO 95
  28. 280  VTAB 21: HTAB 1: PRINT  CHR$(T)
  29. 290  HCOLOR= 7: DRAW T -31 AT 3,100
  30. 300  WAIT  -16384,128: POKE  -16368,0
  31. 310  HCOLOR= 0: DRAW T -31 AT 3,100
  32. 320  NEXT T
  33. 330  HGR : HOME 
  34. 340 A$ = "TYPE IN UP TO 20 CHARACTERS":B$ = "(NO CONTROL CHARACTERS)"
  35. 350  HCOLOR= 7: GOSUB 160
  36. 360  VTAB 21: HTAB 1: INPUT ":";A$
  37. 370  IF  LEN(A$) <1  OR  LEN(A$) >20  THEN  PRINT  CHR$(7): GOTO 360: REM  CHECK LENGTH OF INPUT
  38. 380 C$ = "--------------------":B$ =  LEFT$(C$, LEN(A$)): REM  20 DASHES
  39. 390  FOR T = 1 TO  LEN(A$): IF  ASC( MID$ (A$,T,1)) <32  OR  ASC( MID$ (A$,T,1)) >95  THEN  PRINT  CHR$(7): GOTO 360: REM  CHECK FOR ILLEGAL CHARACTERS
  40. 400  NEXT T
  41. 410  HGR : HCOLOR= 7: GOSUB 160: REM  CLEAR SCREEN, AND DRAW WHAT USER HAS TYPED IN.
  42. 420  VTAB 22: PRINT "PRESS ANY KEY TO QUIT";: GET K$: TEXT : HOME : END