home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 01 / einstieg / hcopy.bas < prev    next >
Encoding:
BASIC Source File  |  1988-11-15  |  1.8 KB  |  75 lines

  1. REM --------------------------------------------------------
  2. REM                     HCOPY.BAS
  3. REM             Hardcopy von EGA/VGA-Grafiken
  4. REM                 (c) 1988 by TOOLBOX
  5. REM --------------------------------------------------------
  6.  
  7. SUB HardCopy(karte$)
  8. LOCAL x%, y%, RowBegin%, Byte%, Mode%, Size%, prtmod%
  9. LOCAL k1%, k2%
  10. IF karte$ = "EGA" THEN
  11.   Size% = 450
  12.   PrtMod% = 0
  13.   k1% = 415
  14.   k2% = 349
  15. ELSE
  16.   Size% = 600
  17.   PrtMod = 4
  18.   k1% = 480
  19.   k2% = 479
  20. END IF
  21. WIDTH "LPT1:", Size%       'Zeilenbreite für Drucker
  22. LPRINT CHR$(27); CHR$(64); 'Drucker initialisieren
  23. DEF SEG = &HA000           'Segment auf EGA/VGA-Speicher
  24. OUT &H03CE, 4              'Bitplane 0 setzen
  25. OUT &H03CF, 0
  26. LPRINT CHR$(27);"1";       'Zeilenhöhe für Drucker
  27. FOR x% = 0 TO 79
  28.   LPRINT CHR$(27);"*";CHR$(PrtMod);CHR$(k1% MOD 256);_
  29.          CHR$(k1%\256);
  30.   IF karte$ = "EGA" THEN LPRINT STRING$(65,0);
  31.   FOR y% = k2% TO 0 STEP - 1
  32.     RowBegin% = y% * 80
  33.     Byte% = 0
  34.     FOR Mode% = 0 TO 3
  35.       OUT &H03CE, 4
  36.       OUT &H03CF, Mode%
  37.       Byte% = Byte% OR PEEK(RowBegin% + x%)
  38.     NEXT Mode%
  39.     LPRINT CHR$(Byte%);
  40.   NEXT y%
  41.   LPRINT
  42. NEXT x%
  43. DEF SEG
  44. END SUB
  45.  
  46. REM --------------------------------------------------------
  47.  
  48. SUB Grafik(Modus%)
  49. LOCAL UntenRechtsX%, UntenRechtsY%
  50. SCREEN Modus%
  51. IF Modus% = 12 THEN
  52.   UntenRechtsX% = 639
  53.   UntenRechtsY% = 479
  54. ELSE
  55.   UntenRechtsX% = 639
  56.   UntenRechtsY% = 349
  57. END IF
  58. LINE(0,0)-(UntenRechtsX%, UntenRechtsY%),,b
  59. CIRCLE(400,100),100
  60. CIRCLE(400,100),80
  61. CIRCLE(400,100),50
  62. END SUB
  63.  
  64. REM --------------------------------------------------------
  65.  
  66. CALL Grafik(12)                         'VGA, 640 x 480
  67. CALL Hardcopy("VGA")
  68.  
  69. CALL Grafik(9)                          'EGA, 640 x 350
  70. CALL Hardcopy("EGA")
  71.  
  72. END
  73.  
  74. REM --------------------------------------------------------
  75.