Les programmes DOS que je souhaite porter sous linux sont écrit avec turbo-pascal. Donc voici la version pascal de l'article précédent :
program portout;
Uses ports;
function ioperm(from: Cardinal; num: Cardinal; turn_on: Integer): Integer; cdecl; external 'libc';
const
BASEPORT=$378; //lpt1
begin
// on demande l'accès des adresses BASEPORT à BASEPORT+3
if (ioperm(BASEPORT, 3, 1))<>0 then
Halt(1);
// Initialisation de tous les signaux de données (D0-D7) à l'état bas (0)
port[BASEPORT] := 0;
// on libère l'accès des adresses BASEPORT à BASEPORT+3
if (ioperm(BASEPORT, 3, 0))<>0 then
Halt(1);
end.
Le compilateur utilisé est freepascal. Donc un simple fpc portout.pas suffit à le compiler.
