sector@pro-exchange.cts.COM (Roby Sherman) (05/07/88)
Boy.. You don't call in a week and you find you've started quite a conspiracy.. hmmm.. Anyway.. Most of the bugs I've encountered with TML Pascal were just stupid little things that were capable of being "Worked Around" but still pains. Lately, my main problem with the compiler is that I've been getting those damn little error $0053 (Prodos 16 parameter exceeded) or an error $0201 Not enough memory, not because of me, but because of the compiler. Another error encountered, involved putting a space after a begin statement, or the routine would not work. For examp{le, If I were to type : If A<>'Hi' Then begin Writeln('oh my gosh!!'); Readln; End; This bug was a real variable, sometimes the routine would work, sometimes not.. Strange.. To correct the compiler, I would have to add a space. So the routine would look like this : If A<>'Hi' then begin Writeln('Oh my gosh!!'); Readln; End; That's such a simple thing, but yet such a nuisance.. Other errors include : * My program would crash for no reason - I would make a modification to my code, test it three to four times, and have it would work fine. I save the code to disk, come back the next day it mysteriously would not work. * Many programs work either much better or much worse on their own than they do within TML's compiler. I had programs that would work fine in the compiler, but would crash like crazy if I compiled it to disk and ran it from the launcher. * Certain laws of Pascal are not observed - I only have a 80 column printer, so when my code starts to get over the length of 80 columns, I cut the code in half so that it won't wrap around. Now in many Pascals I've used, they would allow you to put a carriage return in the middle of a line, for example : If A<>'Hi' then Writeln('Oh My Gosh!!'); And that should work.. In TML, that routine sometimes works, and other times crashes the progam.. * Local Vars don't work so hot in big codes - The current project I'm working on is already 89 blocks of obj code. A BIG program.. In my procedures, if I use local variables, such as Procedure LoadAFile(Path:String); Var FileVar:Text; The procedure would lock, causing me to reboot.. This problem persisted until I made FileVar a global variable... Strange! * TML doesn't use the standard APW segmentation. They don't divide their code into the proper sized segments as specified by Apple. * TML Pascal's and the BASIC's file routines are very buggy. * Units have problems - Many times code that use globals not within the unit or even within the unit do not work. * Overall, the TML Pascal is very buggy.. --------------------------------------------------------------------------- T M L B A S I C P R O B L E M S * Routines would spew out hash! - I wrote a complex little program that broke a string into individual characters, checked the characters for certain values, pull information from an array, and stuck all this information back into one sting.. Cute, huh? This routine worked in BASIC, ZBASIC, GSBASIC, but not TML BASIC, now I ask you. Does that sound like TML or me? For example if a line read : @027 is @006 time.. @0027 is @006 best time.. My routine would change it too : Now is the time.. Now is the best time.. But in TML BASIC, depending on A:How big my stack was, B:If I had the Ctrl-C mode on, C:If I had my cache on, D:If I had the debugger on, it would or not work.. A lot of different variables to sift through, eh? TML, for example would take this line and present a line of this nature : N#$% time.. Now %$ is the Ruinxxxx time... and then crash., The hash is really much worse than my example.. ------------------------------------------------------------------------ TML's support I took this BASIC problem and sent it to TML where Cliff, one of the tech people there told me that it was up to ME to isolate the problem, because he "Doesn't have time to do it." Gee, I thought that was his job... ------------------------------------------------------------------------ TML BASIC bugs continued : Try these two programs and see some cute bugs : GRAF INIT 320 GRAF ON _SetForeColor(0) _SetBackColor(15) Input "Watch the cursor leave a trail!!";A$ END Hmmm.... With the same routine, try typing something, using the DELETE key or the LEFT arrow.. Cute, hmmm??? Here's a (very) small portion of the s*it I've been taking with these products. You guys found any others?? --------------------------------------------------------------------- A Proposed Solution With AppleFest approaching, let's do this.. I think I'm going to find all of the people with chains, nouses, lead pipes, etc. that come to the show to go after the Zip Chip guys, and yell something like, Hey TML Systems helped them take our money! And have those TMLm beat up on those TML guys, too!! Heh heh heh!! Roby Sherman Interealm UUCP: [ ihnp4 cbosgd nosc ] !crash!pnet01!pro-sol!pro-exchange!sector ARPA: crash!pnet01!pro-exchange!sector@nosc INET: sector@pro-exchange.cts.com "Hey Apple! I want blitter hardware!!!!!!" -- An irate IIGS owner!
sector@pro-exchange.cts.COM (Roby Sherman) (05/10/88)
First, let me clear a few of my statements up.. When I was receiving the Prodos 16 error $0053 and Memory Manager $0201, I had cold-booted my GS, loaded the launcher, and immediatly proceeded to run my code which I had compiled to disk. At the time, I had roughly 1.1 megs of memory free. The version of TML I have, I will have to look into.. Get back to you on this one.. David Lyons writes : >I have never had anything like that happen to me; I haven't found any >problems that seem to be related to the syntax scan...blank lines shouldn't >make any difference at all. Well, all I can say is that I have had these problems and blank lines DO make a difference.. The problem did not occur in the "Syntax Scan." it always checked it perfectly. It's just when I "Compile To Memory" it starts to act looney during the program's actual execution. As for the other problems I mentioned with Units and globals not working, TML just seems to setimes take my variables and hash them for no apparent reason. Well, I'm getting the latest update version of TML Pascal very soon. Let's hope some of my problems clear up.. Roby Sherman Interealm UUCP: [ ihnp4 cbosgd nosc ] !crash!pnet01!pro-sol!pro-exchange!sector ARPA: crash!pnet01!pro-exchange!sector@nosc INET: sector@pro-exchange.cts.com "Hey Apple! I want blitter hardware!!!!!!" -- An irate IIGS owner!
BHUBER@ECLA.USC.EDU (05/11/88)
You may be suffering from similar bugs that I have encountered on TML Basic. I purchased the package but would not/could not use it (couldn't even open a source code file). If you have any NDAs in your system folders (specifically TML's calculator), you should try running without the NDAs. I have passed this info on to TML (Cliff) and he had an interesting utterance: "hmmmm, I wonder if this is related to other problems???" Bottom line for me is that without the TML calculator desk accessory loaded (even if it is not used, it still causes problems, so boot without it on the system disk), I can test and play with TML Basic. I still find other subtle bugs, but you've mentioned most of them. One bug you have not mentioned is "unable to unload tool 0002" after running TML Basic -- a fatal error, to say the least. Bud
estell@uiucdcsm.cs.uiuc.edu (05/11/88)
For the following program, the cursor is not fully on the screen; this is what is causing the "bug". GRAF INIT 320 GRAF ON _SetForeColor(0) _SetBackColor(15) Input "Watch the cursor leave a trail!!";A$ END If you add in: _MoveTo(20,20) before the input statement, everything will work fine. -------------- John K. Estell University of Illinois estell@m.cs.uiuc.edu