-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit c3bb5dd
Showing
59 changed files
with
14,273 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
root = true | ||
|
||
[**.{s,i}] | ||
indent_style = tab | ||
indent_size = 8 | ||
trim_trailing_whitespace = true | ||
|
||
[**.{c,h,fd}] | ||
indent_style = space | ||
indent_size = 2 | ||
trim_trailing_whitespace = true | ||
|
||
[**.{doc,guide,readme,DIZ}] | ||
charset = iso-8859-1 | ||
indent_style = space | ||
indent_size = 2 | ||
trim_trailing_whitespace = true | ||
|
||
[makefile] | ||
indent_style = tab | ||
indent_size = 4 | ||
trim_trailing_whitespace = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
build/ | ||
release/ | ||
reference/inline/ | ||
reference/proto/ |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# maestix.library | ||
|
||
Maestix is a shared Amiga library that drives the MaestroPro sound board by MacroSystem. | ||
|
||
![MaestroPro](images/maestropro.jpg) | ||
|
||
This is not the official MaestroPro driver. There never has been one. Originally that board could only be used by a small handful of proprietary tools that came included with the MaestroPro, or were sold separately. I always wanted to use the sound board for my own purposes, so one day I decided to get the datasheet of the Yamaha chips, take some hardware measurements, and then write my own driver based on reverse engineering. The Maestix library is the result of that endeavor. Over the years it grew to the de-facto driver for the MaestroPro. | ||
|
||
The source code was closed, like almost all of my Amiga projects. I have now reviewed and reformatted the files, translated the comments from German to English, added an English documentation, and made the project compilable on Linux (and probably other targets) using vbcc. The source is now open to everyone for using, studying, archivation, or just enjoying the good old Amiga times. | ||
|
||
## Features | ||
|
||
* Digital playback and recording, even in full-duplex mode. | ||
* AHI driver is included. | ||
* Comes with a MUI based RealTime utility and an MPEG audio player. | ||
* Supports S/P-DIF and AES/EBU (studio mode) Channel Status Bits. | ||
* 16 realtime audio effects, custom realtime effects are possible. | ||
* Channel Status Bits and User Data Bits can be individually set. | ||
* Very easy to use. No hardware knowledge about MaestroPro is required. | ||
* VMM compatible, no hacks, no muforce, mungwall, and patchwork hits. | ||
* Requires 68020 or higher. 68060 and DraCo compatible. | ||
* GPL licensed, open source. | ||
* Source Code is available at [GitHub](https://github.com/shred/maestix). | ||
|
||
## Building from Source | ||
|
||
This project is mainly made to be build on Linux machines. However, with a few modifications it can also be built on AmigaOS and other operating systems. | ||
|
||
Requirements: | ||
|
||
* [GNU make](http://www.gnu.org/software/make/) or another compatible make tool | ||
* [vbcc](http://www.compilers.de/vbcc.html) with [fd2pragma](https://github.com/adtools/fd2pragma) | ||
* [AmigaOS NDK 3.9](http://www.haage-partner.de/download/AmigaOS/NDK39.lha), unpacked on your build machine | ||
* [mpega.library](http://aminet.net/package/util/libs/mpega_library) by Stéphane Tavenard | ||
* [MUI](http://sasg.com/mui/download.html) by Stefan Stuntz | ||
* [Lamp.mcc](http://aminet.net/package/dev/mui/MCC_Lamp) by Maik Schreiber | ||
* [lha](https://github.com/jca02266/lha) | ||
|
||
Set the `AMIGA_NDK` env variable to the location of the unpacked `NDK_3.9` directory on your build machine. Also set `AMIGA_INCLUDES` to the location of 3rd party include files, where the mpega and MUI includes can be found. | ||
|
||
Then just invoke `make` to build the project. The compiled project can be found in the `build` directory. `make release` will compile a release version in the `release` directory. | ||
|
||
Today's standard encoding is UTF-8. Sadly AmigaOS does not support this encoding, so the files in this project have different encodings depending on their purpose. The assembler and C files must use plain ASCII encoding, so they can be edited on Linux and Amiga without encoding problems. For special characters in strings, always use escape sequences. Do not use special characters in comments. `make check` will test if these files contain illegal characters. All purely Amiga-related files (like AmigaGuide files) are expected to be ISO-8859-1 encoded. Then again, `README.md` (and other files related to the open source release) are UTF-8 encoded. If you are in doubt, use plain ASCII. | ||
|
||
## Contribution and Releases | ||
|
||
The source code of this project can be found [at the official GitHub page](https://github.com/shred/maestix). | ||
|
||
If you found a bug or have a feature request, feel free to [open an inssue](https://github.com/shred/maestix/issues) or [send a pull request](https://github.com/shred/maestix/pulls). | ||
|
||
Official binaries are available [at AmiNet](http://aminet.net/package/driver/audio/Maestix). | ||
|
||
**Please DO NOT UPLOAD new releases to this AmiNet project. If you want to release a fork, use a different project name.** | ||
|
||
## Why is there no 68000 version? | ||
|
||
With a tiny modification to the `makefile`, an 68000 version can be built. However, due to the large amount of data moved between the driver and the MaestroPro card, it doesn't really make much fun to use it on an 68000 processor. If you really need an 68000 version, you can build it yourself from this source, or get in contact with me. | ||
|
||
## License | ||
|
||
`Maestix` is distributed under GPLv3 ([Gnu Public License](http://www.gnu.org/licenses/gpl.html)). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
__ _______ / | ||
/\/\ /\ /_ (_ | � \/ | ||
/ X--\\____) | | /\ | ||
/ / / | ||
-------------------------------------------- | ||
Driver for MacroSystem's MaestroPro sound | ||
board. With all docs, demos and includes, | ||
AHI driver, FX tool and MPEG player. | ||
-------------------------------------------- | ||
https://maestix.shredzone.org |
Oops, something went wrong.