RE:lectrura de datos por puerto LPT1 en pascal
hola Willy.
Interesante lo de los "apuntadores laser".
Cuando el PC se comunica con una impresora por medio del un cable paralelo se puede usar el Bios, que trabaja perfectamente, la cosa cambia cuando lo que
queremos es una comunicacion en ambos sentidos , nos vemos obligados a usar una cable especial llamado NUL-MODEM este cable no suelen venderlo ,por lo cual deberas crearte uno , la transmision de datos tan poco se hace en 8 bits (aqui te puedes ahorrar unos cuantos punteros laser) si no de 4 y de una manera un poco retorcida, pero funciona , este cable null-moden tambien se usaba antiguamente bajo Windos , MS-Dos tambien lo soportaba bajo INTERLNK o interlsvr y venia documentado en DOS 6.0 (como hacerte uno) pero existen algunas incompatibilidades (falta algun cable que otro para que funcione bajo windows) es posible que este cable lo encuentres , de no ser así vete pensando en hacerte con uno , pero eso si informate bien sobre el cableado.
Sobre el funcionamiento , no te voy a describir la biblia del LPTX , existen bastantes libros y el todopoderoso GOOGLE para que lleves a buen termino tu proyecto.
ahí va un ejemplo de como usar la direccion base de LPTX bajo ASM de TP7
hay otras formas de implementar el assembler tanto en Tp como en otros PASCAL y no todos son compatibles.
Estas a un solo paso de la transmision paralela , espero que te sirva como inicio.
SALUDOS
{////////////////////////////////////////////////////////////////////////////}
{ devuelve la direccion de lpt lptx: 1,2,3,4 etc }
{ nota: lpt1 0040:0008 lpt2 0040:000A lpt3 0040:000C etc }
function dir_lptx(lptx:byte):word;assembler;
asm
push es
xor bx,bx
mov bl,lptx
shl bl,1
add bl,6
mov ax,40h
mov es,ax
mov dx,es:[bx]
mov ax,dx
pop es
end;
{////////////////////////////////////////////////////////////////////////////}