E A G L E P L A Y E R 2 . 0 4
Jan Blumenthal and Henryk Richter
Eagleplayer is a popular music player for the Amiga platform. It runs under
native Amiga processors (68020+)
and Amiga OS 2.0+. Due to its modular design, Eagleplayer has a small memory
footprint and can be easily
extended by external plugins. It support more that 200 playing systems, such as
TFMX, FutureComposer, MP3, and much more. Further, it supports optional Engines.
Engines may be additional
Graphical User Interfaces (GUI), such as a classical view, an impressive sound
system (EMPYGUI), or the
very popular EagleAMP (badly known from the M$ platform). Moreover, some engines
are designed modular as
well (i.e. provide own plugins). These engines include additional rippers,
converters, loaders and savers.
Eagleplayer was written by Jan Blumenthal and Henryk Richter, formally known as
Eagleeye & Buggs of Defect.
It was originally released as shareware. Due to the other commitments, we are
not able to continue our
development of Eagleplayer. Therefore, we decided to release the source code of
under GPL. Maybe, there are a few idealists still using Amiga computers and like
to enhance Eagleplayer.
As already stated, Eagleplayer is from version 2.04 on licensed under the GNU
General Public License.
In short, this means Eagleplayer is now free and it is meant to stay that way.
The chosen license
grants everybody the right to obtain, use, and modify freely. There is however
the obligation of
retaining the authors and GPL copyright notices. For detailed information
regarding the GPL,
please read the file COPYING. Non-free licenses for using our code base in a
environment are available on request.
Some really important remarks:
Development of Eagleplayer was started in 1992 with SEKA assembler or one of its
Currently, we use Asm-Pro 1.15 or Trash-M-One. Other Seka-clones may work, but
will not be assembled out of the box with Devpak or Maxon-Assembler. This is
caused by lower=upper
case limitations and variations in some type definitions, as well as defined
we provide some of our patched includes, because due to the lower case=upper
case code convention,
original includes may not work correctly.
Eagleplayer is fully programmed in 68000 assembler. We think, it is senseless
and impossible to
port Eagleplayer to any other hardware plattform. If you plan to do so, you
might consider writing
a completely new player!
Since Eagleplayer was startet in the early nineties, there are some very old
parts in the source,
which may be appear terrible with nowadays knowledge of software engineering.
Unbelievable but true,
Eagleplayer does not use any semaphores or mutexes to synchronize processes
(though our workarounds are
pretty stable and most inter process communication is handled by message ports).
Anyone who does not
understand the dimension of this problem should study the problem of the dining
Eagleplayer was just learning by doing. Nevertheless, the inconsistencies are
very small and do not
lead to crashes. The current version of Eagleplayer is very stable. Most
problems we encountered are
caused by external libraries. For example, some libraries do not work correctly
We prepared the source code as best as possible. We tried to compile the latest
sources from our
confused source repositories. But we are not sure, that any version of the
external plugins are
up-to-date. But note, the main source is the lastest one. The initial GPL
release covers the main
program and engines. The external Eagleplayers are not released under the GPL.
labels are mainly in English but unfortunately most of the comments are in
German. Sorry about
Finally, Eagleplayer has a heavy key protection system. That means, hacking of
several jumps used
for checking and decoding keyfiles leads to overwriting the execbase (address 4)
and an inevitably
reboot of the system. Please be careful by changing the marked parts within the
source code. Removing
these check routines is critical as well due to missing hidden functionality :-)
Requirements to assemble Eagleplayer
- AmigaOS 2.0+
- valid Keyfile (provided)
- ASM-Pro 1.15
Optional runtime components/libraries
Build the Eagleplayer main program
- unzip Eagleplayer source to any directory and assign this directory to EP:
("assign EP: <your_directory>")
- run ASM-Pro 1.15 or any other compatible assembler
- If asked, select 8MB of workspace
- Enter Menu Assembler->Preferences->Environment and uncheck "Save Marks"
- Enter Menu Assembler->Preferences->Assembler and check "UCase=LCase"
- load EP:src/EP_Main.s (command: r)
- start assembler with command "a"
- write the executable file to "EP:" using command "wo"
- Now, you are ready to start Eagleplayer main program from EP:. There is no
further installation procedure
necessary. Make sure that Eagleplayer.key is in your Path or better in EP:
Build Eagleplayer PlugIns
- External plugins are: Engines, Eaglerippers, Formatloaders, Noiseconverters,
Samplesavers, and Eagleplayers
- most of these plugins are stand-alone sources and can be assembled by an easy
- read source into Asm-Pro (command: "r")
- assemble source (command: "a")
- write executable object (command: "wo") to the appropriate directory
- Some extra includes might be required in "include:", such as those from
reqtools.library. Most of them can be found on aminet.
Have fun with Eagleplayer !
Jan Blumenthal & Henryk Richter