[Back to PRINTING SWAG index] [Back to Main SWAG index] [Original]
unit Print_La;
INTERFACE
procedure dump_laser;
IMPLEMENTATION
Uses Graph,Dos,Printer;
Const
d = 'l';
Var
MaxX, MaxY : Integer;
Procedure dump_laser;
Var
ymax,
bbyt,
b2 : Byte;
psf : File of Byte;
regs : Registers;
Procedure out(ch : Char);
begin
regs.ax := ord(ch);
regs.dx := 0;
intr($17, regs);
end;
Procedure hplaser;
Var
b,
reg,
kol : Word;
begin
assign(psf, 'lpt1');
reWrite(psf);
Write(lst, chr(27), 'E');
Write(lst, chr(27), '*t100R', chr(27), '*r0A');
For reg := 0 to maxx do begin
Write(lst, chr(27), '*b', (maxy + 1) div 8, 'W');
For kol := ((maxy + 1) div 8) - 1 downto 0 do begin
bbyt := 0;
For b := 0 to 7 do begin
if getpixel(reg, kol * 8 + b) in[0,8] then { = 0 }
b2 := 0
else
b2 := 1;
bbyt := bbyt or (b2 shl b);
end;
out(chr(bbyt));
end;
end;
Write(lst, chr(27), '*rB');
Write(lst, chr(12));
Write(lst, chr(27), 'E');
close(psf);
end;
begin
MaxX := GetMaxX;
MaxY := GetMaxY;
hplaser
end;
begin
end.
[Back to PRINTING SWAG index] [Back to Main SWAG index] [Original]