Turbo Pascal con Arduino

Hola a todos, comparto este fragmento de código que hice en Turbo Pascal para enviar un carácter a través del puerto COM1 03F8 Hex como se encuentra en la tabla del BIOS:

Uses Crt;

   procedure OutPort (C: Char);
   begin
     asm
        MOV AL,[C]      
        MOV DX,03F8H {COM1}
        OUT DX,AL       
     end;
   end;

   var
      Msg:String;
      i  :Integer;


begin

     Msg:='Hola Mundo!';
     ClrScr;
     for i:= 1 to length(Msg) do
        OutPort(Msg[i]);
     Readkey;
end.

Espero haber sido de ayuda.

Saludos,
Manuel Pazmiño

¡Qué épocas!
Y pensar que el entorno de Turbo Pascal nos parecía atractivo y amigable...
20 añitos de la v7.0, "no es nada" diría Gardel.

Cuando la BIOS no era UEFI...

¡Qué grande que estoy, caray!

Saludos

1 Like

Hoy en día ya no deja hacer estas cosas, meter código asm a la BIOS, hoy en día la UEFI. Por temas de seguridad.

Que recuerdos!!
Yo empecé en el mundillo PC con C allá por el año 1984 pero tenía una única disquetera y el estar cambiando tanto disco para librerias, link, etc era bastante pesado. y descubrí turbo pascal 2.0
Tenía editor integrado y generaba un fichero .COM (<64k). era una maravilla comparado con editar con el EDLIN del MSDOS.
Compilaba en una única pasada (el C necesita hacer 2 pasadas).
Dado que sabía ensamblador del Z80 me resultó relativamente fácil pasar al del 8088. y acabé programando turbo pascal 7 con mucho ensamblador incrustado.
Batallitas de abuelo :wink:
Saludos.

1 Like

Sí se puede hacer, solo necesitas DosBox

Adicionalmente si deseas probar este código te sugiero hacerlo a través de DosBox y modificar en el archivo dosbox.conf la siguiente línea:

Donde dice:
serial1=dummy

Debe decir:
serial1=directserial realport:com1