Giter Site home page Giter Site logo

gordonjcp / miragetools Goto Github PK

View Code? Open in Web Editor NEW
23.0 9.0 5.0 10.92 MB

Tools and documentation for hacking on the Ensoniq Mirage 8-bit sampler

License: GNU General Public License v3.0

C 65.53% Assembly 30.78% Objective-C 1.47% Python 0.39% C++ 1.03% Makefile 0.70% M4 0.10%

miragetools's Introduction

title layout
Ensoniq Mirage Tools
default

Ensoniq Mirage Tools

Tools and documentation for hacking on the Ensoniq Mirage 8-bit sampler

There should be just about enough information in the README.md files to get you started. You're going to need a PC running Linux that has a real genuine floppy drive (no USB ones, sorry) and a MIDI interface. Other than that you'll need a working GCC and probably some libraries that I've forgotten to note down. Suffice it to say that if you can compile simple Gtk apps, you won't be far wrong.

Clone the repository, then go into miragetools/miditerm and and build it:

$ ./waf configure
$ ./waf

If all goes well you should be able to run MIDIterm with:

$ ./build/miditerm

Use something like qjackctl to hook the ports up to your physical MIDI interface, remembering that "out" on MIDIterm needs to go to "in" on your interface. If you hook the "out" and "in" connectors on your interface together (maybe using the "through" port on the Mirage) then when you type stuff into MIDIterm you should see it echoed back.

Make sure the Mirage is hooked up to the appropriate MIDI connectors on your interface.

Switch to the asm09 directory. Build the assembler, then build the Forth image:

$ gcc as9.c -o as9
$ ./as9 forth.asm

Build the Mirage disk utility next. Change to the miragedisk directory, then build and install:

$ ./waf configure
$ ./waf
$ sudo ./waf install

Get a blank formatted diskette (or format one, with the instructions in miragetools/asm09/README.md) and write the Forth image:

$ miragetool --put-os forth.s19

Boot from the disk and you should see the right hand digit of the LED showing a rotating pattern.

At this point, you are running what is probably the first wholly new software to be written for the Ensoniq Mirage, for something like 20 years. Let that sink in for a moment.

Unfortunately the forth.asm source isn't hugely well-documented. My own additions don't really help either. Note that this version starts off with base set to 16 by default - this means that any numbers you type in or any it displays are hexadecimal. This may be surprising for the unwary.

At the "ok>" prompt, type "vlist" and you should see it list off all the Forth words the environment knows. You can read Dave Dunfield's notes on his implementation on his website.

To make your Mirage make a noise, just to prove it can be done:

ok> 18 e200 c! ( motor off, final VCA unmuted)
ok> 50 e410 c! ( VCF 1 cutoff opened up somewhat)
ok> ff e408 c! ( VCF 1 resonance up full)

You have just unmuted the audio (sample/play switch) and set the first VCF to self-resonate.

Happy hacking!

miragetools's People

Contributors

gordonjcp avatar kylegordon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.