Avatar billede lasg Nybegynder
02. oktober 2003 - 22:56 Der er 4 kommentarer

Omskrive fra ms-dos til linux?

Jeg har en C-kode der kan modtage og sende noget på parallelporten.

http://users.cybercity.dk/~dsl89455/padde.c

Det kan lige nu kun køre i Microsoft DOS.
Jeg vil meget gerne have dette program til at køre i linux. Det bruger desværre dos.h og conio.h.
Jeg har overvejet at skrive et i pascal i stedet, til linux.

Er der nogen der kan fortælle mig hvad jeg skal ændre, og erstatte dos.h og conio.h med, for at det virker i linux?
Eller er der nogen der vil omskrive c-koden for mig, så den kan kompileres og virker i linux?

Giver 100pts for vejledning til omskrivning der virker, og 200pts for en komplet omskrivning der fungerer.
Avatar billede driis Nybegynder
03. oktober 2003 - 11:26 #1
Hvis din compiler understøtter det, kan du jo bruge inline assembly:
asm
{
  mov dx,MODE_8253
  mov al,32 + 16 + 4
  out dx,al
}

I stedet for en linie som
outp( MODE_8253, 32+16+4 );

Der findes helt sikkert også en funktion i Linux ( eller i din compiler ), der modsvarer outp - så hvis du går i gang med at lave lidt research på det, kan det helt sikkert også laves uden inline assembly.
Det er desuden muligt, at Linux beskytter IO addresserne, således at du ikke kan skrive direkte til dem uden at have fået lov. I så fald findes der et kald til operativsystemet, som tillader dette.
Avatar billede brilleaben Nybegynder
04. oktober 2003 - 11:14 #2
Hmmm - kig i "Linux I/O port programming mini-HOWTO":

http://linuxselfhelp.com/HOWTO/mini/IO-Port-Programming.html

Der finder du alt hvad du skal vide omkring I/O Port programming,
afsnit 6.1 (Parallel porten) er især interessant.

Parallel port arkiv (mails):  http://www.torque.net/linux-pp.html

Noget på russisk (!):  http://www.pereplet.ru/nauka/perl/lpt.html

... og mange flere.  Google er din ven!  (prøv: linux parallel port
howto programming)
Avatar billede lasg Nybegynder
04. oktober 2003 - 11:22 #3
Hvis I kigger på koden, ser I at den også starter noget timer-dims. Første gang man bruger programmet måler det ens CPU-hastighed, hvilket senere skal bruges til nogen af de timere. De ting skulle jeg også gerne have med
Avatar billede stringbuffer Nybegynder
05. oktober 2003 - 11:45 #4
Er DOS ikke et 16 bit OS?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester