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,65f123cd649b666e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-02-27 00:28:04 PST Path: supernews.google.com!sn-xit-03!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: Al Christians Newsgroups: comp.lang.ada Subject: Re: Ada + MSDOS + User Interface Code? Date: Tue, 27 Feb 2001 00:25:42 -0800 Organization: Trillium Resources Corporation Message-ID: <3A9B6486.5CBDE45E@easystreet.com> X-Mailer: Mozilla 4.76 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 References: <3A9B0861.E21232B4@easystreet.com> <7fHm6.32411$5M5.1824682@news1.frmt1.sfba.home.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: newsabuse@supernews.com Xref: supernews.google.com comp.lang.ada:5320 Date: 2001-02-27T00:25:42-08:00 List-Id: tmoran@acm.org wrote: > > >nowadays with a simple text-mode GUI like that is that it is not mouse aware > You can use the mouse in text, as well as graphic, modes. It's just uglier. Yes. But writing a UI framework for DOS that is mouse aware is much less simple than writing one that isn't. If you just use the keyboard, you have just one stream of input to handle, and you can easily track where you are. And I've used some of the text mode commercial user interfaces that could get mouse input, and the mouse was no fun. It doesn't move smoothly, it has to jump annoyingly from rectangle to rectangle in the text grid. I suppose that there might be some apps that can make good use of DOS on dedicated hardware, but most of the world has had GUI apps for more than five years, and it would be unpleasant for most to go back. I recall that there was a little trouble addressing the video buffer with GNAT. Because GNAT for DOS runs in protected mode, you've got an address that's bigger than the 32-bit of segment and offset of the DOS real mode video buffer, and no way I could find to force any Ada variable to locate itself at the real address of the video buffer. But there were C language interface routines that came with djgpp that could be called from Ada to clobber the buffer indirectly. I think I also got this working with RR's Ada 95 for DOS. Did it have some easier way to convert to DOS addresses? Back then, we used to worry about how long it took for screens to update, but computers are 15 times faster now, so it probably doesn't matter much if you do any of this the fast way or the slow way. If the DOS machine is one that will be dedicated to just this Ada app, or at least not too much else will be run on the machine, then Ansi.Sys may be a pretty good alternative. Ansi.Sys was comparatively slow, but that probably doesn't matter much anymore, and it was very bad to have it installed if any programs were run that could possible ever send escape characters to stdout that weren't part of a well-formed escape sequence. But on a dedicated machine you could possibly prevent that, and Ansi.Sys gives some help for someone who wants to write a text mode GUI. Al