ASR-X Hacking

Who designed this piece of beautiful craziness?

Scott Peer

EXP-3 Urban Dance Expansion Card

Trying to figure out what the pinout and data format of these cards is, so that we can make our own, with our own favorite samples inside them!

EXP-3 Hacking

ES1370 Concert

This is the chip that acts as a 32 voice synthesizer! It us U901 on the Gizmo motherboard, and is labeled 1370003001. It seems to be the original version of the chip, while the ES1370 and ES1371 are PCI version for Ensoniq Soundcards. There's actually a pinout for it on this webpage!

Synthesizer Chip

Sound ROM

The black ASR-X comes with one 4MB sound ROM on the motherboard. The X uses MR expansion cards which contain 6 of these, totalling 24 MB. What is the pinout? If only we knew!

Sound ROM

Effect Processing Chip

The X uses an ESP2A chip. What's it like? Probably similar to the ESP2! The EXP expansion cards are connected directly to the ESP chip.

Effect Processing Chip

Sound Synthesizer Chip

The X uses the Otto chip. Judging by some of the diagnostic messages inside the ROM, there may even be two Otto's inside. What's it like?

Sound Synthesizer Chip

A/D Converter

Ta-da! The A/D converter inside the ASR-X is located near the Sample Inputs (imagine that!). It's labeled U1301, and is a crystal CS5335 20-Bit Stereo A/D Converter. Here's the spec page:

A/D Converter

D/A Converter

Hooray! The main D/A converter inside the ASR-X is located near the Main outs. (The Expansion board appears to use different D/A Converters!) the main D/a Is a high-performance Burr-Brown PCM1718 Stereo Digital to A. with 8X oversampling here's the web page:

D/A Converter

Gizmo Bop

Okay! it has recently been discovered that much of the x's sequencing uses MIDI files internally in its memory. Today, the demo song "Gizmo Bop" was located in the ROM. How much space is it taking up? 10256 bytes. I extracted it and you can download it and debase it here: Gizmo Bop Demo Song

More details found in Cool Addresses section.

General Info

note: This info is relavent to the black box. Not sure what also applies to the red box.

  • serial ports The CPU has two built-in serial ports. Serial Port B is connected to J10. Serial Port A is most likely used for MIDI. These are accessible on registers from $700 to $721.

  • CPU

    The ASR-X uses a Motorola 68340 processor. This is an embedded version of the 68020, which is an improved version of the well-known 68000.

  • Operating System Memory

    The ASR-X OS resides on two 4Mbit EPROMs, connected in parallel to the 16-bit data bus of the CPU. Therefore, the total memory is 1MB. Here is the newest OS (2.67) for the black box. ASR-X OS v2.67 BTW, don't freak out, Ensoniq gives away this OS for free (just $10 S&H and the EPROMS they give you are worth more than that, so don't let it be said that they don't care at least a little about their customers!).

  • Sample Memory

    One 72-pin SIMM, maximum size=32 MB. A 32 MB SIMM is actually implemented as two 16 MB banks on the same card, if ya didn't know... (same with 8 MB= 2x 4MB) The SIMM is more than likely controlled by the 68340's on-board DRAM controller.

  • Sequence Memory

    This may be implemented in sram on the motherboard?

    Information we've figured out

    What happens the second you turn on the ASR-X?

    The CPU comes out of reset, and jumps to address 0x0000041a.

    the first two instructions are:

    MOVE.W #$2700,SR

    MOVEQ.L #$07,D0

    After that, the simulator chokes on the instruction at 0x420...must be a 68340 or 68020 specific instruction. The opcode is: 0x4e7b0001. Any ideas what that does?

    Meanwhile the stack pointer is set to 0x0be77400. This indicates the top of some sort of static memory must be located at 0x0be77400.

    After that, the code does a large number of moves to memory locations in the range of $F00000-$F00060. My guess is that these are i/o addresses of either hardware

    Pinout of J70, a 10 pin header on the motherboard.

    J70 - 10 Pin Header

    Addresses of intersting stuff in the OS! (v. 2.67)

    Cool Addresses

    Hacking Tools

    A simulator for the 68K. This is primarily the 68K, and has support for 68360 and 68230 (both 68340 variants), so it will work with the asr-x's code. It's a bit tricky to get started, so be patient, and learn how the CPU works, it will help, trust me.

    BVSC - 68K simulator

    A DOS disassembler for the 68K. Since this is for the 68K, I don't think it will understand some of the '340's extra opcodes, but it will understand the majority of the code.

    68K Disasm

    Utilities to join and split images. Since the OS is spread out over two images, it's hard to work with, so these programs will let you combine them into one image. As one image, you can edit values using emacs and save them. After, split the images, and re-burn them!

    Join and Split utilities (coming soon!)

    Internal Zip Drive (100 MB or 250 MB) for the ASR-X

    I talked today to the person who put together a kit for using a Zip Drive in a beautiful instrument called the ASR-X.

    He seems really nice. He's actually entertaining the notion of putting together a kit for an internal 2GB Hard Drive, as well as making the above an official ASR-X Kit. Big Ups to the people at Iomega, hopefully they'll get a chance to add this to their page ( http://www.iomega.com/zipbuiltin/beyondpc/audio.html ).

    Internal Zip Drive

    Rubber Chicken Systems

    Iomega

    Back to synthesizer hacking

    Back

    If you have anything else you like the smell of, e-mail me and if I like it, too, I'll add it. shifty@gweep.net