Jump to content
IGNORED

Hear the Amy chip at last!


perry_m

Recommended Posts

There were 5 Amy development disks posted by John Hardie some time ago. These had programs and data for a Amy development system on a board with an 8051 connected to a PC parallel port. There wasn't any 8051 code I found. There didn't seem to be any Amy instrument data for the 8051 when I first looked. I only found Atari music composer files.

 

I looked again a few days ago and I found one file called MERGE.OLD which contains an instrument called "rhodes2." There is some Fortran code that converts data from PCPLOT to a binary format which is loaded into the 8051. Since Curt Vendel posted the Amy docs I could figure it out and make an attempt at reconstructing the sound.

 

I am not sure of how fast the harmonics should be played back so I will give two example speeds.

 

This may be the only sound that survives from the Atari Amy project.

 

amy11.wav

 

amy22.wav

 

Perl program to parse file and generate sound(very messy)

amy.zip

  • Like 3
Link to comment
Share on other sites

Oh, if only this had been implemented! It would kick SID's ass :)

 

There were 5 Amy development disks posted by John Hardie some time ago. These had programs and data for a Amy development system on a board with an 8051 connected to a PC parallel port. There wasn't any 8051 code I found. There didn't seem to be any Amy instrument data for the 8051 when I first looked. I only found Atari music composer files.

 

I looked again a few days ago and I found one file called MERGE.OLD which contains an instrument called "rhodes2." There is some Fortran code that converts data from PCPLOT to a binary format which is loaded into the 8051. Since Curt Vendel posted the Amy docs I could figure it out and make an attempt at reconstructing the sound.

 

I am not sure of how fast the harmonics should be played back so I will give two example speeds.

 

This may be the only sound that survives from the Atari Amy project.

  • Like 1
Link to comment
Share on other sites

There were 5 Amy development disks posted by John Hardie some time ago. These had programs and data for a Amy development system on a board with an 8051 connected to a PC parallel port. There wasn't any 8051 code I found. There didn't seem to be any Amy instrument data for the 8051 when I first looked. I only found Atari music composer files.

 

I looked again a few days ago and I found one file called MERGE.OLD which contains an instrument called "rhodes2." There is some Fortran code that converts data from PCPLOT to a binary format which is loaded into the 8051. Since Curt Vendel posted the Amy docs I could figure it out and make an attempt at reconstructing the sound.

 

I am not sure of how fast the harmonics should be played back so I will give two example speeds.

 

This may be the only sound that survives from the Atari Amy project.

 

amy11.wav

 

amy22.wav

 

Perl program to parse file and generate sound(very messy)

amy.zip

 

 

Am I missing something? The wav file just plays a 2 second "gong" sound on my Mac.

Link to comment
Share on other sites

Oh, if only this had been implemented! It would kick SID's ass :)

 

Yeah, but the Yamaha YM2151 was out by this time and was very capable as well (It's responsible for all the cool music in games like Marble Madness). Amy missed its window of opportunity.

Link to comment
Share on other sites

I found a YouTube video of a guy tuning a Rhodes piano. Since the instrument is called rhodes2 this is probably what it is supposed to be:

http://www.youtube.com/watch?v=QvhMvS1tZS8

 

You hear him tuning it around 4:00 in.

 

I think the longer version (amy22.wav) is closer to it.

 

Sounds quite similar so I am convinced I got the math right.

Link to comment
Share on other sites

  • 3 months later...

Too bad the articles are not in English, but the major question is does anyone make one or can you get one of these chips. We have alot of Duel Pokey upgrades and another option is put a 2nd different sound chip in the computer. The have been mentions of porting a Dual Pokey to an ASIC with extra stuff. Maybe we can find the amy logic somehow also.

Link to comment
Share on other sites

  • 2 months later...
I found a YouTube video of a guy tuning a Rhodes piano. Since the instrument is called rhodes2 this is probably what it is supposed to be:

http://www.youtube.com/watch?v=QvhMvS1tZS8

 

You hear him tuning it around 4:00 in.

 

I think the longer version (amy22.wav) is closer to it.

 

Sounds quite similar so I am convinced I got the math right.

wow, at first I thought the new synth chip sounded pretty bad.

but it's actually doing a darn good job of impersonating that awful piano :D

Link to comment
Share on other sites

Perry -

 

Look at the bottom of the 65XEM page, I've added the AMY Netlists for the chip and also a demo written in Forth for the AMY...

 

 

 

http://www.atarimuseum.com/computers/8bits...otos/65xem.html

 

 

Curt

I downloaded the file called amy-netlist.zip located there.

It contains 4 files:

GFNAME.C :get file names (directory) command

JCODE.ASM :interrupt driver for a PC

MBOX.C :to play AMY music on a PC

PARSE.C :Parse a music file into a score

 

These files are for playing music on an AMY chip connected to a PC via a special experimental board. But the actual control of the AMY chip was via an 8051 on this board.

 

There were copies of these program on the other disk images I download before, but when I looked at them they didn't tell me too much about how AMY worked because the MBOX program is just parsing a music file and sending commands to an 8051 that does the real work.

 

I didn't find a netlist.

 

The forth program amy.fth seems to be a MIDI translation program.

Link to comment
Share on other sites

  • 5 years later...

Those who are interested on view programming working about AMY chip, here are the 5 diskettes.

Maybe someone could found some technical detail to add more in the history of this strange music chip.

 

attachicon.gifamy_chip_xe.zip

 

I went through the five disks, eliminated all redundant files, and separated the files, by type, into directories. This should make it easier to sort through, if you're planning on studying the AMY.

 

You may want to diff the revisions of the different dated source files, to see what was modified, over time. The C compiler that was used was: Lattice C version 1.02, on the original IBM PC. The Fortran compiler may have been on one of the Atari VAX machines, accessed via Kermit from the original IBM PC, or else it was a PC version of Fortran, probably Micro$loth. All of the code to control the 8051 microcontroller via the original IBM PC parallel port appears to be there.

 

The disks appear to have been originally owned by Claudia Rudolph, who was one of the main programmers (based on source comments). Ownership seems so, based on a text note (to herself) on how to connect to the VAX to download *.tab files. These *.tab files are likely the tables of sounds... so the missing sound table files may be on the VMS backups that Curt has

 

Adventurous souls may want to try the original five disks in DOSbox (DOS is on them, as well as PE, one of the first text editors for the PC, if not The First) BASICA is also there, for the BASIC files. If you can find a Lattice C version 1.02 you may be able to compile, and check to see if the latest code is the same as the preexisting EXE files.

AMY_study.rar

Edited by UNIXcoffee928
  • Like 2
Link to comment
Share on other sites

I cleaned up the Fortran source file: "MERGE.NEW" so that it's easier to study. The only changes that I made were in the comments, and their delineation; no code was changed. You should now find it much more readable, and easier to understand, at a glance.

 

I renamed it, so that you can easily tell that it is a modified file, and so that your editor will automatically syntax highlight for Fortran (as long as you have properly configured your editor to do so).

MERGE-NEW_comment-mod.F.rar

  • Like 2
Link to comment
Share on other sites

Maybe there is a first generation IBM PC programmer or engineer here who has some of the necessary development software setting in a disk box in the attic...

 

We are looking for the following circa 1982-1983 software:

 

- PCPLOT for DOS

- Lattice C version 1.02 for DOS

- Micro$oft Fortran for DOS

 

With the DOS version of PCPLOT probably being of the highest importance, since the existing C & Fortran source code can potentially be ported to modern versions of the respective languages.

 

PCPLOT was a statistical & engineering application. It's data output format is relied upon as input files into the Fortran program named MERGE (above).The PCPLOT datafiles are read into MERGE to be able to generate the pitch, harmonic, etc. additive sound synthesis primitives for the resultant sound patches (via interpolation of the data in multiple PCPLOT datafiles) that are processed in MERGE, then sent to the 8051 via the parallel port to be synthesized by the AMY.

 

The "Rhodes" patch is the only output of the program MERGE which we still have (in another file, also named MERGE), as of now. This patch could be used as a template for a reverse engineering workaround, if we were to start from scratch (as the Topic Starter had begun working on, in Python).

 

The main problem with this approach is that Additive Synthesis requires a lot of specialized harmonic input data, in general, and it may be difficult to devise a method of doing this, given that we have an incomplete development environment that we have to use as a framework for reverse engineering. Ideally, it would be better to first re-create the original development environment, THEN start modifying it to modern standards.

 

A major stumbling block with this approach is that some things are missing, such as the two Fortran INCLUDE files from the program, "MERGE", and whatever formula, batchfile, or program that was used on PCPLOT, to massage the data that PCPLOT outputs as an output file, and MERGE uses as multiple input files.

 

Another big issue is that, as of now, no schematic exists for the 8051 dev board (that connects to the PC's parallel port), nor does one exist for it's interface to the AMY from the 8051 (although we do have the AMY pinouts). Other than that, no specific setup is explained for the Digital to Analog conversion circuit that goes after the AMY and before the amplification stage. In other words, a lot is missing. A determined person might be able to reverse engineer a lot of the physical 8051 interface, based on the parallel port output subroutines in MERGE, if they were very familiar with 8051 design... but there would still be some serious question marks to deal with,

 

This being said, it can't hurt to try to find as many of the puzzle pieces as is possible, and make them available here, that way, in the future, if more information turns up, there will be a centralized resource to use as a starting point.

 

However...

 

One intriguing possibility, other than this route, may exist, though. As stated in a developer interview, an entire piece of simulation software for the AMY did exist, in a fully functional state, on the VAX.

 

If this software can be found (by Curt), then we have a MUCH better resource to work with, for both emulator support, and an FPGA recreation of the AMY.

 

 

Other than that, the AMY is entirely based on a reduced version of the Alles synthesizer, so you could just fully recreate the Alles, call it the AMY 2.0, and call it a day.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...