home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 June / SIMTEL_0692.cdr / msdos / printer / sfnec.arc / SCN-DEMO.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-13  |  4.3 KB  |  101 lines

  1. 10  '***************************************************************************
  2. 20  '*                                                                         *
  3. 30  '*                   A PROGRAM TO DEMOSTRATE PRINT_SCREEN                  *
  4. 40  '*                                                                         *
  5. 50  '*                            (C) COPYRIGHT 1984                           *
  6. 60  '*                                    by                                   *
  7. 70  '*                              Michael L Hoyt                             *
  8. 80  '*                                                                         *
  9. 90  '***************************************************************************
  10. 100  '
  11. 110  '*************************** CHECK FOR COLOR CARD *************************
  12. 120  '
  13. 130  DEF SEG=&H40                                'address of display information
  14. 140  MODE=PEEK(&H49)                             'offset of current mode
  15. 150  DEF SEG                                     're-establish BASIC'S data seg
  16. 160  IF MODE=7 GOTO 610                          'see if color card is in use
  17. 170  '
  18. 180  '******************************* INITIALIZE *******************************
  19. 190  '
  20. 200  DEF SEG                                     'establish BASIC'S data segment
  21. 210  GOSUB 840                                   'load interface to PRINT_SCREEN
  22. 220  SCREEN 0,1,0,0: WIDTH 40: COLOR 7,0,0: CLS
  23. 230  '
  24. 240  '***************************** OPENING SCREEN *****************************
  25. 250  '
  26. 260  LOCATE 3,11,0:                              'cursor off
  27. 270  PRINT "DEMONSTRATION PROGRAM"
  28. 280  PRINT "                   for"
  29. 290  COLOR 15: PRINT
  30. 300  PRINT "              PRINT_SCREEN"
  31. 310  COLOR 7: PRINT "                with the"
  32. 320  COLOR 15: PRINT
  33. 330  PRINT "               NEC 8023A"
  34. 340  COLOR 7: PRINT "            dot matrix printer"
  35. 350  LOCATE 18,1
  36. 360  PRINT "(c) Copyright 1984"
  37. 370  PRINT "        by"
  38. 380  PRINT "  Michael L Hoyt"
  39. 390  LOCATE 24,8: COLOR 23
  40. 400  PRINT "Press any key to continue";          'prompt user to begin
  41. 410  A$=INKEY$: IF A$="" THEN 410                'wait for response
  42. 420  '
  43. 430  '**************************** LOAD GRAPHICS SCREEN ************************
  44. 440  '
  45. 450  SCREEN 1,0: COLOR 0,1: CLS                  'set medium graphics screen
  46. 460  DEF SEG=&HB800                              'address of graphics board
  47. 470  BLOAD"USMAP.PIC",0
  48. 480  DEF SEG                                     're-establish BASIC'S data seg
  49. 490  '
  50. 500  '***************************** GET USER RESPONSE **************************
  51. 510  '
  52. 520  LOCATE 1,17
  53. 530  PRINT "Press P)rint or E)nd";               'print prompt
  54. 540  A$=INKEY$: IF A$="" THEN 540                'wait for response
  55. 550  IF A$="E" OR A$="e" GOTO 740
  56. 560  IF A$="P" OR A$="p" THEN GOSUB 940: GOTO 740
  57. 570  BEEP: GOTO 540
  58. 580  GOTO 740
  59. 590  '******************************* ERROR ************************************
  60. 600  '
  61. 610  COLOR 23,0,0: WIDTH 80: CLS
  62. 620  LOCATE 2,36,0                               'cursor off
  63. 630  PRINT "HOLD IT!"
  64. 640  COLOR 7: PRINT
  65. 650  PRINT :PRINT "  You must have the color/graphics monitor adapter installed and in operation"
  66. 660  PRINT "  to run this demonstration program."
  67. 670  COLOR 15: LOCATE 5,21
  68. 680  PRINT "COLOR/GRAPHICS MONITOR ADAPTER";
  69. 690  LOCATE 10,1,1: COLOR 7,0,0
  70. 700  END
  71. 710  '
  72. 720  '******************************* END **************************************
  73. 730  '
  74. 740  SCREEN 0,1,0,0
  75. 750  IF MODE=0 OR MODE=1 OR MODE=4 OR MODE=5 THEN WIDTH 40 ELSE WIDTH 80
  76. 760  COLOR 7,0,0: CLS
  77. 770  LOCATE 3,10:
  78. 780  PRINT "End of demonstration..."
  79. 790  LOCATE 5,1,1:                               'cursor back on
  80. 800  END
  81. 810  '
  82. 820  '********************** INTERFACE TO PRINT_SCREEN *************************
  83. 830  '
  84. 840  DEF SEG
  85. 850  DIM PRTSC%(3)                               'define variable to hold code
  86. 860  FOR X=0 TO 3                                'load the code into the string
  87. 870  READ PRTSC%(X)                              'read data statement
  88. 880  NEXT X                                      'loop until odne
  89. 890  RETURN                                      'done. so return
  90. 900  DATA &H8955,&HCDE5,&H5D05,&H00CB:           'interface code
  91. 910  '
  92. 920  '********************* CALL PRINT_SCREEN INTERFACE ************************
  93. 930  '
  94. 940  LOCATE 1,17
  95. 950  PRINT "                     ";
  96. 960  DEF SEG                                     'set BASIC'S data segment
  97. 970  SUBRT%=VARPTR(PRTSC%(0))                    'point to code string (variable
  98. 980  CALL SUBRT%                                 'call the code interface
  99. 990  LPRINT CHR$(12)                             'eject graphics print
  100. 1000  RETURN                                      'done, so retINPUTENDn
  101.