mirror of
https://github.com/opsxcq/mirror-textfiles.com.git
synced 2025-08-12 19:33:59 +02:00
808 lines
35 KiB
Plaintext
808 lines
35 KiB
Plaintext
America Online
|
|
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
|
|
October 17, 1989 10:00 pm eastern time
|
|
Topic: Special Guest: TML Systems
|
|
|
|
Discussion following the conference on how
|
|
to do decimal arithmatic in assembly language for
|
|
use in 3-D animation routines.
|
|
|
|
Forum Leader: Dave Sugar (AFL Dyfet)
|
|
|
|
|
|
TML Vince Looks like we may be missing our west coast regulars tonight..
|
|
AFA Gary J Yup.
|
|
A2GS or at least our SF regulars.
|
|
AFL Dyfet And others, Vince...I have heard from Dave Lyons and Matt, though,
|
|
and they are
|
|
TML Vince San Jose is a real mess from what I'm hearing on TV..
|
|
AFL Dyfet okay, just without power.
|
|
TML Vince Darn, was hoping Matt and Dave would be here.
|
|
TML Vince Hello Tom
|
|
A2GS where are they from?
|
|
TML Vince Cupertino.. just south of San Jose
|
|
TML Vince right in the middle of the whole mess
|
|
TML Tom Greetings.
|
|
AFL Dyfet Appearently some of the buildings were cracked, and they had to
|
|
evacuate
|
|
AFL Dyfet Apple.
|
|
AFA Gary J Hi Tom
|
|
AFL Dyfet But nobody there was hurt.
|
|
TML Vince glad to hear that..
|
|
AFL Dyfet Though Dave lost a monitor, and Matt gained a light fixture in his
|
|
cubical...
|
|
TML Vince :)
|
|
A2GS :)
|
|
AFA Gary J Hope everyone had backups :)
|
|
TML Vince Oh well, there goes my tech support... :))
|
|
AFL Dyfet Well, for those who might have missed the intro's we skipped, we
|
|
do have two
|
|
AFL Dyfet guests here from TML Systems, Vince Cooper, and Bob Leanord :).
|
|
Most of you
|
|
TML Vince Err, Tom's here, not Bob... :)
|
|
TML Tom Sorry, its Tom
|
|
AFL Dyfet are probably more familiar with Vince as 'AFL Vince' :), (Yes, you
|
|
are right,
|
|
AFL Dyfet Vince, I did confuse that :), but if Tom would like to take this
|
|
oppertunity to
|
|
AFL Dyfet introduce himself, this would be a good time :).
|
|
TML Tom Hi, I'm the president of TML Systems and the author of the
|
|
recently released TML Pascal II compiler
|
|
TML Tom for the Apple IIGS.
|
|
TML Tom I've also written the TML BASIC compiler and TML Pascal for the
|
|
Mac.
|
|
TML Tom I'm here tonight to answer whatever questions you might have about
|
|
TML Pascal II.
|
|
TML Tom ga
|
|
AFL Dyfet Thank you Tom :). Now, who would like to ask the first
|
|
question?
|
|
TML Vince I would, I'd like to know how many people here have actually seen
|
|
the new compiler?
|
|
Doctor Why I have.
|
|
AE PhilM Not I.
|
|
AFA Gary J Not I.
|
|
BRENTON Nor I.
|
|
AFL Dyfet I have, for one :)
|
|
John moyln not I(just spent the upgrade money on the Mac version...:)
|
|
Windrider5 Not I
|
|
Terry Cox Not I
|
|
TML Vince Ok, maybe we should tell you a bit about it, then you can ask
|
|
questions...
|
|
JDavies1 what are we commenting on?
|
|
AE PhilM Sounds like a good chance for 8 sales :))
|
|
Windrider5 ?
|
|
AFA Gary J :)
|
|
AFL Dyfet How many here are familiar with the older version of TML Pascal?
|
|
John moyln I am...
|
|
BRENTON Sorry.
|
|
John moyln ($@&^^($@* 32k editor...;)
|
|
AE PhilM Sort of..
|
|
Doctor Why I am.
|
|
Terry Cox Nope.
|
|
JDavies1 I am
|
|
A2GS A little
|
|
TML Tom I'll give a brief intro to TML Pascal II.
|
|
AFL Dyfet Okay, perhaps a good start, Vince, would be to explain some of the
|
|
differences
|
|
AFL Dyfet and then explain about TML Pascal in general for the new folks :).
|
|
GA Tom, I
|
|
AFL Dyfet did not see your comment fly in :)
|
|
TML Tom TML Pascal II is a new version of the original TML Pascal compiler
|
|
for the IIGS.
|
|
TML Tom It is a stand-alone application which operates in the IIGS 640
|
|
mode graphics screen.
|
|
TML Tom The product has an editor, compiler, linker and a resource
|
|
editor.
|
|
TML Tom The compiler and linker are mostly the same as the original
|
|
version with bug fixes and general
|
|
TML Tom improvements. The major new features include a new text editor
|
|
based on the new TextEdit toolset,
|
|
TML Tom interfaces to System Software v5.0, and most importantly the
|
|
resource editor.
|
|
TML Tom System Software 5.0 implements a Resource Mgr like the Mac and the
|
|
other toolsets have been extended
|
|
TML Tom to support resouces. This allows you to implements windows,
|
|
menus, dialogs, etc. separate from the
|
|
TML Tom code in your program. And further, these user interface elements
|
|
are now created "graphically"
|
|
TML Tom with the TML Pascal II resource editor.
|
|
TML Tom That sounds like enough.
|
|
TML Tom ga
|
|
AFL Dyfet Thank you Tom :)...Okay, I believe that Windrider has the next
|
|
question, GA.
|
|
Windrider5 I have a very general question.
|
|
Windrider5 Why did you choose the pascal language over other languages such
|
|
as C
|
|
TML Tom TML Systems shipped its first product in December 1985. It was a
|
|
Pascal compiler (the first one!)
|
|
TML Tom for the Mac. When the IIGS was released, we decided to port that
|
|
compiler to the IIGS.
|
|
TML Tom So it was mostly a business decision since that was (and is) the
|
|
technology that we have. TML Systems
|
|
TML Tom has never programmed and projects in C, although we use assembly
|
|
quite routinely.
|
|
TML Tom ga
|
|
AFL Dyfet Okay, I believe Phil has the next question and the floor now. GA
|
|
Phil.
|
|
AE PhilM Can you link APW OMF files with the TML Linker? If you can that's
|
|
great, if
|
|
AE PhilM not how do you incorporate Assembly language routines in a TML
|
|
Pascal program?
|
|
AE PhilM ga
|
|
TML Tom No, the TML Pascal II linker can not link APW OMF files.
|
|
TML Tom Now that we have completed the features we thought were most
|
|
important for TML Pascal II (the resource
|
|
TML Tom editor and System 5.0 interfaces) I think that Vince has pretty
|
|
well communicated that this
|
|
TML Tom feature is really needed. I would look for it in
|
|
TML Tom furture versions.
|
|
TML Tom ga
|
|
TML Vince As for now, we do have the Inline statement.. :)
|
|
AE PhilM Thanks :)
|
|
AFL Dyfet I would like that feature, too :)...I believe that A2GS has the
|
|
next question,
|
|
AFL Dyfet GA A2 :)
|
|
A2GS Has TML thought about an assembly language assembler (made up
|
|
completely of
|
|
A2GS custom routines if the Desktop is the interface you would go with,
|
|
except for
|
|
A2GS such things like interfacing with the Resource Manager, etc) GA
|
|
TML Tom No, I don't think that you will see TML Systems release an
|
|
assembler. There are already two
|
|
TML Tom very fine assemblers for the machine.
|
|
A2GS Agreed...What do you consider them to be?
|
|
AFA Gary J :)
|
|
AFL Dyfet :)
|
|
TML Tom However, we will in the future provide a mechanism to link in at
|
|
least OMF files.
|
|
TML Tom Oh, I think I take a no comment on that one. But I will say that
|
|
I use the MPW IIGS assembler for
|
|
TML Tom whatever that is worth.
|
|
TML Tom ga
|
|
A2GS O.K. Thanx :)
|
|
AFL Dyfet A good answer, Tom :), actually, we all probably have strong
|
|
prejudices on that
|
|
AFL Dyfet one :). Okay, do we have any more questions from the audiance
|
|
tonight?
|
|
AFA Gary J Q = <empty>
|
|
AFL Dyfet Okay, Doctor Why, GA, you have the floor now.
|
|
Doctor Why Reading some of the folders here, there have been a number of
|
|
problems with
|
|
Doctor Why the current version of TML PASCAL II, (not all your fault)
|
|
Doctor Why You mentioned that there will be an update soon?
|
|
TML Tom You are absolutely right.
|
|
A2GS Never mind my Q, Gary.
|
|
TML Tom We have had numerous problem completing the software. Some
|
|
because of System Software v5.0
|
|
TML Tom and some because we just tried to do too much in the time frame
|
|
allocated.
|
|
TML Tom We have now been shipping v1.1 of the compiler together with
|
|
System Software v5.0.2 from Apple for
|
|
TML Tom about 2 weeks and this configuration has proved to be VERY solid.
|
|
We have also shipped free update
|
|
TML Tom disks to all customers who received v1.0 earlier this week.
|
|
TML Tom Vince, do you know what day that was?
|
|
TML Vince The last of the update disks went out yesterday. Some folks
|
|
should begin receiving them by tomorrow
|
|
Doctor Why You shipped to all registered owners?
|
|
TML Vince The only problem the update didnt take care of was the TE cut and
|
|
delete problem which will fix itself
|
|
TML Vince with a future system software update from Apple.. :)
|
|
TML Vince GA
|
|
Doctor Why Thanks.
|
|
AFL Dyfet Thank you, Vince and Bob :), does anyone else have any questions
|
|
for tonight?
|
|
TML Tom Any good meaty techical question?
|
|
A2GS Can TML Pascal II compile and link during a major Earthquake?
|
|
A2GS :)
|
|
TML Tom Even if you lose power!!! Its that good!
|
|
John moyln what sort of enhancements were made to the editor?
|
|
TML Tom The editor was replaced entirely. It is now based on the Text
|
|
edit toolset provided with
|
|
TML Tom System Software v5.0.x
|
|
TML Tom The major new features in the editor include: much impoved
|
|
find/replace, any font/font size, no 32K
|
|
TML Tom limit on file size, Undo, ...
|
|
TML Tom ga
|
|
AFL Dyfet I think people will most appreciate the breaking of the 32K
|
|
boundry :). Okay,
|
|
AFL Dyfet I see that AFL Scott is next, GA Scott.
|
|
AFL Scott How does the compiled look and run (speed wise) with respect to
|
|
code generated
|
|
John moyln (yep, into the present, our of the dark ages...;)
|
|
AFL Scott under the full optimization of compilers like ORCA/Pascal? It is
|
|
my under-
|
|
AFL Scott standing that TML II is an optimizing compiler, is it?
|
|
AFL Scott GA
|
|
TML Tom Well, I think that our compiler makes some very good decisions
|
|
about the code it generates, but
|
|
TML Tom I would not really call it a "optimizing" compiler. Such a
|
|
compiler would make at least two passes
|
|
TML Tom during code generation to make sophisticated code generation
|
|
decisions. The MPW IIGS compiler does
|
|
TML Tom this, I don't know what the ORCA compiler does.
|
|
TML Tom We have tried to emphasize speed, ease of use and now the resource
|
|
editor capability.
|
|
AFL Dyfet I think TML has done pretty well in the ease of use part,
|
|
certainly :)...Okay,
|
|
AFL Dyfet I see that A2GS has the next question, GA A2GS.
|
|
A2GS This is way off the subject, but I was wondering if maybe one of
|
|
the TML guys
|
|
A2GS or anyone else for that matter, has any idea where I might be able
|
|
to find code
|
|
A2GS or an algorithm for writing floating point routines in assembly
|
|
language? GA
|
|
TML Tom Not me.
|
|
TML Vince Hmm.. not I... I use the tools that are provided.. Ie SANE :)
|
|
A2GS Thanx anyways :) :(
|
|
TML Vince Since I'm not a masochist, I avoid Assembly when at all possible..
|
|
:)
|
|
AFL Dyfet Way back in a few very old issues of Byte, there were some pretty
|
|
good articals
|
|
A2GS need them for 3-d routines :)
|
|
AFL Dyfet on implimenting floating point math, and perhaps in other places
|
|
as well :).
|
|
A2GS how far back?
|
|
AFA Gary J There's a 3-d package in our library :)
|
|
A2GS when/where?
|
|
AFL Dyfet As to 3-d routines, I think, for speed, you would do best with
|
|
table driven
|
|
AFL Dyfet lookup routines for cos/sine :).
|
|
A2GS Working on my own....have all the routines/algorithms except for
|
|
the FP ones!
|
|
AFL Dyfet That is what Sublogic's 3-d toolkit did :)...I see Scott wishes to
|
|
comment, GA
|
|
AFL Dyfet Scott :)
|
|
AFA Gary J A friend of mine wrote the one in our library, I'm not sure what
|
|
he did for
|
|
AFA Gary J his algorithms.
|
|
AFL Scott Is there any support planned for the Innovative Systems Floating
|
|
Point Engine?
|
|
A2GS Will still need FP routines even with Cos/Sin Table (already had
|
|
it in mind :)
|
|
TML Vince Scott?
|
|
AFL Dyfet I believe Scott's question was directed twords TML :)
|
|
AFL Scott I do to!:)
|
|
AFL Scott too!:)
|
|
TML Vince err, I missed it :)
|
|
AFL Dyfet Um, Scott?
|
|
ProDude (scroll up)
|
|
TML Vince Oh, Floating Point Engine... we've discussed it, and I'm really
|
|
wondering how much saturation this
|
|
TML Vince product has really made... In other words, is full support really
|
|
needed? you tell me :)
|
|
AFL Scott I think so.
|
|
AFL Scott Anything is better than SANE.
|
|
TML Vince ah, a single voice raises from the masses.. :)
|
|
TML Vince I dont know, Tom, comments? FPE support, or the AE math card for
|
|
that matter..
|
|
AFL Dyfet I think it would be good, too, for those who have need of high
|
|
powered math
|
|
AFL Dyfet support :).
|
|
AFA Gary J I don't think Scott's opinion of SANE is singular.
|
|
AFA Gary J :)
|
|
AFL Dyfet That is also true, Gary :)
|
|
AFL Scott Either built in support or optional support (user purchase--extra)
|
|
would be
|
|
AFL Scott so nice!:)
|
|
TML Tom Unfortunately, I don't think we have the resources right now to
|
|
recode the code generation for these
|
|
TML Tom alternative FP mechanisms. I believe each of these, however,
|
|
patches SANE and dispatches the calls
|
|
TML Tom to their respective boards? GA
|
|
TML Vince I know FPE does this guys, not sure about FastMath
|
|
TML Vince GA
|
|
AFL Scott It does, but it's several orders of magnitude faster to call the
|
|
card directly
|
|
AFL Scott than to use the init.
|
|
TML Vince understood, and noted... :)
|
|
A2GS Prefer homemade FP routines for a Compiler.
|
|
A2GS NOT SANE!!!
|
|
Doctor Why ?
|
|
A2GS inSANE
|
|
TML Vince anyone else have a question relating to TML Pascal II?
|
|
AFL Dyfet I see that Doctor Why has a question :). GA Doctor :)
|
|
Doctor Why Are there any plans to add support for resources for icons and
|
|
cursors?
|
|
TML Tom We will certainly enhance the resource editor based on demand. I
|
|
think that cursors and icons are
|
|
TML Tom right at the very TOP of the list!
|
|
AFL Dyfet Okay, I believe that A2GS has the next question. Ga A2, you have
|
|
the floor
|
|
AFL Dyfet now :)
|
|
A2GS How would you compare TML Pascal II with your competitors ver. of
|
|
Pascal? GA
|
|
TML Tom I think that our major advantages are speed, ease of use, System
|
|
Software 5.0 support which is fully
|
|
TML Tom conformant to the new Apple interfaces for Pascal, and most
|
|
especially the resource editor.
|
|
TML Tom Their product's major advantages are the debugger and
|
|
multi-language integration.
|
|
TML Tom ga
|
|
TML Vince I'll add that Ease of Use covers many angles!
|
|
A2GS Can you compare yours speedwise? (compiling time)
|
|
A2GS and what comes with the TML PASCAL II package? GA
|
|
TML Tom Honestly, I haven't compared their latest version with TML Pascal
|
|
II so I don't think it would be fair
|
|
TML Tom to say exactly.
|
|
TML Vince Speed wise, we're considerably quicker... I think you'll find our
|
|
competitor himself is willing to
|
|
TML Vince conceed the speed issue to us.
|
|
TML Vince GA
|
|
TML Tom The TML Pascal II product comes with two disks and a manual. The
|
|
disks include System Disk v5.0.2,
|
|
TML Tom the second disk contains the compiler, examples, toolbox
|
|
interfaces and source code to the interfaces.
|
|
A2GS Manual?
|
|
TML Tom The manual is pretty standard stuff. I think the nicest feature
|
|
is a complete listing of the toolbox
|
|
TML Tom interfaces with a full index of every toolbox procedure, function
|
|
and typename!
|
|
A2GS Clear list/explanation of commands available and usage? GA
|
|
AFL Dyfet Have you considered making that kind of information available
|
|
online in a live
|
|
AFL Dyfet help system?
|
|
AFL Dyfet (online, as in, while using the product, not as in on AO :)
|
|
TML Tom Yes, but so little time... Anyone want to do it?
|
|
TML Vince We also have a nice Source Code Library available as a companion
|
|
product... :)
|
|
AFL Dyfet It would certainly make an interesting companion DA for TML Pascal
|
|
:)
|
|
Rohit What does
|
|
Rohit How much does TML Pascal II cost?
|
|
TML Tom $125 retail and $49.95 for the SCL
|
|
Rohit Whats SCL?
|
|
AFA Gary J Source Code Library
|
|
AFL Dyfet Source Code Library, sample Pascal II source code, Rohit. Okay, I
|
|
believe we
|
|
AFL Dyfet can move to Doctor Why's question now. GA Doc.
|
|
Doctor Why In your first flyer on TML Pascal II, there was a contest
|
|
mentioned. Can you
|
|
Doctor Why give us some more details?
|
|
Rohit Doyou know of any good programs that were made with TML Pascal?
|
|
TML Vince I'll take this one... :)
|
|
TML Vince I'm in the process of working out the final details of the
|
|
Programming Challenge right now. You'll
|
|
TML Vince receive information on this when you return the registration card
|
|
from Pascal II. I think you'll
|
|
TML Vince like what we're lining up for you!
|
|
A2GS What's the prize?
|
|
TML Vince As for good programs written with Pascal II, if you've looked at
|
|
Britanica Software's new
|
|
TML Vince Revolution 76 game, it was written totally with TML Pascal..
|
|
Rohit Thanks
|
|
Rohit Bye
|
|
TML Vince And I can't tell you the prize... it would ruin all the fun... :)
|
|
kind of like christmas.. :)
|
|
A2GS prize?
|
|
TML Vince GA
|
|
AFL Dyfet Okay, I see that Doctor Why has a new question, GA Doc :)
|
|
Doctor Why Does the update just sent out have any changes to interfaces?
|
|
TML Vince Yes, we changed a couple of things in the Print and Desk
|
|
interfaces.
|
|
TML Vince I'm sure other things will eventually be found.. Apple is still
|
|
in the process of setting those
|
|
TML Vince things in stone.. :)
|
|
Doctor Why :)
|
|
TML Vince GA
|
|
Doctor Why the cement is still wet. :)
|
|
TML Vince Anyone else got anything about Pascal II you want to ask?
|
|
AFA Gary J What's the status of TML BASIC?
|
|
TML Vince Gary, its fine... :)
|
|
TML Vince Gee, and I thought we were going to make it all night without that
|
|
one... :)
|
|
TML Tom Bye.
|
|
Doctor Why Night Tom.
|
|
TML Vince Night, Tom
|
|
TML Vince Actually, I havent made any decisions about Basic, and it looks
|
|
like that decision is going to be
|
|
A2GS oops missed.
|
|
TML Vince my problem to make..
|
|
AFA Gary J What kind of decision?
|
|
TML Vince I want to look at a few things market wise before I do or say much
|
|
about Basic..
|
|
AFL Dyfet I think it would be a very good time to put out a decent basic for
|
|
the gs
|
|
AFL Dyfet myself...:)
|
|
Doctor Why How about making TMLBASIC capable of doing custom controls?
|
|
TML Vince About how much we're going to do with it Gary, it needs more than
|
|
a simple update.
|
|
AFA Gary J :)
|
|
TML Vince in all honesty, it needs HELP
|
|
TML Vince :)
|
|
TML Vince how many of you actually write serious programming projects in
|
|
Basic?
|
|
A2GS Ampersand revisited.
|
|
AFA Gary J I picked up an unopened copy at a garage sale, but have never
|
|
cracked the
|
|
A2GS LOL Vince.
|
|
AFA Gary J wrapper.
|
|
AFA Gary J I don't write serious programs in BASIC because I don't have a
|
|
serious BASIC.
|
|
AFL Dyfet Well put Gary!!
|
|
Doctor Why Sometimes you just don't want to write a serious program! :)
|
|
TML Vince The problem with Basic is that the toolbox is not designed for it.
|
|
Pascal and C are stack based
|
|
TML Vince languages, Basic isnt. The toolbox is designed to interact with a
|
|
stack based language... It CAN
|
|
TML Vince be done, but not done well.
|
|
AFL Dyfet One can mold the internal architecure of Basic in any way one
|
|
wishes,
|
|
AFL Dyfet actually :)...One only needs to see what MicroSloth did with
|
|
QuickBasic to see
|
|
AFL Dyfet what Basic can be :)
|
|
AFA Gary J Right!
|
|
AFA Gary J (I DO have QuickBasic on the IBM clone at work :)
|
|
TML Vince I'm looking seriously at QuickBasic, Dave.. It is a good
|
|
implementation, but it still leaves a lot
|
|
A2GS You can have it!
|
|
TML Vince to be desired for serious programming projects.
|
|
TML Vince I'm looking at QB for the Mac.. :)
|
|
AFL Dyfet The Mac implimentation, from what I have seen, is a very poor
|
|
cousin of the
|
|
AFL Dyfet PC ones, and lacks most of the features found there.
|
|
TML Vince It's a nice attempt, as is Zbasic on the Mac.. Like I said, our
|
|
basic can be made better... I just
|
|
TML Vince need to do some study before I'm willing to commit to anything.
|
|
Doctor Why Vince, can I ask a dumb question on Pascal II?
|
|
AFA Gary J No such thing as a dumb question :)
|
|
TML Vince GA, Doctor
|
|
Doctor Why Just wait... :)
|
|
A2GS :)
|
|
Doctor Why When printing out samples and selecting page numbers, I only got
|
|
it on the
|
|
Doctor Why 1st page.
|
|
TML Vince only got what? a listing?
|
|
Doctor Why yes, printing out the sample programs.
|
|
TML Vince I didnt know it even asked you how many pages to print...
|
|
TML Vince am I misunderstanding the problem?
|
|
Doctor Why No, I only got one page number, many pages.
|
|
Doctor Why and no page breaks.
|
|
TML Vince Oh, ok, set if for cut sheets instead of continous forms..
|
|
TML Vince if = it
|
|
TML Vince there are two buttons there, you DONT want the default.. :)
|
|
TML Vince GA
|
|
Doctor Why Oh , really? I thought that was asking if you were using
|
|
continuous forms or
|
|
Doctor Why single sheets.
|
|
TML Vince It is, but its confused.. :)
|
|
Doctor Why :) So am I. :)
|
|
Doctor Why I'll give it a try.
|
|
AFA Gary J :)
|
|
TML Vince it'll work, I promise.. :)
|
|
Doctor Why If that's the case, is the number of lines per page
|
|
Doctor Why the number of lines you WANT printed per page?
|
|
TML Vince you do what the default (60) on the lines per page..
|
|
TML Vince a page has 66 lines, 60 lines of printing leaves 3 lines each at
|
|
the top and bottom for a margin.
|
|
TML Vince you should also position the form so that you already have a small
|
|
margin at the top of the
|
|
TML Vince page before you start to print.. it makes a nice listing if you
|
|
do.
|
|
Doctor Why One other comment on printing.
|
|
TML Vince GA
|
|
Doctor Why It would be nice for you to provide a left margin for those of us
|
|
who would
|
|
AFL Dyfet Okay, did we have any more questions for tonight? :)
|
|
Doctor Why like to put these in binders.
|
|
TML Vince you can do that yourself by sending a printer command. we do
|
|
provide a box for you to do that. :)
|
|
TML Vince I forget the command though, look in your imagewriter manual to
|
|
find it.
|
|
Doctor Why Oh, that didn't occur to me. I'll give that a try also.
|
|
A2GS Man, these guys think of everything :)
|
|
Doctor Why hehe
|
|
TML Vince Great! well folks, its about time for me to cut out! It's been a
|
|
real pleasure to talk to you
|
|
TML Vince tonight!
|
|
Doctor Why Thanks for the help Vince.
|
|
|
|
|
|
<log file resumed after a brief laps>
|
|
|
|
Question on doing floating point arithmatic for 3-D animation routines, and
|
|
a discussion on doing decimal arithmatic in assembly language:
|
|
|
|
AFA Gary J There's the Perspective View 3-D program in the library that my
|
|
AFA Gary J friend wrote. You could take a look at that and see if it would
|
|
AFA Gary J do what you want, or maybe take a look at some of the code. I'm
|
|
AFA Gary J not sure exactly where in the program you would have to look for
|
|
the calc routines..
|
|
A2GS I've been working on some of my own routines, and have
|
|
completed the
|
|
AFA Gary J ..It has been a while since I've used the program,
|
|
AFA Gary J and it is modulized. I'm not sure which is which.
|
|
A2GS Mult. routine...but it's buggy...still trying to work out all the
|
|
kinks.
|
|
A2GS Well I'll download it...can't really hurt...but I don't think
|
|
it'll help too
|
|
AFL Dyfet Again, most of that can be done much faster with table lookup
|
|
routines...
|
|
A2GS much. If you could GARY, please ask your friend what he
|
|
used....probably
|
|
A2GS the same routines used by Applesoft.
|
|
AFA Gary J Ok.. I'll ask him.
|
|
AFL Dyfet Especially since the resolution of the screen is typically much
|
|
lower than the
|
|
AFL Dyfet resolution of full FP math routines...
|
|
A2GS Yes Dyfet, you have to use a lookup table for the cos/sin values
|
|
but you still
|
|
A2GS need FP routines when dealing with the cos/sin values.
|
|
A2GS in calculating the x,y,z results.
|
|
AFL Dyfet You can treat them as fractional integers, and then do simple
|
|
integer multiply
|
|
AFL Dyfet and devides to apply them :)
|
|
A2GS Have to keep track of where decimal point is located....can't do
|
|
that in hex
|
|
A2GS form.
|
|
AFA Gary J Pixel locations are integer values.
|
|
AFL Dyfet You don't need to...You multiply values by cos/sin values in the
|
|
range 0-ffff
|
|
AFL Dyfet and throw away the low product, giving you the actual rounded
|
|
displacement.
|
|
A2GS multiply them by what?
|
|
AFL Dyfet Say you have $80 (128) as your value, and the cos is .45 (or
|
|
approximately
|
|
AFL Dyfet $6800), just multiply the $6800 fraction of $10000 by the $80, and
|
|
the high
|
|
AFL Dyfet part of your result will be about $35xxxx, or the scaled value.
|
|
AFL Dyfet Just drip the xxxx and you are done :)
|
|
AFA Gary J you can drop the xxxx too :)
|
|
AFL Dyfet (drop=drip :)
|
|
A2GS how do you get cos .45=$6800?
|
|
AFL Dyfet I guestimated...but take $10000 (655536) * .45 and you will find
|
|
the value to
|
|
AFL Dyfet actually use :)
|
|
A2GS 65536
|
|
AFL Dyfet I added an extra 5 :)
|
|
AFL Dyfet Oops :)
|
|
AFA Gary J Yes, you can drip the 5. :)
|
|
AFA Gary J :)
|
|
A2GS yes, but I need the COS of .45 not just .45!
|
|
AFL Dyfet Thanks a lot, Gary :)
|
|
AFA Gary J <sorry> :)
|
|
A2GS :)
|
|
A2GS which BTW is .9999
|
|
AFL Dyfet What you want, really, is the scaled 1 to -1 value of the cos/sin
|
|
of any angle,
|
|
AFL Dyfet and then to form that as a table :)
|
|
A2GS right
|
|
A2GS no problem doing that
|
|
A2GS But...
|
|
AFL Dyfet The .45 might be cos of 70 deg. for example :), and then you
|
|
multiply the
|
|
A2GS Once you've created the table of .xxxx decimal cos/sin
|
|
results....
|
|
AFL Dyfet appropriate axes by the scaled value :)
|
|
A2GS how do you multiply that by an integer value and then get rid of
|
|
the
|
|
A2GS insignificant value to the right of the decimal point which would
|
|
normally
|
|
A2GS be produced in base 10 math....you don't get simple # like that in
|
|
hex.
|
|
AFL Dyfet Don't think in terms of base 10 decimal arithmatic...think in
|
|
terms of base 2,
|
|
AFL Dyfet scale your table as base 2 fractions of $10000, and when you
|
|
multiply by the
|
|
A2GS Easier said then done :)
|
|
AFL Dyfet fraction, your high word (yyyyxxxxx) product (the yyyy part) would
|
|
be the
|
|
AFL Dyfet integer result of zzzz * cos[n]
|
|
AFL Dyfet If you have a line of 10 pixels long rotated by 30 degrees, the x
|
|
and y axes
|
|
A2GS But no matter how you look at it, you will come out with some
|
|
insignificant
|
|
AFL Dyfet for one of the end points simply becomes len * cos[10] for x and
|
|
len * sin[10]
|
|
AFL Dyfet for y.
|
|
A2GS hex # and the object is to try and figure the significant value
|
|
(integer) from
|
|
A2GS the insignificant (fraction leftover).
|
|
AFL Dyfet The significent portion is always the leftmost word if your table
|
|
is scaled in
|
|
A2GS while it's in it's hex form.
|
|
AFL Dyfet $1000 as 1 and $0000 as 0.
|
|
Guide NR is this still open questions?
|
|
A2GS so what does decimal 215 become
|
|
AFA Gary J We're talking about decimal arithmatic in hex, Neil.
|
|
A2GS Dyfet?
|
|
AFL Dyfet 215 is still $d3. That is then multiplied by the fraction, say
|
|
.50, which woul
|
|
A2GS $D3 what....$D300 or $00D3.
|
|
AFL Dyfet d be $8000 ($10000 * .50 is $8000), yielding an integer product of
|
|
$670000, and
|
|
Guide NR bye all
|
|
AFL Dyfet the $67 would be the part you want, dropping the lower 16 bits.
|
|
AFL Dyfet I need a hex calculator for this, to make sure my numbers are
|
|
right :), but
|
|
AFL Dyfet the principle is correct.
|
|
A2GS let's take a real example to test your theory. :)
|
|
A2GS me too.
|
|
A2GS hold on.
|
|
A2GS o.k.
|
|
A2GS say you have...
|
|
A2GS sin 5.683 * 42
|
|
A2GS put it in an easier form....btw sin 5.683=.0990
|
|
AFL Dyfet Okay, first you need a look up table element equal to $10000 *
|
|
.0990 :)
|
|
AFL Dyfet Let's call it .1 for simplicity, or 6553, rounding down.
|
|
AFL Dyfet Anyone know what 6553 in hex is???
|
|
A2GS in dec. = 6488.064, for practical reasons let's say 6488
|
|
AFA Gary J $1999
|
|
A2GS thanx
|
|
AFA Gary J 6553 = $1999
|
|
AFL Dyfet Okay, but Gary, was that $1999 for 6553 or 6488? :)
|
|
A2GS is that 6553 or 6488
|
|
A2GS :)
|
|
A2GS o.k.
|
|
A2GS we'll use 6553
|
|
A2GS 6553 * 42
|
|
AFL Dyfet Ah, okay...42 in hex is $2A...
|
|
AFA Gary J 6553 = $1999, 6488 = $1930
|
|
AFA Gary J (There's not enough light in here to power my solar calculator...
|
|
I have to
|
|
AFL Dyfet Theory: $2A * 6553 = 42 *.0990 * 65536 :)
|
|
AFA Gary J keep walking away from the computer to get the answers :)
|
|
A2GS right...go on
|
|
A2GS :)
|
|
AFL Dyfet Drop the 65536 by shifting left (as it's $1000), and the results
|
|
should be
|
|
AFL Dyfet the same (minus rounding error :)
|
|
AFL Dyfet What is 42 * 6553? Anyone with a calc.?
|
|
A2GS 275226
|
|
AFL Dyfet (or 42 * 6488, since we're now in decimal land)
|
|
A2GS dec.
|
|
AFL Dyfet Okay, and what is 275226 in hex?
|
|
A2GS 272496
|
|
A2GS in dec.
|
|
AFL Dyfet Or 272496 in hex :)
|
|
A2GS for 42 * 6488
|
|
A2GS lol
|
|
AFA Gary J $42870
|
|
A2GS Gary?
|
|
A2GS thanx
|
|
AFA Gary J 272496 = $42870
|
|
AFL Dyfet Okay, result $4, or 4!
|
|
AFA Gary J (getting out flashlight to power calculator :)
|
|
AFL Dyfet (dropping the $2870)
|
|
AFL Dyfet 42 *.0990 certainly is near 4 :)
|
|
A2GS what?????
|
|
A2GS oh.
|
|
AFL Dyfet The $2870 becomes the fractional part below $10000 :)
|
|
A2GS right!!!!
|
|
AFL Dyfet You could keep it around for further calculations and future
|
|
accuracy, and you
|
|
AFL Dyfet would then have fixed point fractional numbers, which are faster,
|
|
by the way,
|
|
A2GS Now things are clearing up.....I see the Light.....(if only Gary's
|
|
calculator
|
|
AFL Dyfet than using full floating point math :)
|
|
A2GS did :)
|
|
AFL Dyfet So the full result is $4 and $2870/$10000's :)
|
|
AFA Gary J This calculator is a real power hog. :)
|
|
A2GS Yeah...but how do you know how much of the result to drop off (in
|
|
our case the
|
|
AFL Dyfet If all your fractions are expressed as parts of $10000 then you
|
|
always drop off
|
|
A2GS $2780) from the way it seems to me you always drop off the lower
|
|
word....
|
|
A2GS right?
|
|
AFL Dyfet the last two bytes for the integer :)
|
|
AFL Dyfet And, for plotting, it's the integer xy position your interested in
|
|
:)
|
|
A2GS right
|
|
A2GS so briefly let's go through the steps...
|
|
A2GS Put sin # into .dec form and multiply by $10000
|
|
A2GS or cos #
|
|
A2GS drop the point BTW
|
|
AFL Dyfet Yes, or round it :)
|
|
A2GS Then multiply the integer which you already have (the x, y, or z,
|
|
value)
|
|
A2GS which should be in word form (easier for word * word = 32 bit
|
|
result routine)
|
|
AFL Dyfet Good so far! :)
|
|
A2GS then drop the relutant xxxx word in the result (result =
|
|
yyyyxxxx)
|
|
A2GS relutent=resultant
|
|
AFL Dyfet Or keep the xxxx as your fractional portion, since you could
|
|
always add it to
|
|
A2GS and you've got you integer (x,y, or z point)
|
|
AFL Dyfet another fractional number in the form yyyyxxxxx if you need to
|
|
:)
|
|
A2GS (probably won't)
|
|
AFL Dyfet But the yyyy part is the integer you are looking for :)
|
|
A2GS and that's it!
|
|
A2GS Thanx....
|
|
AFL Dyfet Yes, that is it...and it can be table driven, and use a simple
|
|
word * word
|
|
AFA Gary J easy as pi
|
|
AFL Dyfet multiply :)
|
|
A2GS makes life a lot easier!!!
|
|
A2GS Didn't think of this way...thoought about a million other ways of
|
|
converting
|
|
A2GS and reconverting from and too integer and hex form but always came
|
|
up with
|
|
A2GS something interfering in the simplicity of it.
|
|
AFL Dyfet Well, the rest should be easy :)
|
|
A2GS You make a great teacher!!!! Dyfet....BTW Thanx for the Hex help
|
|
GARY!
|
|
A2GS Dyfet have you considered working at NYU they could use a couple
|
|
of decent
|
|
A2GS professors!
|
|
A2GS :)
|
|
AFL Dyfet *blush*...Actually, I have never considered teaching before :)
|
|
AFA Gary J (Now the batteries are running down on my flashlight! What are
|
|
solar
|
|
AFA Gary J calculators good for, anyway! :)
|
|
A2GS Well you just ended my Month long search...kept getting wierd
|
|
results when
|
|
AFA Gary J I agree. I found your explanation to be very clear and
|
|
understandable, Dave :)
|
|
A2GS converting to hex...should have thought of multiplying by
|
|
65536!!!!!
|
|
A2GS Now things are clear as a bell....what I was doing wrong all this
|
|
time!
|
|
AFL Dyfet Once you understand how to look at numbers, the rest is easy :)
|
|
A2GS Yeah.....you better believe it
|
|
AFL Dyfet It's just that you have to stop thinking of base 10 and start
|
|
thinking about
|
|
AFL Dyfet what fractions are really about :)
|
|
A2GS somebody showed me a FAST way to always calculate an address on
|
|
the screen
|
|
A2GS if given the x,y coordinates.
|
|
AFA Gary J On the screen? A graphics screen memory address?
|
|
A2GS Have to admit....Never would have thought of it!
|
|
A2GS Yup!!!
|
|
AFL Dyfet There are a number of cute ways to do that trick (finding a line
|
|
address on the
|
|
AFA Gary J You can use lookup tables for that, too, which are the fastest
|
|
way.
|
|
AFL Dyfet hires screen :)
|
|
A2GS On the Super-Hires acreen.
|
|
Pamme M Rehi!
|
|
AFL Dyfet You only need a lookup for the 24 base screen lines, as it's a mod
|
|
24, with the
|
|
AFA Gary J Rehi, Pamme!
|
|
A2GS Too difficult........the table would have to be pretty big.
|
|
AFL Dyfet remainder an offset :)
|
|
A2GS I see....But I was shown a simpler/ still very fast way.
|
|
A2GS thought about lookup tables....like to avoid them if not
|
|
needed....prefer
|
|
A2GS general algorithms :)
|
|
AFA Gary J Depends if you want a faster program, or more memory :)
|
|
AFL Dyfet Okay...that would just be my way of doing it :)...everyone has
|
|
their own
|
|
AFL Dyfet preferences :)
|
|
A2GS True
|
|
A2GS The way I was shown....
|
|
AFL Dyfet I do think the best way is the LARGE table (all 192 base line
|
|
addresses), for
|
|
AFL Dyfet the fastest speed possible :)
|
|
AFA Gary J Yup. I've seen it used, too.
|
|
A2GS WhoW!!! I'm talking about the Super Hires screen!!!
|
|
AFL Dyfet Ohhh...the Super Res screen could also benifit from a 200 line
|
|
address table
|
|
AFA Gary J Super hi-res is linear, so it's not quite so much of a problem as
|
|
the other
|
|
AFA Gary J screens.
|
|
AFL Dyfet map, as the code is simpler and faster to use :)
|
|
A2GS true...but there's a more GRACEFUL way (trickier :)
|
|
AFA Gary J which is.... ?
|
|
A2GS Take the Y-value (line #) Do 5 ASL' to it...then add the X coord
|
|
and do 2 more
|
|
A2GS ASL' and you have the exact byte/pixels address.
|
|
AFL Dyfet Hmm...that sounds kinda neat :)...I will have to think about that
|
|
:)
|
|
A2GS Simple/Obvious/Tricky and still does the job quick!
|
|
A2GS Figures out the Y value and multiplies it by 160 (bytes per scan
|
|
line)
|
|
A2GS with all the ASL's....believe me it works....I wrote a line
|
|
drawing
|
|
AFL Dyfet Yes, that is cute and clever :)
|
|
AFA Gary J Yes.
|
|
A2GS algorithm using it and it beat's the pants off of any other line
|
|
drawing
|
|
A2GS routine I've seen to date on the GS!!
|
|
A2GS Got to go soon....listen in on the SF quake....work on 3-d
|
|
routines :)
|