Forum unknown
· Modula-2
Contd.. Modula-2/Amiga
7 messages in this thread
My version is 3.01a and yes I do have expaned memory. Come to think of it,
the TDI stuff didnt GURU until I added my Starboard II this spring. For you
memory eating try checking the allocation/freeing for the main buffer. On
smaller files, the memory lost is always equal to the size of the file when I
exit the editor.
I understand your point about the problems with keeping you product generic.
Take a look at my suggestion about using the FD files to update the Amiga
bindings. Since they contain ALL the information needed to call a routine
for ALL the system calls, if you take that route it doesn't matter how much
Commodore messes with the offsets. Keep in mind although that 1.3 is minor,
from what most people have heard, 1.4 is going to be such a major revision
that your can guarentee problems. You could also look at amiga.lib.
Although the original version would have to be licensed from Commodore, there
are some PD versions that are smaller who's authors would probably be happy
to work with you.
What do I need to do to get 3.01b? Just send in my disks with a cover
letter?
I see your point about the cost of ring binders. However, shipping them with
new products at a slightly higher price to cover the cost and making revised
documentation available to previous owners for a small fee (say $10) would be
a step in the right direction, especially to placate existing ticked off
customers.
Also if TDI HAS changed for the better (just what is going on, new
management?) PUBLICIZE it! I didn't know anything was up until I stumbled
accross it here a couple days ago. Also, most of your customers DONT have
Compuserve so let them know that TDI has 'changed'.
As for my comment about LONGREALs I am fuzzy on that one since it is Rick Pim
who so precisely illustrated the problems. He even had an instance where the
value of a variable changed somewhere in 6-7 lines of code where it wasn't
even referenced.
For the problems with typing, I think (cant say for sure since I have
Developers and not commercial (ser no. 09859)) that the problems with foo
I think the problem is with some system structure pointers being declared as
ADDRESSes and some as say POINTER TO FooStructure and the compiler being
inconsistant with whether assignment is okey-dokey. However in the case with
FooMessage:=WaitPort(FooPort); both FooMessage and FooPort are MessagePtr(s)
but sometimes this works and sometimes it doesn't. (This was orginally
reported by Rick Pim also.) Lloyd Blankenship at Southwest Texas State
University is another person who has long detailed problem lists. (Although
he might shoot you on sight, he almost blew a big project and had to purchase
Lattice at the last minute because of problems with TDI.)
Overall, I think a lot of the problem has to do with inconistancies in the
Amiga Modules. TRY to get your modules to match the RKM specs for system
calls. (Mortimores Amiga Programmer's Handbook is very good in detailing how
system functions are supposed to behave.) For instance I spent an hour
trying to track down a problem when I discoverd that the code (ported from C)
was calling OpenWindow with a POINTER to a NewWindow record, (as Commodore
specifies), where TDI wanted the record itself. Although this was when I
first got your product, and a good look at the .DEF file solved the problem,
it is little inconsistancies like this that make life tough for a programmer.
Well, good luck,
Mark Gooderum 76672,2717
Sorry about the delay in replying, Ive been off ill the last couple of
days;
No I'm not new to TDI. I am in charge of the sister company M2S Ltd that
operates in the UK. We do all the software development, TDI simply handles
the marketing etc for USA/Canada.
To get 3.01b just return your master disks. We will get them back to you
ASAP.
We do intend to publicize the new improved TDI!. A letter will be going out
to all customers within the next few weeks. We are holding back due to some
new products that have not been finalised yet.
I agree that some of the definition modules do not implement the ADDRESS/
pointer types very well. When we developed Modula-2/Amiga you must remember
that it was Intuition 1.0 together with a very incomplete version of the
manual. Now there is more information available we will be re-vamping our
definition modules.
I hope to have more news soon..
I am happy to hear that TDI is changing for the better. I do agree with
Kevin that TDI's price/value ratio is very good. Look for my disks in the
mail soon. It looks like I will be taking a second look at TDI when I get
back 3.01b.
A question for Kevin- If you've developed working programs in M2 why go to
the pain of porting them to C? TDI's runtime license policy is very generous
(read, free as long as you make mention of them), so…?
I also agree with Kevin, I much prefer a more rational level of discussion.
Now for one more thing. Although this would be a major project, TDI's system
would be much more useful for development if there were *some* way to link
with standard Amiga object code. Either through a Linker able to handle both
formats, or a utility to convert TDI .lnk files to .o files and like Link
with ALink (yuck) or BLink. With all the wonderful libraries popping up,
like ARP and the various other things, it would be far easier to just link
with libraries or .o(bject) files instead of having to port source (or use
lots of CODE statements). A conversion utility would probably be most in
line with your goal of a common compiler accross different machines.
Also, some greater speed in the compile/link cycle would help. Even with M2:
on a 28ms Miniscribe 8425 hard drive a moderate set of imports can take over
a minute or two. The linker seems to take an exceptionally long time to
generate the load file (does this have to do with differing object code
formats between TDI and the Amiga executables?).
Well, keep going,
Mark Gooderum 76622, 2717 Disclaimer: Going to and working for but in no way
taking seriously the University of Kansas and Academic Computing Services.
P.S. Glad you are done being ill, seriously.
Our new product, due out late summer, has direct library calling. That is the
definition module describes the library call and it is generated in-line.
This speeds up link time a lot because you dont have any link files for
library call interfaces. The linker is slow when optimising as it has to take
another pass of the link files to build the procedure call trees. We are
investigating a faster method to do this.
Phil Camp.
Our new product, due out late summer, has direct library calling. That is the
definition module describes the library call and it is generated in-line.
This speeds up link time a lot because you dont have any link files for
library call interfaces. The linker is slow when optimising as it has to take
another pass of the link files to build the procedure call trees. We are
investigating a faster method to do this.
Phil Camp.
I am happy to hear that TDI is changing for the better. I do agree with
Kevin that TDI's price/value ratio is very good. Look for my disks in the
mail soon. It looks like I will be taking a second look at TDI when I get
back 3.01b.
A question for Kevin- If you've developed working programs in M2 why go to
the pain of porting them to C? TDI's runtime license policy is very generous
(read, free as long as you make mention of them), so…?
I also agree with Kevin, I much prefer a more rational level of discussion.
Now for one more thing. Although this would be a major project, TDI's system
would be much more useful for development if there were *some* way to link
with standard Amiga object code. Either through a Linker able to handle both
formats, or a utility to convert TDI .lnk files to .o files and like Link
with ALink (yuck) or BLink. With all the wonderful libraries popping up,
like ARP and the various other things, it would be far easier to just link
with libraries or .o(bject) files instead of having to port source (or use
lots of CODE statements). A conversion utility would probably be most in
line with your goal of a common compiler accross different machines.
Also, some greater speed in the compile/link cycle would help. Even with M2:
on a 28ms Miniscribe 8425 hard drive a moderate set of imports can take over
a minute or two. The linker seems to take an exceptionally long time to
generate the load file (does this have to do with differing object code
formats between TDI and the Amiga executables?).
Well, keep going,
Mark Gooderum 76622, 2717 Disclaimer: Going to and working for but in no way
taking seriously the University of Kansas and Academic Computing Services.
P.S. Glad you are done being ill, seriously.
Sorry about the delay in replying, Ive been off ill the last couple of
days;
No I'm not new to TDI. I am in charge of the sister company M2S Ltd that
operates in the UK. We do all the software development, TDI simply handles
the marketing etc for USA/Canada.
To get 3.01b just return your master disks. We will get them back to you
ASAP.
We do intend to publicize the new improved TDI!. A letter will be going out
to all customers within the next few weeks. We are holding back due to some
new products that have not been finalised yet.
I agree that some of the definition modules do not implement the ADDRESS/
pointer types very well. When we developed Modula-2/Amiga you must remember
that it was Intuition 1.0 together with a very incomplete version of the
manual. Now there is more information available we will be re-vamping our
definition modules.
I hope to have more news soon..