grogers@uiucdcs.UUCP (grogers ) (03/08/84)
#N:uiucdcs:24700040:000:4272 uiucdcs!grogers Mar 7 21:27:00 1984 [] I too have been using Turbo Pascal for a few weeks. Overall I am very pleased with the system although there are a few quirky things I don't like. First the things I don't like: . Turbo does not recognize path names. All files must be in the current working directory. Their ads claim "full support of operating system facilities" but under DOS 2.xx this is not true. . One of the big selling points for Turbo is that you can configure the system to fit you terminal. They did a great job of this for the Z80 version (I've used Turbo on an Altos also) but for the PC the terminal selection is limited to 40x25 bw, 40x25 color, 80x25 bw, and 80x25 color and the screen attributes for each of these selections is set in concrete. As far as I can tell there is no way to change the character attributes that are displayed. I have a color monitor and there is nothing that bugs me more than working in white (dim characters) and yellow (bright). . EVERY program clears the screen and resets the character attributes before it executes. There is no way to avoid this other than NOPping out the call to the routine that does this (not much fun using debug on every program I write...that's why I am using a high level lan- guage in the first place). . Upon completion of your program the cursor is positioned on line 25. This causes the screen to scroll and you lose the first line of your output (which is on line 1 via flame #3). . You can call external procedures and functions which must be in COM format but you cannot compile these external routines using Turbo. . There are quite a few fatal typos in the manual, I'll just mention the worst of these. You can place object code within your program using a statement named inline. The manual shows it being used like this: inline ($c4,$be,...) where the '$' just signals a hex value and each value is separated by commas. The actual format is this: inline($c4/$be/...) the values are separated by slashes. In an example showing how to reference parameters on the stack from an external proc uses MOV AL,[BP-1] the '-' should be a '+', the stack grows down not up. . Every now and then the editor will duplicate the last line on the screen. I have not tried to narrow down the cause but it seems to happen when the screen scrolls backwards. The duplicate line does not get into your file but it is annoying having it on the screen. . There is a routine that will test the keyboard buffer for characters. This works ok except when it appears just after a write or writeln. repeat writeln('foobar') until keypressed; will tend to hang the system sort of. You must hold down the return for quite a few iterations before the program will recognize it. Things I like about Turbo: . You can call BIOS & DOS routines using BIOS(func,parm):integer & BDOS(func,parm):integer where parm = record AX,BX,CX,DX,DI,SI,DS,ES,FLAG : integer end; . You can put object code inline with pascal code. This made it very easy for me to write some graphics routines. . The ads for Turbo boast about the speed of compilation and execution. Believe it or not it really is that fast, if not faster. To get a very rough idea of how fast the code really was i wrote a simple program to write an asterick at a random line and column until the keyboard was used (using the sometimes faulty keypressed routine). The short program compiled in <= 2 seconds (but the compiler was already in memory along with my source code). When I tapped 'r' to run the program (menu driven like UCSD), I almost fell out of my chair. Before I let up on the 'r' key the screen was about 70% filled. . Turbo is a very good Pascal program development system. With the full screen editor tied to the compiler it is very easy to edit- compile-run-edit-compile... in an almost interpretive form (like BASIC). . Best of all, it's only $50.00. The best computer bargain I have ever seen. --------- disclaimer: I have no Borland International, the company that distributes Turbo Pascal. greg rogers university of illinois, urbana-champaign ...uiucdcs!grogers