home *** CD-ROM | disk | FTP | other *** search
- REM --------------------------------------------------------
- REM HCOPY.BAS
- REM Hardcopy von EGA/VGA-Grafiken
- REM (c) 1988 by TOOLBOX
- REM --------------------------------------------------------
-
- SUB HardCopy(karte$)
- LOCAL x%, y%, RowBegin%, Byte%, Mode%, Size%, prtmod%
- LOCAL k1%, k2%
- IF karte$ = "EGA" THEN
- Size% = 450
- PrtMod% = 0
- k1% = 415
- k2% = 349
- ELSE
- Size% = 600
- PrtMod = 4
- k1% = 480
- k2% = 479
- END IF
- WIDTH "LPT1:", Size% 'Zeilenbreite für Drucker
- LPRINT CHR$(27); CHR$(64); 'Drucker initialisieren
- DEF SEG = &HA000 'Segment auf EGA/VGA-Speicher
- OUT &H03CE, 4 'Bitplane 0 setzen
- OUT &H03CF, 0
- LPRINT CHR$(27);"1"; 'Zeilenhöhe für Drucker
- FOR x% = 0 TO 79
- LPRINT CHR$(27);"*";CHR$(PrtMod);CHR$(k1% MOD 256);_
- CHR$(k1%\256);
- IF karte$ = "EGA" THEN LPRINT STRING$(65,0);
- FOR y% = k2% TO 0 STEP - 1
- RowBegin% = y% * 80
- Byte% = 0
- FOR Mode% = 0 TO 3
- OUT &H03CE, 4
- OUT &H03CF, Mode%
- Byte% = Byte% OR PEEK(RowBegin% + x%)
- NEXT Mode%
- LPRINT CHR$(Byte%);
- NEXT y%
- LPRINT
- NEXT x%
- DEF SEG
- END SUB
-
- REM --------------------------------------------------------
-
- SUB Grafik(Modus%)
- LOCAL UntenRechtsX%, UntenRechtsY%
- SCREEN Modus%
- IF Modus% = 12 THEN
- UntenRechtsX% = 639
- UntenRechtsY% = 479
- ELSE
- UntenRechtsX% = 639
- UntenRechtsY% = 349
- END IF
- LINE(0,0)-(UntenRechtsX%, UntenRechtsY%),,b
- CIRCLE(400,100),100
- CIRCLE(400,100),80
- CIRCLE(400,100),50
- END SUB
-
- REM --------------------------------------------------------
-
- CALL Grafik(12) 'VGA, 640 x 480
- CALL Hardcopy("VGA")
-
- CALL Grafik(9) 'EGA, 640 x 350
- CALL Hardcopy("EGA")
-
- END
-
- REM --------------------------------------------------------