[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

252.0. "Complied language speed" by WORDS2::BURTON () Mon Jan 12 1987 15:22

         
         
         I'm thinking about buying an Amiga and I have a question. I
         would like to write some video games with reasonably quick
         animation ( that's why the Amiga).  Can I write them in a
         higher level language or do I have to stay in assembly
         language?  That is, are the compiled languages, such as C,
         Forth, ect., fast enough on the Amiga (they sure weren't
         on the Atari 800)?
         
         Also, there are some books put out by Addison Welsely (sp?) on
         graphics and the hardware.  I don't recall the names right now
         but the were reviewed in the January issue of Amiga World.
         Does anyone know where I can get them? 
         
         
         
         	Thanks,
         	Chris
                          
         P.S I know asking for the location of those book with out the
         title is a bit of a waste, but I'll look them up and add them
         as a reply.  I wanted to get this note in.
         
          
    
T.RTitleUserPersonal
Name
DateLines
252.1I like C for AnimationHOW::WISNERPaul WisnerMon Jan 12 1987 20:5931
    It seems to me that C should be plenty fast for animation, since
    most of the graphics operations on the Amiga are done by built-in
    routines (such as moving images, creating filled or pattern filled
    polygons... it's all done for you!).  A graphics intensive program
    would therefore spend most of it's time executing the built in routines
    (or waiting for the graphics coprocessors to catch up!).
      The Amiga has a tremendous amount of support for graphics, and it's
    all accessable from C.  Many of the graphics operations are done by the
    Blitter and the Copper, allowing.the 68000 to run at full speed.
    Really, all the program has to do is provide the logic.  You have to
    create alot of data-structures to hand to the Intuition routines,  this
    is easy to do in C.
    
    	A problem with C is that, while the programs can be quite fast,
    they tend to be considerably larger than an assembly program would
    be.  I'm not yet brave enough to attempt any major program in assembly,
    I'd probably get (additional) brain damage.  
    
    	I'm writting a video game in C and I'd like to hear from anyone
    who dissagrees with me.  I use Animator or Basic to create an
    prototype of the display, and see how I like it.
    
    	And of course... you can always write the speed critical parts
    of your program in assembly and link them together.  I have doubts
    about how much that would actually help.

    	Does anyone know what some of the commercial video games were
    written in?
    
    			
    
252.2...CHEF::ACCIARDIMon Jan 12 1987 22:364
    I have read that Leader Board was written in C for the Amiga, but
    Assembly for the ST, but the Amiga version actually paints the screen
    faster, thanks to the blitter.  I believe Flight Simulator is written
    in Assembly for Mac, St, and Amiga.
252.3The Book NamesWORDS2::BURTONWed Jan 14 1987 10:5914
         
         The books I'm looking for are published by Addison Wesley.
         They are from the Amiga Technical Reference Set.  One is the
         Hardware Reference Manual and the other is Rom Kernel
         Reference Manual.  Does anyone know where I can find either of
         them?
         
         
         	Thanks,
         	Chris
          
         
    
252.4try Walden BooksKIRK::LONGWed Jan 14 1987 11:203
	I got my set of manuals from a Walden book store in the Leominster
	mall. They are in most standard book stores with a well stocked
	computer reference section.
252.5Open BookNSSG::SULLIVANSteven E. SullivanWed Jan 14 1987 12:185
Check out the Open Book in Westboro shopping center on Rt9 in
(surprise) Westboro.

	Thanks,
		-SES
252.6AMIGA Reference ManualsPUERTO::ALVAREZMiguel,from sunny Puerto RicoThu Jan 15 1987 17:051
Just this morning I saw them in the Memory Location, Rt. 16 in Wellesley
252.7BAGELS::BRANNONDave BrannonThu Jan 15 1987 20:245
    i saw them last night at the Wiz in Westboro (next to the Open Book)
    They had all 4 books (Kernel, Exec, Hardware, Intuition) and also
    the AmigaDOS book.
    
    -dave
252.8Thanks for the books. Now for the Speed...WORDS2::BURTONFri Jan 16 1987 11:0314
    
    
    Thanks for all the locations to get the books.  Now does anyone
    have any info on language speeds?  I hear Forth is very fast.  The
    problem is that I don't want to write in a language that in the
    end might turn out to be too slow.  On the other hand, assembly
    language is a bit of a pain to write in.  
    
    So I'm still looking for opinions.
    
    
    		Thanks again,
    		Chris
    
252.9Here's my vote...BIZET::TENNYDave TennyFri Jan 16 1987 13:0115
My opinion:

As a seasoned C programmer, I've seen good results on many machines
coded nearly entirely in C.  Certainly your coding conventions count,
but in my view, you should be able to receive respectable performance
in C.  Critical code can be done in assembler. (special linkages, etc.)

Certainly this doesn't compare to an entirely ASM module, but do you want
your product this year, or next?

Use C.  My current preference is MANX, I have both Manx and Lattice.
I have not tried the most recent versions of either however.

	Dave Tenny
252.10One more ideaELWOOD::PETERSFri Jan 16 1987 13:3411
    
    I suggest C or Modula II. I have written code in both and both are
    fast. There are many PD programs that do animation. I suggest you
    run some of them and see for your self if their fast enough.
    	I have also written programs in C then use OMD. OMD will
    dis-assemble the code and put the C code in as comments. Then you
    can go in and hand optimize ( or re-write ) sections, assemble,
    link and go.
    
    		Steve Peters
    
252.11Facts - statistics and other liesCSSE::WARDFri Jan 16 1987 14:1278
Newsgroups: comp.sys.amiga
Path: decwrl!decvax!ittatc!dcdwest!sdcsvax!nosc!marlin!aburto
Subject: Re: New Savage Benchmark Results
Posted: 17 Dec 86 16:18:45 GMT
Organization: Naval Ocean Systems Center, San Diego
Posted: Wed Dec 17 11:18:45 1986
 
***************************************************************
*                     Savage Benchmark Results                *
*                           16 DEC 1986                       *
* Al Aburto/Lew Wolfgang/Larry Phillips/John Gilmore/Ali Ozer *
* Glenn Miller/Mike Howard/And Others........................ *
***************************************************************
123456789012345678901234567890123456789012345678901234567890123456789012345
System         CPU / FPP    CLOCK        LANGUAGE          TIME     ERROR 
		   	    (MHz)                           (Sec)  Abs(a-2500)
Turbo-Amiga  (68020/68881)  14.32   Absoft F77 V2.2B         0.39   2.7 E-12
Sun-3/160    (68020/68881)  16.67   Sun 3.0 F77              0.4    2.0 E-12
Turbo-Amiga  (68020/68881)  14.32   Lattice C/68881 Assem    0.46   9.2 E-13
HP 9000/320  (68020/68881)          Fortran 77               0.7    3.2 E-09
HP 9000/320  (68020/68881)          Pascal                   0.7    2.8 E-07
Amiga        (68020/68881)   7.16   Absoft F77 V2.2B         0.78   2.0 E-12
VAX-8600                            Fortran 77               0.9    1.8 E-08
Amiga        (68020/68881)   7.16   Lattice C/68881 Assem    0.92   5.9 E-12
HP 9000/320  (68020/68881)          C                        1.0    2.5 E-08
DEC 2060                                                     1.6    2.0 E-12
VAX-11/750                          Fortran 77               1.9    6.6 E-10
Masscomp     (68010/  FPP)                                   2.1    3.2 E-07
VAX-11/780                          UNIX 4.3BSD F77-O        2.7    1.8 E-12
Turbo-Amiga  (68020/68881)  14.32   MetaComCo ABasiC V1.0    3.2    2.3 E+01
DMS          ( 8086/ 8087)          Turbo Pascal             3.8    1.1 E-09
Zenith Z-248 (80286/80287)   8.00   MS Fortran77 V3.20       4.5    1.2 E-09
IBM PC-AT    (80286/80287)   6.00   ProFor F77               4.9    8.7 E-11
IBM PC-AT    (80286/80287)   6.00   MS Fortran77             7.2    1.2 E-09
IBM PC-AT    (80286/80287)   6.00   Turbo Pascal             7.4    1.2 E-09
IBM PC       ( 8088/ 8087)   4.77   Microsoft C              8.0    1.2 E-09
Amiga        (68020/68881)   7.16   Metacomco ABasiC V1.0    8.6    2.3 E+01
Turbo-Amiga  (68020/-----)  14.32   Metacomco ABasiC V1.0   13.3    2.7 E+02
Turbo-Amiga  (68020/-----)  14.32   ABasiC V1.0(Cache Off)  14.7    2.7 E+02
Sun-3/160    (68020/-----)  16.67   Sun 3.0 F77             21.5    3.1 E-07
Turbo-Amiga  (68020/-----)  14.32   Absoft F77 V2.2B        21.9    1.8 E-07
Amiga        (68020/-----)   7.16   Metacomco ABasiC V1.0   37.0    2.7 E+02
Amiga        (68000/-----)   7.16   Metacomco ABasiC V1.0   39.7    2.7 E+02
Amiga        (68020/-----)   7.16   ABasiC V1.0(Cache Off)  42.2    2.7 E+02
HP 9826      (68000/-----)   8.00   HP Basic V2.0           44.5    3.2 E-07
Turbo-Amiga  (68020/-----)  14.32   Lattice C V3.03         55.4    3.2 E-07
IBM PC-XT    ( 8088/ 8087)   4.77   Gauss                   58.0    1.2 E-09
Amiga        (68020/-----)   7.16   Absoft F77 V2.2B        59.7    1.8 E-07
HP Integral  (68000/-----)          Basic Interpreter       60.9    3.2 E-07
HP Integral  (68000/-----)          C                       63.0    3.2 E-07
Amiga        (68000/-----)   7.16   True Basic (Compiler)   65.2    3.0 E-03
Amiga        (68020/-----)   7.16   MS AmigaBASIC V1.0      67.0    3.2 E-07
Amiga        (68000/-----)   7.16   MS AmigaBASIC V1.0      73.0    3.2 E-07
Amiga        (68000/-----)   7.16   Absoft F77 V2.2B        77.2    1.8 E-07
HP Integral  (68000/-----)          Absoft F77             100.0    1.8 E-07
Amiga        (68020/-----)   7.16   Lattice C V3.03        139.0    3.2 E-07
Macintosh    (68000/-----)   7.83   MAC C                  221.0    (?)
Amiga        (68000/-----)   7.16   Lattice C V3.03        234.0    3.2 E-07
Macintosh    (68000/-----)   7.83   DeSmet C               244.0    (?)
Commodore 128( 8502/-----)   2.00   Basic Interpreter      256.0    9.0 E-04
Macintosh    (68000/-----)   7.83   Manx Aztec C           353.0    (?)
IBM PC-XT    ( 8088/-----)   4.77   BASICA                 895.0    3.0 E-08
Tandy PC-5                          Basic Interpreter      961.0    2.7 E-03
****************************************************************************
Notes:
	(1) The Savage Benchmark, by Bill Savage, first appeared in Dr. Dobb's
	    Journal, Sept 1983, page 120.
        (2) The Macintosh results are from Byte, The Small Systems Journal,
	    Aug 1986, page 254.  There appears to be a 'typo' in the
	    published accuracy results.  Exact result should be 2500.0  .
        (3) The Savage Benchmark requires use of IEEE double precision
	    to obtain a reasonably small error. The error is unacceptably 
	    large for IEEE single precision.  All the above results were
	    obtained with double precision except for the MetaComCo ABasiC
	    where double precision variables were used but the math functions
	    were calculated only to single precision.  As can be seen ABasiC
	    is fast but the error is too large for a meaningful result.
252.12strange resultsSAUTER::SAUTERJohn SauterFri Jan 16 1987 15:564
    It seems strange that the 8600 and the 750 give different
    errors.  I wonder if they used G_floating on one and D_floating
    on the other.
        John Sauter
252.13NINJA::HEFFELBored on BoardWed Jan 21 1987 00:028
    Just another vote for Modula-2.  I have been enjoying learning both
    it, and the Amiga environment.  
    
    As I recall, Marble Madness is written largely in C.  I'm sure that
    we'd be amazed at how many games have been written in a "high-level"
    language.  Maybe we should request that Amazing Computing do a study.
    
    Gary