home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / useful / reviews / software / programmer / macro68 < prev    next >
Text File  |  1993-04-23  |  11KB  |  272 lines

  1. Path: menudo.uh.edu!usenet
  2. From: 22dussia@cs.wmich.edu (Dimitri Tom Dussias)
  3. Newsgroups: comp.sys.amiga.reviews
  4. Subject: REVIEW: Macro68 assembler (and brief assembler comparison)
  5. Followup-To: comp.sys.amiga.programmer
  6. Date: 23 Apr 1993 19:53:43 GMT
  7. Organization: The Amiga Online Review Column - ed. Daniel Barrett
  8. Lines: 256
  9. Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
  10. Distribution: world
  11. Message-ID: <1r9hg7$qdg@menudo.uh.edu>
  12. Reply-To: 22dussia@cs.wmich.edu (Dimitri Tom Dussias)
  13. NNTP-Posting-Host: karazm.math.uh.edu
  14. Keywords: assembler, programming, 68000 family, commercial
  15.  
  16.  
  17. PRODUCT NAME
  18.  
  19.     Macro68 version 3.165
  20.  
  21.  
  22. BRIEF DESCRIPTION
  23.  
  24.     Macro68, the best 680x0 assembler on the Amiga!
  25.  
  26.  
  27. AUTHOR/COMPANY INFORMATION
  28.  
  29.     Name:        Digisoft
  30.     Address:    12 Dinmore Street
  31.             Moorooka. 4105
  32.             Brisbane, Queensland
  33.             Australia
  34.  
  35.     Distributed in the USA by:
  36.  
  37.     Name:        The Puzzle Factory
  38.     Address:    PO Box 986
  39.             Veneta, OR  97487
  40.             
  41.     Telephone:    (800) 828-9952
  42.  
  43.  
  44. LIST PRICE
  45.  
  46.     $150.00 (US retail).  I paid about ~$135 for my copy, including
  47. shipping and COD charges.
  48.  
  49.  
  50. SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
  51.  
  52.     HARDWARE
  53.  
  54.         None.  
  55.  
  56.         I would recommend at least 1 MB RAM -- the more the better!
  57.         I would also recommend a hard drive, but it's not necessary.
  58.  
  59.     SOFTWARE
  60.  
  61.         None.
  62.         Works with  2.04 & 3.0 versions of the OS.
  63.         (Also 1.2 & 1.3, but who still has these? :') )
  64.  
  65.  
  66. COPY PROTECTION
  67.  
  68.     None.
  69.  
  70.  
  71. MACHINE USED FOR TESTING
  72.  
  73.     Macro68 has been tested on:
  74.  
  75.     A1000 : 512K Chip RAM, 2MB fast RAM, Kickstart 1.3.
  76.     A1200 : 2MB Chip RAM, Kickstart 3.0.
  77.     A2000 : 1MB Chip RAM, 6MB Fast RAM + a 68040, Kickstart 2.04 
  78.  
  79.  
  80. REVIEW
  81.  
  82.     (This is my first review, so go easy on me:  I am a CS major, NOT an
  83. English major!)
  84.  
  85.     Macro68 has to be the BEST assembler on the Amiga yet available!
  86. This is one great assembler; offering EXCELLENT flexibility and control, it
  87. also is THE fastest assembler I have seen.  Macro68 has a fantastic ability
  88. to configure to whatever you want it to do.  You can change most anything in
  89. Macro68:  from the opcodes, to the way Macro68 reports errors!  It also
  90. supports an external command interpreter (like ARexx).
  91.  
  92.  
  93.     Let's compare a few assemblers out there, starting with the PD
  94. assemblers like A68K and the rest.  These are OK if you are on a tight
  95. budget (can you say free?), or you just want to try some stuff out in
  96. assembly.  But in reality, no one would ever use any of these to write
  97. commercial-grade code.  You can take a look at them, and play with them, but
  98. not much else.  
  99.  
  100.     Now, SEKA:  basically, if you got this, then get rid of it!  Why?  It
  101. really is an old product.  While it has some useful stuff in it like
  102. reading/writing disk sectors directly (i.e., load Bootblock), has a
  103. disassembler in it, and lets you modify memory directly, it also does not
  104. support any of the '020 or above opcodes, and it has some major bugs!!  This
  105. product has NO support available, since no one is doing updates!  (No one
  106. worth mentioning that is.)  Oh, it also uses non-standard opcodes, like
  107. blk.l instead of the correct dcb.l.
  108.  
  109.     Next on the list is ArgASM.  Since this product is not supported
  110. anymore (or so I am told), don't bother with this either.  It also has some
  111. major bugs in it and is basically SEKA with a face lift.
  112.  
  113.     Next, we take a look at CAPE V2.5.  This was actually a pretty good
  114. assembler, but with a crummy editor built in.  They also included a
  115. standalone version without the editor.  This product is not being produced
  116. anymore, but I hear it still is being sold by INOVAtronics.  This also does
  117. not support any 68020/30/40/MMU opcodes. This assembler shows its age:  it's
  118. slow, and since the author has moved on to ADAPT, you should also move on....
  119.  
  120.     Next is ADAPT (HX68).  This is the update to CAPE, and it comes with
  121. no built-in editor.  It is a standalone program, has ARexx support, and
  122. supports 68020 opcodes (maybe 030 & 040, but I only played with it a day or
  123. so).  It does not support the new syntax that Motorola has defined.  This is
  124. better than all the above, but still can't compare to Macro68!
  125.  
  126.     Next we take a look at assemblers supplied with SAS/C and Aztec C.
  127. Basically, they come free with the C compiler, and are not really that fast,
  128. and neither support the new syntax that Motorola has defined.  You can use
  129. these; however, I found that they are more trouble too use, so why go
  130. through the pain, unless of course you only write small programs in
  131. assembly!  
  132.  
  133.     Finally, there's Devpac.  This is a very nice assembler:  it's fast,
  134. has some good support, and the newest version also supports 68020 and
  135. opcodes!  It does not support the new syntax as defined by Motorola though!
  136. Devpac has a nice editor built in, and allows you to control optimization
  137. levels and other miscellaneous stuff via a control panel.  It also has a
  138. debugger which is fairly useful.  No real problems with Devpac, but it does
  139. not offer the level of customizing that Macro68 does.  This assembler would
  140. be my choice if Macro68 wasn't produced. 
  141.  
  142.     That is a quick look at what the competition offers, and none of them
  143. can match what Macro68 has to offer.  Macro68 even includes a utility to
  144. convert all your old source code to the new syntax defined by Motorola!
  145. In case you're wondering what the heck this new syntax is, its basically
  146. a better way to code.  I think a small example is in order.
  147.  
  148.     Take this small code stub:
  149.  
  150.         Old syntax            New syntax
  151.         ----------            ----------
  152.       move.l Gbase,a6             move.l (Gbase),a6
  153.       lea    data(pc),a4             lea (data,pc),a4
  154.       jsr    _LVOWait(a6)             jsr (_LVOWait,a6)
  155.       move.w d1,20(a0)             move.w d1,(20,a0)
  156.  
  157.     While I won't go into what those instructions do, they do make it
  158. more clear what's happening!  Motorola did a nice job on this!  Now, back to
  159. Macro68.  It's ultra configurable:  the ONLY assembler I have used that
  160. allows you to create your own opcodes!  For example, some assemblers use the
  161. opcode "blk.l" instead of the "dcb.l" instruction.  If by chance you run into
  162. source code that has this, you can instruct Macro68 that when ever it sees
  163. "blk", to compile it as if it were "dcb"!  You can even introduce new
  164. opcodes in case, say, the '060 comes out with new instructions and you would
  165. like to write '060 specific code.  Just edit your custom file, insert the new
  166. opcodes and how they should be translated, and voila!  You have a 68060
  167. compiler!
  168.  
  169.     You can basically edit all the ASCII output that Macro68 produces
  170. and change the way it reports errors (or whatever) too you.  So, instead of
  171. say "ERROR on line 322, invalid opcode," you want it to say "{turn on some
  172. Blue text with a white background} ERROR! {change colors} invalid opcode on
  173. line 322!"  Or whatever... you can change lots of things, including adding
  174. more information like what pass the compiler is on, the filename of the
  175. source that contained the error (for compiling multiple source files), etc.
  176. You can basically tell it what YOU want to see!  You can change anything to
  177. fit your needs.  
  178.  
  179.     Perhaps the best reason to get Macro68 is the speed.  Today, I
  180. compiled my 1485 lines of code in under 1 second!  (On my A2000 + 68040.)
  181. This assembler really is a speed demon!  And that code contained lots of
  182. "defines" from C= include files.  
  183.  
  184.     I really don't know what more to say.  I truly believe that this IS
  185. the BEST assembler ever produced.  Nice job Digisoft!  Oh, I forgot to
  186. mention that Macro68 also supports the 68881/68882 floating point units and
  187. the 688851 MMU.  It also has support for the Amiga Copper, but I can't
  188. recommend you use this since this only works with the older Kickstart:  the
  189. copper list has changed format in Kickstart 3.0!!!  But it does work for
  190. 1.2/1.3/2.04 versions of the OS, and nicely at that!
  191.  
  192.  
  193. DOCUMENTATION
  194.  
  195.     The manual that comes with Macro68 is about 127 pages long and tells
  196. you all the important information you need to get started.  This manual does
  197. NOT try to teach you assembly; so if you're a beginner, buy a good book.
  198. Since I come from a technical background, I found the manual easy to
  199. understand.  It is better written than (say) the SUN SPARC manuals, but not
  200. as nice as the SAS/C manuals. It also does a good job at explaining how to
  201. configure files to suit your needs.