comp.lang.ada
 help / color / mirror / Atom feed
From: Freejack <user@nospam.net>
Subject: Re: Low Level Ada
Date: Wed, 19 Nov 2003 23:37:41 GMT
Date: 2003-11-19T23:37:41+00:00	[thread overview]
Message-ID: <pan.2003.11.19.23.43.58.509450.1032@nospam.net> (raw)
In-Reply-To: ysKub.36397$hB5.217@nwrdny02.gnilink.net

On Wed, 19 Nov 2003 08:43:58 -0500, Stephane Richard wrote:

> By the subject line I mean:
> 
> Is there a way, in Ada to move memory around so to speak.
> 
> For instance, let's say I want to create an Array that would hold
> characters with the goal to send it to the video card directly (address
> $B800).
> 
> Could I take an array of Characters, and "move it" to address $B800 ? or
> something like it?
 
Yes. I've been toying(like I do with just about everything else on this
sytem) with the Linux Framebuffer.

Now, at least under Linux, you can map your video cards memory space to
an Ada structure, and then shove things into that structure. Of course,
that could be alot of work if you want to get access to all your cards
advanced features.(Multihead, etc...)

The easier approach is to see if your video cards manufacturer provides
an API or other method of interfacing with your video card driver. This
is the approach taken by the Framebuffer(mostly).
With Windows you'd probably have to use DirectX, MFC, or some other
absurdly large high level abstraction.

Some OpenGL drivers provide a limited set of methods for doing
direct drawing to the screen. SGI has an Ada OpenGL binding. I dont know
if it supports direct memory address access and/or manipulation, but it
comes pretty darn close. If you developing an app the requires precision
control over the screen methods, this is probably the best route to go.

If your goal is to develope your own video card driver, master the
Systems Annex, Interfaces.C, and at least make sure you have basic
understanding of your machines Assembler language. A bad video card
Ramdac timing or Res setting can toast your monitor, your video card, or
both.
In any case, you will be doing a fair amount of interfacing with C code.

Anyways...theres a whole hell of a lot more that can be said here, but
I'll leave it at that. I spent a while working on a Forth interpreter
that would run in the Framebuffer. Still working on it. Slowly
progressing, but I think I'll stick with Ada95 for now. Heh.


Freejack



  parent reply	other threads:[~2003-11-19 23:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-19 13:43 Low Level Ada Stephane Richard
2003-11-19 18:40 ` Jeffrey Carter
2003-11-19 18:47 ` Jim Rogers
2003-11-19 18:56 ` tmoran
2003-11-20  2:32   ` Stephane Richard
2003-11-20  5:39     ` tmoran
     [not found]     ` <m2vfpfgsnt.fsf@jvdsys.demon.nl>
2003-11-20 12:20       ` Stephane Richard
2003-11-19 23:37 ` Freejack [this message]
2003-11-20 13:09 ` Marin David Condic
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox