Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Mega Drive sound engine
branch: master

README

=============================================================================
        ___________       ________     ___       ___     _________
       |    _______|    _|   ___  |_  |   |     |   |  _|  _____  |_
       |   |          _|   _|   |___| |   |     |   | |   |     |   |
       |   |_____    |    |           |   |_____|   | |   |     |   |
       |    _____|   |    |           |    _____    | |   |     |   |
       |   |         |_   |_     ___  |   |     |   | |   |     |   |
       |   |_______    |_   |___|  _| |   |     |   | |_  |_____|  _|
       |___________|     |________|   |___|     |___|   |_________|
   ___ ___ _ _ ___ __    ___ ___ ___ _ ___ ___                   _   ___ _
  |  _|   | | |   |  \  |  _|   |  _| |   |  _|                 | | |_  | |
  | |_| | | | | | | | | | |_| | | |_| | | | |_   _ _ ___ ___    | |  _| | |
  |_  | | | | | | | | | |  _| | | | | | | |  _| | | | __| _ \   | | |  _| |
   _| | | | | | | | | | | |_| | | | | | | | |_  | | | __|   /_  | |_| |_| |
  |___|___|___|_|_|__/  |___|_|_|___|_|_|_|___|  \_/|___|_|_\_| |_|_|___|_|

=============================================================================

Echo is available under the zlib license. Please see the LICENSE file for
details. All files here as-is are made available under that license unless
explicitly stated otherwise.

Echo official "site" (currently redirects to the repo):
http://echo.mdscene.net/

mdtools repo (includes several tools for use with Echo):
http://tools.mdscene.net/

Some more tools from Oerg866 (XM to ESF converter and ESF optimizer):
https://github.com/oerg866/xm2esf

=============================================================================

*** How to use ***

If you want to use Echo from asm, take the blob from "built/prog-z80.bin" and
the "src-68k/echo.68k" asm file. Include the latter in your source code, then
go to the @Z80Program label (should be near the end of the file) and replace
the string with the path to the blob.

If you want to use Echo from C, check the "c" subdirectory. You will find the
required files. It should work with any Mega Drive C devkit that provides the
stdint.h header (and you should ditch it if it doesn't!).

The documentation for the asm API is in "doc/api-asm.txt", while the
documentation for the C API is in "doc/c-api.txt".

=============================================================================

*** How to build ***

   * Make sure the root of this source code tree is the current directory
   * Assemble src-z80/build.z80 to bin/prog-z80.bin
   * Assemble tester/build.68k to bin/prog-68k.bin (optional)

If you're using Linux, you can use build.sh to build the Echo binary (you'll
need z80asm for this). I still need to provide scripts for the tester ROM
though, sorry :/ (I used asm68k, if you wonder)

Also no source for the data blobs yet, for similar reasons, although I have
more control over those tools at least so I may come up with some good
replacements (or even just rebuild the current tools, pretty sure one of them
(mdtiler) already has a replacement) :/

The last step builds the Echo tester ROM, which is some generic ROM I use to
test the tools and some other stuff I make, and generally contains garbage
tunes in it you shouldn't pay attention to. You don't have to build it to
make use of Echo :P

=============================================================================

*** Making sound effects ***

If you are using assembly and don't feel like using the full-blown tools to
make sound effects, you can use the macros in the "src-68k/esf.68k" file to
create sound effects. For now there is not documentation for it :/ (check the
comments in the source file to see the syntax for each macro)

An equivalent C API may be available in the future.

=============================================================================

CREDITS:

   Main programmer ........ Sik
   Auxiliary programmer ... Oerg866

THANKS FOR TESTING:

   * TµEE (general hardware testing)
   * Eke Eke (timer shenanigans IIRC?)
   * MarkeyJester (*insert comment here*)
   * John Springer (you heart his pizza)
   * Flygon (sorry for your headphones :P)
   * djcouchycouch (for using an API I didn't even check if it worked)

OTHER THANKS:

   * Titan (yay demoscene!)

=============================================================================
Something went wrong with that request. Please try again.