Skip to content

Commit

Permalink
Publish the sources
Browse files Browse the repository at this point in the history
  • Loading branch information
shred committed May 24, 2021
0 parents commit c3bb5dd
Show file tree
Hide file tree
Showing 59 changed files with 14,273 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .editorconfig
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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build/
release/
reference/inline/
reference/proto/
674 changes: 674 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions README.md
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)).
10 changes: 10 additions & 0 deletions distribution/FILE_ID.DIZ
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
Loading

0 comments on commit c3bb5dd

Please sign in to comment.