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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ef5a6044185c922d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-02-25 14:56:03 PST Message-ID: <3C7AC0B9.2060108@users.sf.net> From: Dave Poirier User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020204 X-Accept-Language: en-us MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Device driver in Ada95 References: <3C7AAA8B.6020507@users.sf.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 25 Feb 2002 17:54:49 -0500 NNTP-Posting-Host: 65.94.39.101 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1014677688 65.94.39.101 (Mon, 25 Feb 2002 17:54:48 EST) NNTP-Posting-Date: Mon, 25 Feb 2002 17:54:48 EST Organization: Bell Sympatico Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!torn!webster!nf1.bellglobal.com!nf2.bellglobal.com!news20.bellglobal.com.POSTED!not-for-mail Xref: archiver1.google.com comp.lang.ada:20405 Date: 2002-02-25T17:54:49-05:00 List-Id: Jerry van Dijk wrote: > Dave Poirier writes: > > >>My next step is to start to write device drivers in Ada95 using this same >>setup, so as to have as useable os sooner or later. As my first try, I >>decided to create a small vga driver for text mode. This requires that I >>write in memory from 0xB8000 to 0xB8A9F. >> > > This is not very difficult to do. However, GNAT generated x86 code depends > on the memory management used. So the question here is: are you using > real-mode, or DPMI, or some other PMODE driver for your own kernel ? Or > if you use your own scheme, how is the memory organised ? To make things simpler at the moment I use a flat memory model in protected mode, so I have 1 code segment of 4GB starting at 0 read/execute with a 4GB data segment start at 0 read/write. It's my own scheme. btw, thanks to chris.danx, I couldn't find any code on the original AdaOS site, the link you provided was indeed usefull. (maybe you should consider using an array of pointers and a loop instead of repeating 255 times the same code sequence) ;) also thanks to sk for the small code snippet, was right to the point. Where can I find information about QUAD? I've done a search for "Ada95 QUAD" on google but nothing related to 'Access came up. Thanks again :)