Poniżej historyczna wersja odczytująca monochromatyczny obrazek kropka po kropce z ekranu karty Hercules do pliku lub bezpośrednio na 9 igłową drukarkę Star NX15, sterowaną kodami Epsona.
#define ESC '\x1B'
void hcopy(step,lines,density,funct)
int lines,density,step;
void (*funct)(unsigned char byte);
/* argument funct to funkcja wysyłająca bajt do pliku lub bezpośrednio na drukarkę */
{
int x,y,z,i;
unsigned int byte;
(*funct)(13);
for (y=0; y<lines; y+=step)
{
for(i=0;i<=density;++i)
{
(*funct)(ESC);(*funct)('*');(*funct)('\x01');
(*funct)('\xD0');(*funct)('\x02');
for (x=0; x<720; x++) {
byte = 0;
for (z=0;z<step;z++)
{
byte <<=1;
byte |= (point(x,y+z) == 1);
}
byte <<=8-step;
(*funct)(byte);
}
(*funct)(ESC);(*funct)('J');(*funct)('\x01');
(*funct)('\x0d');
}
(*funct)(ESC);(*funct)('J');(*funct)(3*step-1-density);
}
}