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 X-Google-Thread: 103376,be0ffa00e7ee1ac6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-04-28 14:49:05 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!newscon02.news.prodigy.com!newsmst01.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr12.news.prodigy.com.POSTED!not-for-mail From: James Ross Newsgroups: comp.lang.ada Subject: Re: An OS in Ada, why not RTEMS ? Message-ID: References: X-Newsreader: Forte Agent 1.8/32.548 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 65.66.221.29 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr12.news.prodigy.com 1020030495 ST000 65.66.221.29 (Sun, 28 Apr 2002 17:48:15 EDT) NNTP-Posting-Date: Sun, 28 Apr 2002 17:48:15 EDT Organization: Prodigy Internet http://www.prodigy.com X-UserInfo1: S[OGR^OGDH@SP_T[LJJ\OPLI[B]NQHQIKYYDMREK@YWZUYUBK^RAAEW[QDZ\YQ_IT^C_[EVLDV^NOMOBFFTINWDGGFTKX_DHE@[DRVKC^DQPPOD^HKAHIP[CODFMKGJNYDYIZCZLPI_UWEGS@D^W^B_^J[Y^G\KHBYZC@ESAY[FDPVPEGDA^M]@D]VT_QQVL Date: Sun, 28 Apr 2002 21:48:15 GMT Xref: archiver1.google.com comp.lang.ada:23204 Date: 2002-04-28T21:48:15+00:00 List-Id: On Sun, 28 Apr 2002 06:18:38 -0500, sk wrote: >>... OAR provides the means, by a patched GNAT, to >>create real-time apps for it in Ada. > >That could be problematic. This would suggest that one >has to keep several versions of Gnat current would it not ? I agree! >>However, I did take another look at it and found out that at >>one time it was written in Ada ( I'm pretty sure Ada83 ). >>File dates are from ... > >Ok, but still not sure why that would preclude RTEMS as a >starting hack point ... You are right and I didn't mean to imply otherwise. It might be very worthwhile to see what could be done with this code on the current version of GNAT. However, all the files contain this copyright ... --- COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. On-Line Applications Research Corporation (OAR). All rights assigned to U.S. Government, 1994. This material may be reproduced by or for the U.S. Government pursuant to the copyright license under the clause at DFARS 252.227-7013. This notice must appear in all copies of this file and its derivatives. --- The LICENSE file in the 3.2.1 root folder reads like a BSD like license to me (but I am not an expert on these issues by a long shot). However, I think it would be worthwhile to contact OAR to see what they say about taking this code and using it as a base in an OS in Ada project. >I know you have looked at EduOS-Ada, so is your main >interest in just getting a boot into a "Hello World" >type Ada main without all the other stuff ? >If so, I have a stripped EduOs-Ada which boots from >"init.asm" still, but does nothing but throw bytes at >the video addresses to produce a text splash screen. >If this would help you to keep going, let me know. Ahhh, trying to convince me to work on it some more! I have discovered a few things I believe to be true, but I am not 100% certain. - GNAT (or GCC) compiles to a logically flat memory model. That means it should not matter where you put the different segments in physical memory as long as they all start with the same address. Therefore it should be possible to compile a program in Ada such as: --- with System; use System; with System.Storage_Elements; use System.Storage_Elements; procedure Hello is Char : Character; for Char'Address use To_Address (16#B8000#); begin Char := 'H'; end Hello; --- This makes no use of any OS call nor does it use any dynamic memory. It should be possible to type a few magical switches on the command line and end up with a binary image file that includes all the code that the above needs to execute starting from byte position 0 of the file. And not include anything it doesn't need. (I am specifically referring to GNAT for Windows, but if it is only possible to do under GNAT for Linux I would not mind seeing it) But I can not figure out HOW to do this! Actually the other thing I need is a crash course in 32bit segmentation, descriptors, protected mode, etc � from the ground up. A 101 in Intel OS design as Intel meant it to be on their processors if you will. The problem is this is a steep learning curve on it's own without adding all the other obstacles plus learning high level OS design, all the while using a language that I am not quite up to speed on yet! Wew� that's a bad mix! :) JR