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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,76e8d3fd68c3d761 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-05-23 21:27:28 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed-east.nntpserver.com!nntpserver.com!newsfeed2.earthlink.net!newsfeed.earthlink.net!newsfeed0.news.atl.earthlink.net!news.atl.earthlink.net!news.mindspring.net!not-for-mail From: Richard Riehle Newsgroups: comp.lang.ada Subject: Re: Screen Handling packages! Date: Thu, 23 May 2002 21:29:09 -0700 Organization: AdaWorks Software Engineering Message-ID: <3CEDC195.479B58C0@adaworks.com> References: <88d37469ae67efc323ba84e966f7b387.86200@mygate.mailgate.org> Reply-To: richard@adaworks.com NNTP-Posting-Host: 3f.bb.23.71 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Server-Date: 24 May 2002 04:26:50 GMT X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en Xref: archiver1.google.com comp.lang.ada:24622 Date: 2002-05-24T04:26:50+00:00 List-Id: Henrik Quintel wrote: > Hello everybody, > I am looking for Ada95 packages which can do the following operations: [ description of requirement snipped ] For MS-DOS you may want to use a package supported by ANSI.SYS. I believe the contributions by Michael Feldman in the Ada Software Repository support that. Another approach, not for the faint of heart, but one I have seen used successfully is to access Hex B800 directly. At B800, you have a mapping to the screen at the pixel level. If you have a system address capability in your compiler to access B800, you can actually peek and poke with Ada into that area of memory. Yoshimi Fujii, formerly of Alsys, wrote a very nice little Tetris program using the Alsys Ada 83 compiler many years ago, and he used this trick. We tried to convert it to Meridian, but Meridian had a signed integer for System.Address, and it could not reach data in the high-order part of DOS memory. By tweaking the pixels directly, along with their associated attributes, you can gain enormous speed in your program. I suppose you could use this trick even with a Windows system, but I have not tried it -- and probably would avoid doing it since there is no end to mischief it could bring upon you. Probably better off using the ANSI.SYS trick, after all. Richard Riehle