' *** HP_DMP.LST *** 2nd GFA-Manual, page 10-3 > PROCEDURE screendump_hp_jet ' ' *** Screendump from logical screen to HP Laserjet or Deskjet (500/Plus) ' *** Works in High resolution only ' *** Couldn't test this Procedure myself, as I don't have these printers ' ' *** Standard: high.res! x.max& y.max& logbase% ' LOCAL m%,a$,total%,width|,m$,k IF high.res! m$="Screendump will last |several minutes, |abort dump with " ALERT 1,m$,1," OK | Stop ",k IF k=1 REPEAT ! printer ready? EXIT IF GEMDOS(&H11) SOUND 1,10,12,4,25 SOUND 1,10,6,4,25 SOUND 1,10,12,4,50 SOUND 1,0 ALERT 3," Printer| | not ready !!",1," OK | Stop ",k IF k=2 LET stop!=TRUE ENDIF UNTIL stop! ' IF NOT stop! HIDEM LPRINT CHR$(27);"&l26A"; ! A4-paper LPRINT CHR$(27);"&l0L"; ! perforation skip OFF LPRINT CHR$(27);"&l2E"; ! top margin 2 LPRINT CHR$(27);"&a0R"; ! move to row 0 LPRINT CHR$(27);"*t150R"; ! 150 dpi ' width|=DIV(SUCC(x.max),8) ! width in bytes total%=MUL(width|,y.max) ! total bytes a$=STRING$(width|,0) ! buffer LPRINT CHR$(27);"*r0A"; ! start graphics left FOR m%=logbase% TO ADD(logbase%,total%) STEP width| EXIT IF INKEY$=CHR$(27) ! abort after BMOVE m%,V:a$,width| ! put in buffer LPRINT CHR$(27);"*b";width|;"W";a$; ! send data to printer NEXT m% LPRINT CHR$(27);"*rB"; ! graphics off OUT 0,12 ! eject paper ENDIF ENDIF ELSE m$="Sorry, screendump |only possible in |High resolution" ALERT 3,m$,1," OK ",k ENDIF RETURN ' ********* '