* Port IO with Gnat @ 2008-08-31 13:15 levy.david.c 2008-08-31 21:06 ` anon 2008-09-01 12:41 ` Stephen Leake 0 siblings, 2 replies; 7+ messages in thread From: levy.david.c @ 2008-08-31 13:15 UTC (permalink / raw) Could anyone point me at how to do simple port IO under Windows XP with GNAT 2005? Thanks Dave ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Port IO with Gnat 2008-08-31 13:15 Port IO with Gnat levy.david.c @ 2008-08-31 21:06 ` anon 2008-09-26 0:34 ` levy.david.c 2008-09-01 12:41 ` Stephen Leake 1 sibling, 1 reply; 7+ messages in thread From: anon @ 2008-08-31 21:06 UTC (permalink / raw) -- There is a workable example in the gnat doc that comes with GNAT. -- But these you routine should give you and idea. -- -- If your using x86 processors -- procedure Out_Byte ( Port : unsigned_16 ; Data : unsigned_8 ) is begin -- Out_Byte Asm ( Template => "outb %%al, %%dx" & ASCII.LF, Inputs => ( Unsigned_8'Asm_Input ( "a", Data ), Unsigned_16'Asm_Input ( "d", Port ) ), Volatile => True ) ; end Out_Byte ; function In_Byte ( Port : unsigned_16 ) return unsigned_8 is Data : unsigned_8 ; begin -- In_Byte Asm ( Template => "inb %%dx, %%al" & ASCII.LF, Inputs => Unsigned_16'Asm_Input ( "d", Port ), Outputs => Unsigned_8'Asm_Output ( "=a", Data ), Volatile => True ) ; return Data ; end In_Byte ; In <6e0427b4-4871-4e51-a1b1-696136aa45a6@i20g2000prf.googlegroups.com>, levy.david.c@gmail.com writes: >Could anyone point me at how to do simple port IO under Windows XP >with GNAT 2005? > >Thanks > >Dave ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Port IO with Gnat 2008-08-31 21:06 ` anon @ 2008-09-26 0:34 ` levy.david.c 2008-09-26 1:32 ` Steve 0 siblings, 1 reply; 7+ messages in thread From: levy.david.c @ 2008-09-26 0:34 UTC (permalink / raw) On Sep 1, 7:06 am, a...@anon.org (anon) wrote: > -- There is a workable example in the gnat doc that comes with GNAT. > -- But these you routine should give you and idea. > > -- > -- If your using x86 processors > -- > procedure Out_Byte ( Port : unsigned_16 ; > Data : unsigned_8 ) is > > begin -- Out_Byte > Asm ( Template => "outb %%al, %%dx" & ASCII.LF, > Inputs => ( Unsigned_8'Asm_Input ( "a", Data ), > Unsigned_16'Asm_Input ( "d", Port ) > ), > Volatile => True ) ; > end Out_Byte ; > > function In_Byte ( Port : unsigned_16 ) return unsigned_8 is > > Data : unsigned_8 ; > > begin -- In_Byte > Asm ( Template => "inb %%dx, %%al" & ASCII.LF, > Inputs => Unsigned_16'Asm_Input ( "d", Port ), > Outputs => Unsigned_8'Asm_Output ( "=a", Data ), > Volatile => True ) ; > return Data ; > end In_Byte ; > > In <6e0427b4-4871-4e51-a1b1-696136aa4...@i20g2000prf.googlegroups.com>,levy.davi...@gmail.com writes: > >Could anyone point me at how to do simple port IO under Windows XP > >with GNAT 2005? > > >Thanks > > >Dave > > Unfortunately this does not work because of Windows XP's security, which disallows port io. How does one ask XP for permission to do the port IO from GNAT? Thanks Dave ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Port IO with Gnat 2008-09-26 0:34 ` levy.david.c @ 2008-09-26 1:32 ` Steve 2008-09-26 3:32 ` anon 0 siblings, 1 reply; 7+ messages in thread From: Steve @ 2008-09-26 1:32 UTC (permalink / raw) <levy.david.c@gmail.com> wrote in message news:de90dcd1-8540-446b-9926-06d671416736@i20g2000prf.googlegroups.com... On Sep 1, 7:06 am, a...@anon.org (anon) wrote: > -- There is a workable example in the gnat doc that comes with GNAT. > -- But these you routine should give you and idea. > > -- > -- If your using x86 processors > -- > procedure Out_Byte ( Port : unsigned_16 ; > Data : unsigned_8 ) is > > begin -- Out_Byte > Asm ( Template => "outb %%al, %%dx" & ASCII.LF, > Inputs => ( Unsigned_8'Asm_Input ( "a", Data ), > Unsigned_16'Asm_Input ( "d", Port ) [snip] Unfortunately this does not work because of Windows XP's security, which disallows port io. How does one ask XP for permission to do the port IO from GNAT? Thanks Dave A quick search on "port io from xp" (on ixquick) finds: http://www.geekhideout.com/iodll.shtml There is an IO.DLL that does the grubby work for you, so all you have to do is use the DLL. Regards, Steve BTW: Some times my newsreader (outlook express) doesn't qoute replies properly (sometimes it does)... sorry ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Port IO with Gnat 2008-09-26 1:32 ` Steve @ 2008-09-26 3:32 ` anon 0 siblings, 0 replies; 7+ messages in thread From: anon @ 2008-09-26 3:32 UTC (permalink / raw) It depends on the XP or Vista security mode. With the security mode active a program must request and be granted rights to use the I/O instructions. Check Win security apps for those routines. Once rights have been granted the routines works perfectly. But, if the OS does not give the rights then a "System I/O Access" exception will occur if you try to execute any I/O instruction. There are other ways (hacked) but microsoft and some schools do not support those and it may void any hardware warranties on new equipment or get one expelled. But in either case, you will need to write an Ada Interface package to import those routines to Ada. In <3aydnfE84t4XpkHVnZ2dnUVZ_uqdnZ2d@comcast.com>, "Steve" <nospam_steved94@comcast.net> writes: ><levy.david.c@gmail.com> wrote in message >news:de90dcd1-8540-446b-9926-06d671416736@i20g2000prf.googlegroups.com... >On Sep 1, 7:06 am, a...@anon.org (anon) wrote: >> -- There is a workable example in the gnat doc that comes with GNAT. >> -- But these you routine should give you and idea. >> >> -- >> -- If your using x86 processors >> -- >> procedure Out_Byte ( Port : unsigned_16 ; >> Data : unsigned_8 ) is >> >> begin -- Out_Byte >> Asm ( Template => "outb %%al, %%dx" & ASCII.LF, >> Inputs => ( Unsigned_8'Asm_Input ( "a", Data ), >> Unsigned_16'Asm_Input ( "d", Port ) >[snip] > >Unfortunately this does not work because of Windows XP's security, >which disallows port io. > >How does one ask XP for permission to do the port IO from GNAT? > >Thanks > >Dave > >A quick search on "port io from xp" (on ixquick) finds: > >http://www.geekhideout.com/iodll.shtml > >There is an IO.DLL that does the grubby work for you, so all you have to do >is use the DLL. > >Regards, >Steve > >BTW: Some times my newsreader (outlook express) doesn't qoute replies >properly (sometimes it does)... sorry > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Port IO with Gnat 2008-08-31 13:15 Port IO with Gnat levy.david.c 2008-08-31 21:06 ` anon @ 2008-09-01 12:41 ` Stephen Leake 2008-09-01 14:50 ` Gary Scott 1 sibling, 1 reply; 7+ messages in thread From: Stephen Leake @ 2008-09-01 12:41 UTC (permalink / raw) levy.david.c@gmail.com writes: > Could anyone point me at how to do simple port IO under Windows XP > with GNAT 2005? I think the best answer is that there is no such thing as "simple port IO" under Windows XP. What, specifically, are you trying to do? -- -- Stephe ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Port IO with Gnat 2008-09-01 12:41 ` Stephen Leake @ 2008-09-01 14:50 ` Gary Scott 0 siblings, 0 replies; 7+ messages in thread From: Gary Scott @ 2008-09-01 14:50 UTC (permalink / raw) Stephen Leake wrote: > levy.david.c@gmail.com writes: > > >>Could anyone point me at how to do simple port IO under Windows XP >>with GNAT 2005? > > > I think the best answer is that there is no such thing as "simple port > IO" under Windows XP. > > What, specifically, are you trying to do? > There is a library targeted at Fortran that should be pretty easy to use: http://www.microglyph.com/prdpag.html -- Gary Scott mailto:garylscott@sbcglobal dot net Fortran Library: http://www.fortranlib.com Support the Original G95 Project: http://www.g95.org -OR- Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html If you want to do the impossible, don't hire an expert because he knows it can't be done. -- Henry Ford ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-09-26 3:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-08-31 13:15 Port IO with Gnat levy.david.c 2008-08-31 21:06 ` anon 2008-09-26 0:34 ` levy.david.c 2008-09-26 1:32 ` Steve 2008-09-26 3:32 ` anon 2008-09-01 12:41 ` Stephen Leake 2008-09-01 14:50 ` Gary Scott
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox