From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,be1cad394fc8713f X-Google-Attributes: gid103376,public From: aklee@spam.this.interport.net (Albert K. Lee) Subject: Re: low-level Date: 1998/04/14 Message-ID: #1/1 X-Deja-AN: 343823690 References: <01bd66bc$73c7ca40$beda4cc3@carlos> <35324FDE.68B0@gsfc.nasa.gov> Organization: Interport Communications Corp. Newsgroups: comp.lang.ada Date: 1998-04-14T00:00:00+00:00 List-Id: On Mon, 13 Apr 1998 13:48:14 -0400, Stephen Leake wrote: >Carlos Piqueres Ayela wrote: >> >> I'm using GNAT 3.10 and Windows 95. >> I'm using the Jerry Van Dijk 's great Adagraph package to do simple >> graphics. >> >> But what I want to know is how you can access directly to the hardware (for >> example the SVGA hardware, BIOS interrupts...) for writing your own routins >> (graphics, hardware drivers...). >> >> Not doing it in C and interfacing with ADA programs, just doing it in ADA. >> I know that you can do such things in C with far pointers, library >> functions (int86()...) and things like that. >> Is there any equivalent to that in ADA ?? > >Just call the same library from Ada that you would from C. You'll have >to write the equivalent Ada declaration, and add pragma Import instead >of the body. Actually he asked how to interface with the low-level hardware, using some low-level programming. He did use the magic words 'driver', 'hardware', and 'interrupt'. The 'library function' he referred to deals with calling x86 hardware/OS interrupts using specific register values, not with any Windows graphics display routines. He wants to program some Intel x86 hardware directly, probably using some combination of assembly language and Ada. In addition it sounds like he's coming from a 16-bit DOS world ("BIOS?"), which is probably hard to fiddle with using 32-bit-only GNAT. Having never tried this, I don't have an answer, but at I can at least clarify the question ... -Albert