Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Mega Drive sound engine

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 built
Octocat-spinner-32 c
Octocat-spinner-32 data
Octocat-spinner-32 doc
Octocat-spinner-32 src-68k
Octocat-spinner-32 src-z80
Octocat-spinner-32 tester
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
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)

Sorry for not providing a build script but my current setup is a mess and
needs to be changed x_x; Currently using z80-asm to build the Z80 code and
asm68k to build the 68000 code, I need to find good replacements for both
(z80-asm for being crappy, asm68k for not being free).

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.