Jump to content

Photo

Hear the Amy chip at last!


27 replies to this topic

#1 perry_m OFFLINE  

perry_m

    Star Raider

  • 61 posts

Posted Thu Jul 26, 2007 9:35 PM

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.

Attached File  amy11.wav   146.67KB   1658 downloads

Attached File  amy22.wav   293.3KB   1454 downloads

Perl program to parse file and generate sound(very messy)
Attached File  amy.zip   1.43KB   289 downloads

#2 pseudografx OFFLINE  

pseudografx

    Dragonstomper

  • 649 posts
  • Location:Czech Republic

Posted Fri Jul 27, 2007 3:08 AM

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.



#3 mos6507 OFFLINE  

mos6507

    River Patroller

  • 4,915 posts

Posted Fri Jul 27, 2007 3:16 AM

Cool!

#4 andym00 OFFLINE  

andym00

    Stargunner

  • 1,036 posts
  • Location:A geordie cowfield...

Posted Fri Jul 27, 2007 4:03 AM

Very nice... I didn't realise those development disks were out in the wild, makes for some interesting reading indeed...

#5 kevin242 OFFLINE  

kevin242

    Stargunner

  • 1,036 posts
  • I played Atari today
  • Location:Connecticut, USA

Posted Fri Jul 27, 2007 6:50 AM

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.

Attached File  amy11.wav   146.67KB   1658 downloads

Attached File  amy22.wav   293.3KB   1454 downloads

Perl program to parse file and generate sound(very messy)
Attached File  amy.zip   1.43KB   289 downloads



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

#6 Bryan ONLINE  

Bryan

    Quadrunner

  • 10,920 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Jul 27, 2007 7:01 AM

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.

#7 perry_m OFFLINE  

perry_m

    Star Raider

  • Topic Starter
  • 61 posts

Posted Fri Jul 27, 2007 7:34 PM

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:


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.

#8 miker OFFLINE  

miker

    Stargunner

  • 1,855 posts
  • Stay Atari!
  • Location:Warsaw, Poland

Posted Sat Nov 17, 2007 3:38 AM

Thanks lot perry_m! I've added these samples to AMY article in Atariki.

#9 peteym5 OFFLINE  

peteym5

    River Patroller

  • 2,099 posts
  • Location:Buffalo NY USA

Posted Sun Nov 18, 2007 9:22 PM

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.

#10 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** ***Moon Master*** *Blue Max:Class 4*

  • 7,357 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Sun Nov 18, 2007 10:17 PM

Fascinating.

#11 miker OFFLINE  

miker

    Stargunner

  • 1,855 posts
  • Stay Atari!
  • Location:Warsaw, Poland

Posted Mon Nov 19, 2007 11:41 AM

Too bad the articles are not in English...


Yes, indeed. But first read this post.

#12 Curt Vendel OFFLINE  

Curt Vendel

    River Patroller

  • 4,580 posts
  • Location:Carmel, New York

Posted Fri Feb 8, 2008 4:05 PM

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.atarimuse...otos/65xem.html


Curt

#13 Reaperman OFFLINE  

Reaperman

    Quadrunner

  • 5,790 posts
  • Location:New Orleans, LA

Posted Sat Feb 9, 2008 11:22 AM

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:


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

#14 carmel_andrews OFFLINE  

carmel_andrews

    Quadrunner

  • 13,297 posts
  • Location:from somewhere, anywhere and no where

Posted Mon Feb 11, 2008 4:48 AM

Was the 'proposed' ST version of AMY (which tramiel outsourced to a 3rd party to design/produce) going to be an improvement on the XE amy/amie

#15 perry_m OFFLINE  

perry_m

    Star Raider

  • Topic Starter
  • 61 posts

Posted Mon Feb 11, 2008 5:26 PM

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.atarimuse...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.

#16 Gregory DG OFFLINE  

Gregory DG

    TAT IS BACK!

  • 11,237 posts
  • Go Cardinals!
  • Location:Winter Haven, FL

Posted Mon Feb 11, 2008 5:28 PM

Forgive my ignorance, but what's the Amy chip? Was it a replacement for the POKEY?

Edited by Gregory DG, Mon Feb 11, 2008 5:28 PM.


#17 Allan OFFLINE  

Allan

    Quadrunner

  • 6,163 posts
  • Location:Wallingford, CT

Posted Mon Feb 11, 2008 6:01 PM

Forgive my ignorance, but what's the Amy chip? Was it a replacement for the POKEY?

http://www.atarimuse...otos/65xem.html

Allan

#18 Gregory DG OFFLINE  

Gregory DG

    TAT IS BACK!

  • 11,237 posts
  • Go Cardinals!
  • Location:Winter Haven, FL

Posted Mon Feb 11, 2008 7:45 PM

Forgive my ignorance, but what's the Amy chip? Was it a replacement for the POKEY?

http://www.atarimuse...otos/65xem.html

Page cannot be found. :(

#19 Allas OFFLINE  

Allas

    Stargunner

  • 1,103 posts
  • Location:Lima - Perú

Posted Mon Feb 11, 2008 7:59 PM

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.

Attached File  amy_chip_xe.zip   385.31KB   287 downloads

#20 Allan OFFLINE  

Allan

    Quadrunner

  • 6,163 posts
  • Location:Wallingford, CT

Posted Mon Feb 11, 2008 8:52 PM

Forgive my ignorance, but what's the Amy chip? Was it a replacement for the POKEY?

http://www.atarimuse...otos/65xem.html

Page cannot be found. :(


Sorry,
Try the one in Curt's post above. That works. Not sure why it didn't work in mine.

Allan

#21 UNIXcoffee928 OFFLINE  

UNIXcoffee928

    Stargunner

  • 1,177 posts
  • Location:Sosaria, USA

Posted Thu Nov 14, 2013 4:34 PM

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.

Attached Files


Edited by UNIXcoffee928, Thu Nov 14, 2013 4:43 PM.


#22 UNIXcoffee928 OFFLINE  

UNIXcoffee928

    Stargunner

  • 1,177 posts
  • Location:Sosaria, USA

Posted Thu Nov 14, 2013 10:16 PM

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).

Attached Files



#23 pseudografx OFFLINE  

pseudografx

    Dragonstomper

  • 649 posts
  • Location:Czech Republic

Posted Fri Nov 15, 2013 2:39 AM

Now it would be nice if AMY emulation was added to Altirra :)



#24 Stephen ONLINE  

Stephen

    Quadrunner

  • 6,999 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Fri Nov 15, 2013 9:30 AM

Now it would be nice if AMY emulation was added to Altirra :)

But it would be cooler if AMY is recreated on FPGA.



#25 UNIXcoffee928 OFFLINE  

UNIXcoffee928

    Stargunner

  • 1,177 posts
  • Location:Sosaria, USA

Posted Fri Nov 15, 2013 1:21 PM

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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users