[comp.sys.atari.st] OSS Pascal update.

pjd@cwruecmp.UUCP (03/13/87)

I found my Drag_Box and Rubber_Box problem. Turns out that the mouse
button must be down *before* calling either of these routines. Of
course, this makes sense (right?) but yet another undocumented usage
note (of many thousands in GEM!) My problem with arc drawing is yet
unexplained.

I am putting together a collection of GEM/VDI definitions for OSS
Pascal as gathered from many sources (BBS, CompuServe, etc.) It
includes Simon Poole's hack for GDOS compatibility. (Simon, I haven't
had any problems using this hack without GDOS either.) Some these
routines will be untested by your's truly, however, as my application
doesn't use certain GEM features.

I received one inquiry about my opinion of OSS Pascal as an implementation
tool. Here are some specific comments based on a few thousand lines of
hack work.

  1. The implementation of Pascal itself is *solid*. I have a very low
     tolerance level for undebugged compilers.
  2. The environment is easy to use. I can bounce between edit, compile,
     link quite easily. I replaced the OSS editor with micro-emacs which
     sacrifices the "exit and compile" feature of the OSS editor, however.
     There are a couple of fatal errors due to "misunderstandings" between
     the compiler and runtime error reporting and the front-end.
  3. Compilation and link time from a hard disk is like using a PDP-11/34
     under Unix with no users. (Pretty subjective, eh?) From a ram disk,
     it is tolerably quick. The linker is really speedy.
  4. CCD/OSS have sugar coated the standard GEM routines eliminating a
     virtual flood of parameters. Not much capability has been lost from
     alerts, dialogs, windows, events or basic VDI graphics. An interface
     can be constructed with or without the Resource Construction Set.
     I went the "without" route even though it is a gross pain to build
     dialogs this way. Some amenities are missing like drag and rubber
     boxes, polylines, end point spec, polymarkers, etc. These are
     available through two "escape" procedures VDI_Call and AES_Call.
     Now the fun begins .....
  5. OSS or CCD botched the GEM library such that is doesn't work with GDOS
     as delivered out of the box. Simon Poole posted a good hack around this.
     However, some routines still don't seem to work right -- Frame_Arc,
     Frame_Round_Rect, and VDI ellipses. That's (not so) funny, these things
     all have arcs in them.
  6. Would I do it all over again in OSS Pascal -- maybe! For a $40 compiler
     it is a truly good value. OSS needs to rework and THOROUGHLY TEST
     the GEM library, however. They also need to add floating/string
     conversion, TURBO compatibility features (any comments from Chris
     Chablis about bringing up VT-Prolog?) and a tracing debugger. I would
     probably pay extra $$$$ for the debugger.

-- 

paul drongowski				decvax!cwruecmp!pjd
case western reserve university		pjd%Case@CSNet-relay