home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 13 / MA_Cover_13.bin / source / c / ahisrc / readme < prev    next >
Encoding:
Text File  |  1999-10-12  |  5.1 KB  |  157 lines

  1.  
  2. The second beta release of AHI/PPC
  3. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  4. ...or what will eventually be known as AHI version 5 (not to be confused
  5. with that I hoped to be version 5 before -- that will be another release)
  6. is here.
  7.  
  8. This version supports WarpUp!  But more work needs to be done, because this
  9. version is a full 35% slower when run under WarpUp than PowerUp.  Don't
  10. expect speed!  Just tell me that it works.  A bug in WarpUp was recently
  11. discovered (yesterday, actually), which prevents AHI from using proper
  12. cache handling.  A later beta of AHI will either add a work-around fix or
  13. require a later WarpUp version.
  14.  
  15. I also fixed a couple of bugs in the ppc mixing routines.  Then I found
  16. some more, that I didn't fix.  Especially the anti-click code seem to have
  17. problems, so don't turn it on unless you have to!  And even if you have to,
  18. please, do listen carefully to the result before pressing your CDs!  If you
  19. find any predictable and repeatable problems, do let me know!
  20.  
  21. The lock-up problem with AmigaAMP has not been found yet.  Unfortunately,
  22. it happened with WarpUp as well, which kind of blew my theory about it
  23. being a PowerUp bug.  It now looks like it's a problem with either my or
  24. Thomas code.  Probably mine.
  25.  
  26. So, what else is new?  I played Quake Arena for the first time a couple of
  27. weeks ago.  It sucked.  Whatever happened to all great games that was fun
  28. to play, like Gianna Sisters, Rally Speedway and Commando?
  29.  
  30.  
  31. Things still to do before the full release
  32. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  33.  · Write the hifi mixing routines for the m68k.
  34.  · Write assembler echo and master volume (m68k and ppc).
  35.  · Write echo in non-hifi modes.
  36.  · Add non-mixing modes for so-called "serious" music software and fast
  37.    streaming.
  38.  · Finish the packaging.  This includes installer script, updated
  39.    documentation, proper source archive that includes the drivers and a
  40.    prober developer archive with header files et cetera.
  41.  · I need to update the BGUI and ClassAct preferences programs to support
  42.    the global anti-click settings.  Or even better, ditch them all for a OS
  43.    3.5 version.  We'll see.
  44.  · Fix all the bugs you find.
  45.  
  46. Take your pick!  Any help is wecome, and the more help I get, the sooner
  47. the full release will come.
  48.  
  49. How to make your very own version of AHI
  50. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  51. To configure on an Amiga:
  52.  
  53. sh configure --host=m68k-unknown-amigaos
  54.  
  55.  
  56. To configure on a PC running Linux:
  57.  
  58. ./configure --host=m68k-amigaos --build=i686-pc-linux-gnu
  59.  
  60.  
  61. You can build in separate directories, which is very useful when
  62. working on the PPC version:
  63.  
  64. mkdir build060
  65. cd build060
  66. sh ../ahisrc/configure --host=m68k-unknown-amigaos
  67.  
  68.  
  69. The following targets are available:
  70.  
  71. all:
  72.     Makes all binaries, but only one version of the device.
  73.  
  74. clean:
  75.     Removes all binaries and temporary files.
  76.  
  77. distclean:
  78.     Like clean, but also removes files created by 'configure'.
  79.  
  80. maintainer-clean:
  81.     Removes all machine-generated files, including the autoconf files.
  82.  
  83. bindist:
  84.     Builds the binary distribution.  You can change the directory in
  85.     which the binary distribution will be created, by setting the
  86.     variable DISTDIR. The default is '/tmp/ahi'. This will build all
  87.     possible versions of the device, including the PowerPC version.
  88.  
  89. revup:
  90.     Increases the revision of the distribution.
  91.  
  92.  
  93. When you add code, please remember a few things:
  94.  
  95.   · Avoid TAB characters, if possible.
  96.   · The TAB size is 8.
  97.   · The indent level is 2.
  98.   · Compiler warnings are NOT acceptable.
  99.  
  100.  
  101. Required programs/packages
  102. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  103. Here is a short list of required tools that I'm aware of:
  104.  
  105. From GeekGadgets:
  106.  
  107. autoconf                 autoconf-2.13-bin.tgz
  108. gcc/egcs                 gcc-2.95.1-bin020.tgz
  109. make                     make-3.77-bin.tgz
  110. ppctools                 ppctools-bin.tgz
  111. unixtex                  unixtex-6.1b-bin?.tgz
  112. texinfo                  texinfo-3.12-bin.tgz
  113.  
  114. Other tools:
  115.  
  116. FD2Pragma
  117. FlexCat
  118. Makedepend
  119. PhxAss
  120. RoboDoc
  121. UnixDirs3 (when using separate build directories)
  122.  
  123.  
  124. Building a libgcc.a for ppctools-bin
  125. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  126. In order to build an ahi.so that works with WarpUp, you'll need to build
  127. libgcc.a.  Here is how I did that on a Linux box.  I suppose it works under
  128. AmigaOS as well.
  129.  
  130. 1) Get binutils-2.7.tar.gz and gcc-2.7.2.1.tar.gz from your local GNU
  131.    mirror.
  132.  
  133. 2) mkdir source; mkdir build; mkdir build/ppc-gcc; mkdir build/ppc-binutils
  134.  
  135. 3) Unpack the sources into the "source" directory.
  136.  
  137. 4) Go to build/ppc-binutils and write (change prefix and host to fit your
  138.    system):
  139.  
  140.    $ ../../source/binutils-2.7/configure --target=ppc-unknown-elf \
  141.    > --host=i386-unknown-linux --prefix=/home/lcs/gg
  142.    $ make
  143.    $ make install
  144.  
  145.    If you get errors from bad prototypes, just uncomment them and retry
  146.    (I had problems with strdup and a few more).
  147.  
  148. 5) Go to build/ppc-gcc and write (change prefix and host to fit your
  149.    system):
  150.  
  151.    $ ../../source/gcc-2.7.2.1/configure --target=ppc-unknown-elf \
  152.    > --host=i386-unknown-linux --prefix=/home/lcs/gg
  153.    $ make LIBGCC2_INCLUDES=-Dinhibit_libc libgcc.a
  154.  
  155. 6) Copy the file libgcc.a to ade:ppc-amigaos/lib/libgcc.a or
  156.    gg:ppc-amigaos/lib/libgcc.a
  157.