wiki:WikiStart

Version 12 (modified by thomas, 6 years ago) ( diff )

--

The Buchla 700 Emulation Project

We are a non-commercial open source project that develops emulator software for the Buchla 700 on Linux, OS X, and Windows. The idea is to build something that runs the original Buchla 700 firmware, i.e., the BIOS and the MIDAS VII GUI-based instrument definition and sequencing software. The firmware source code was made available to the public a few years ago by Lynx Crowe, its creator, via Aaron Lanterman at Georgia Tech (http://lanterman.ece.gatech.edu/buchla700/).

Note that Lynx released the firmware for non-commercial personal and educational use only and as-is with no guarantees of completeness or correctness. While we place our modifications to the firmware in the public domain, you still need to respect Lynx's licensing terms for the underlying original firmware.

We got the firmware to build with a modern-day GCC-based cross-toolchain for the Motorola 68k, and we started to build a minimalistic emulator that mimics the Buchla 700 hardware just enough to allow the firmware to function properly.

At this point, the firmware works pretty well when run in the emulator. However, we do not yet generate any sound. The code that drives the Buchla 700's digital sound generator - the FPU - is not part of the released source code. Now that we have the user interface up and running, our next job will be to reconstruct the FPU.

Installing the emulator

The current version of the emulator is 0.1. There is a single ZIP archive available for download, which contains the executables for OS X, Linux, as well as Windows:

buchla-0.1.zip

In order to run the emulator, please proceed as follows:

  • Unpack the downloaded ZIP archive. This will give you a directory named buchla-0.1.
  • On OS X, run buchla-os-x from inside this directory. We tested on OS X versions 10.11 and 10.13.
  • On Linux, run buchla-linux from inside this directory. We tested with Debian 8 and Ubuntu 18.04. As Debian 8 is relatively old, older Ubuntu releases, such as 16.04, should work as well.
  • On Windows, run buchla-win.exe from inside this directory. We tested on Windows 8 and Windows 10.
    • Note that Windows may unpack the ZIP archive, such that you end up with a buchla-0.1 directory nested inside another buchla-0.1 directory.
    • The .exe file extension may or may not be shown. So, you might not see buchla-win.exe, but buchla-win.
    • The emulator will probably trigger the Windows Firewall. Please allow this network access. The reason is that the emulator listens for incoming network connections established by a debugger (GDB remote cross-target debugging).

Using the emulator

Approaching the 700 with a modern perspective on usability can be frustrating. There is however a certain logic to the structure of the mouse and keyboard commands. In order to make it easier to get started, we have started to write a manual that documents the functions of the 700. It's definitely a work in progress. There are a lot of things that we don't yet know about the 700. Maybe, at some point, we should do a systematic review of the MIDAS code to gather an exhaustive list of things that can be clicked on, that can be edited, etc. on each of the different MIDAS screens.

The manual can be viewed here: https://bob.lopatic.de/trac/wiki/Manual.

Getting the source code

We have two Git repositories. buchla-68k.git is our modified version of the original firmware. See https://bob.lopatic.de/trac/browser/buchla-68k/readme.txt for details. Here's how to access it:

  • git clone https://bob.lopatic.de/git/buchla-68k.git (user open, password sesame, read-only access)

Then there is buchla-emu.git, which is our emulator. See https://bob.lopatic.de/trac/browser/buchla-emu/readme.txt for details. Here's how to access it:

  • git clone https://bob.lopatic.de/git/buchla-emu.git (user open, password sesame, read-only access)

If you would like to work with us, we'll be happy to give you write access to the repositories via SSH.

Attachments (1)

Note: See TracWiki for help on using the wiki.