moon-watcher / echo Goto Github PK
View Code? Open in Web Editor NEWThis project forked from sikthehedgehog/echo
Mega Drive sound engine
License: zlib License
This project forked from sikthehedgehog/echo
Mega Drive sound engine
License: zlib License
============================================================================= ___________ ________ ___ ___ _________ | _______| _| ___ |_ | | | | _| _____ |_ | | _| _| |___| | | | | | | | | | |_____ | | | |_____| | | | | | | _____| | | | _____ | | | | | | | |_ |_ ___ | | | | | | | | | |_______ |_ |___| _| | | | | |_ |_____| _| |___________| |________| |___| |___| |_________| ___ ___ _ _ ___ __ ___ ___ ___ _ ___ ___ _ ___ ___ | _| | | | | \ | _| | _| | | _| | | | _|_ | | |_| | | | | | | | | | |_| | | |_| | | | |_ _ _ ___ ___ | | | |_ _| | |_ | | | | | | | | | | _| | | | | | | | _| | | | __| _ \ | | |_ | _| _| | | | | | | | | | | |_| | | | | | | | |_ | | | __| /_ | |_ _| | |_ |___|___|___|_|_|__/ |___|_|_|___|_|_|_|___| \_/|___|_|_\_| |_|_|___|___| ============================================================================= WARNING: if you used Echo_SetVolumeEx in Echo 1.4, beware that the ABI changed to require 16 bytes instead of 13. Currently the extra bytes are ignored, but consider adapting your code (just set them to zeroes). ============================================================================= 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) * BigEvilCorporation (helped with testing Echo 1.4) OTHER THANKS: * Titan (yay demoscene!) =============================================================================
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.