Yamaha PSR70 reverse engineering

Helsinki Hacklabin wikistä
Versio hetkellä 1. maaliskuuta 2020 kello 18.51 – tehnyt Jari (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun


{{#if: |
[[Tiedosto:{{{kuva}}}|290px]]{{#if: |

{{{kuvateksti}}}

| }}
| }}

Yamaha PSR70 reverse engineering

{{#if:PSR-70 | | }} {{#if: | | }}
Tyyppi: Reverse engineering
Tekijät: jari
Aloitettu: 2020
Tila: Kesken
GitHub: [PSR-70]
URL: [{{{url}}}]


Yamaha PSR-70 keyboard reverse engineering

Taustaa

Koko projekti alkoi vähän yllättäen tästä Slackin #musiikkiteknologia-kanavan viestistä:

PSR70-slack.png

Tuon varomattoman repliikin seurauksena tämän näköinen laite päätyi sitten täyttämään ennestäänkin ahtaita harrastustilojani.

PSR70-overview.jpg

Kyseinen keyboard ei ollut minulle entuudestaan mitenkään tuttu, mutta ajattelin, että voisihan tuota vähäsen tutkia. Se on vuodelta 1985, tyypillinen sen ajan arranger keyboard, jossa on pieni valikoima valmiita rytmejä ja niitä voi jopa tehdä itse. Koskettimisto on 5 oktaavia, ja midi-liitäntäkin löytyy, joka oli tuohon aikaan varsin uusi keksintö. Valmiita soundeja on 32 ja ne ovat kiinteitä, ei ole minkäänlaista editointimahdollisuutta niille. Lisäksi niitä itse tehtyjä rytmejä voi tallettaa massamuistina toimivalle kasettinauhurille (siis mikä tahansa ulkoinen kasettinauhuri, keyboardissa on vain liitännät). Tämä tuntui olevan Yamahan yleinen tapa tuohon aikaan, USB-tikku oli vielä keksimättä.

Tällä on pikkuveli PSR-60, jossa on käsitykseni mukaan sama elektroniikka, mutta siinä on 4 oktaavin koskettimisto ja eri kotelo. Käsitys perustuu tähän piirilevyltä löytyvään merkintään:

PSR60 70.jpg

PSR-80, josta mm. EEVblogin Dave on tehnyt teardownin, on sisäisesti aivan eri laite.

Tässä vähän kuvausta ja valokuvia: https://reverb.com/uk/item/157759-vintage-yamaha-psr-70-electronic-keyboard-midi-1985-great-sounds-portable

Alkuperäinen manuaalikin löytyy: http://www.synthmanuals.com/manuals/yamaha/psr-70/owners_manual/psr70e.pdf

Joku on saanut aikaan musiikkiakin tällä: https://www.youtube.com/watch?v=f2-k0IqwH5k Ja tehnyt jopa sample packin: https://www.youtube.com/watch?v=vDYm8zYRW50 (Sample pack on PSR-60:sta).

Kokeiluja

Vastoin Daven ohjeita kytkin laitteen päälle ennen sen avaamista. Hintaan ei sisältynyt minkäänlaista poweria ja lisäksi thjt:n kokemus oli, että se kyykkää powerin joka tapauksessa, niin syötin sitä varovasti labrapowerilla virranrajoituksen kanssa. Se haluaa 9-12V DC:tä, mutta en huomannut, että se olisi virtaa halunnut mitenkään kohtuuttomasti. Sitä menee kyllä 300...400 mA, mikä on aika paljon siihen nähden, että siinä on myös paristoille paikka, mutta sisältä löytyvällä elektroniikkamäärällä se on ihan järkevä virrankulutus. Epäselväksi jäi, miksi se aiemmin oli toiminut huonosti, koska tuon suuntaisia oireita ei ole ollut nyt pidemmänkään kokemuksen jälkeen lainkaan.

Joten hetken testailtuani totesin olevani täysin toimivan PSR-70:n onnellinen omistaja. Koska tuo ei nykystandardeilla ole soittimena kovin kaksinen, niin sitten seuraava kysymys olikin: voiko tätä hakkeroida? Voisiko tästä tehdä jotain hauskaa tai jopa tarpeetonta? Sitä varten pitää tietysti tehdä

Kurkistus sisuskaluihin

Laite ympäri ja alakannen lukuisat ruuvit auki. Sisältä paljastuu aikamoinen määrä elektroniikkaa:

PSR70 interior view.jpg

Tämä näky on ihan toista kuin nykylaitteissa: siellä on se piirilevy jossain nurkasssa ja sen keskellä iso custom-BGA-piiri, joka tekee kaiken. Sellaisessa ei ole oikein mitään kiinnostavaa. Tähän voisi jopa päästä sisällekin. Yamahakin kyllä harrastaa custom-piirejä, mutta ne olivat tuohon aikaan vielä jotenkuten hallittavia.

Keskellä näkyvä iso piirilevy sisältää keskeiset osat elektroniikasta ja sen irrottamalla pääsikin nopeasti näkemään oleelliset reunaehdot hakkerointiprojektille:

  • Ääntä tuottaa Yamahan YM3806 eli OPQ-piiri, joka on 8-kanavainen 4 operaattorin FM-syntetisaattori. Suunnilleen tämän verran siitä löytyy tietoa internetistä.
  • Rummut tulevat Yamahan YM2154-piiristä, joka on sample-pohjainen piiri. Tästäkään ei löydy juurikaan tietoa.
  • CPU on NEC:in D70008, joka ihan puhdas Z80.
  • Softa on yhdessä 32 kB EPROMissa (27256), eli helposti luettavissa.

Aluksi olin että blääh, täysin dokumentoimattomat äänipiirit, eihän tuosta mitään pysty tekemään. Sitten alkoi ajatus itää: jos dokumenttia ei ole, se pitää kirjoittaa. Ehkäpä tuosta saisi kaivettua, miten noita piirejä ohjataan. Ohjelmointiympäristö ainakin olisi kohtuu tuttu, kun ollaan Z80:n kanssa liikkeellä.

Siinä vaiheessa tämä alkoikin muuttua reverse engineering -projektiksi, joka sitten veikin mennessään. Nyt tämän kanssa on istuttu pitkiä iltoja, ja OPQ-piiri alkaa olla hallussa. Mutta ei mennä asioiden edelle, seuraavilla sivuilla on vähän tarkempaa kuvausta monivaiheisista seikkailuistani käänteisinsinööräyksen ihmeellisessä maailmassa.

Tähän sisällysluettelo jatkosivuista