Ero sivun ”Yamaha PSR70 reverse engineering” versioiden välillä

Kohteesta Helsinki Hacklabin wiki
Loikkaa: valikkoon, hakuun
Rivi 12: Rivi 12:
 
=== Taustaa ===
 
=== Taustaa ===
  
Tämä projekti alkoi vähän yllättäen tästä Slackin #musiikkiteknologia-kanavan viestistä:
+
Koko projekti alkoi vähän yllättäen tästä Slackin #musiikkiteknologia-kanavan viestistä:
  
[[Tiedosto:slack.png|400px|thumb|left]]
+
[[Tiedosto:PSR70-slack.png|800px|center]]
  
 
Tuon varomattoman repliikin seurauksena tämän näköinen laite päätyi sitten täyttämään ennestäänkin ahtaita harrastustilojani.
 
Tuon varomattoman repliikin seurauksena tämän näköinen laite päätyi sitten täyttämään ennestäänkin ahtaita harrastustilojani.
  
[[Tiedosto:overview.jpg|400px|thumb|left]]
+
[[Tiedosto:PSR70-overview.jpg|500px|thumb|center]]
  
 
Kyseinen keyboard ei ollut minulle entuudestaan mitenkään tuttu, mutta ajattelin, että voisihan tuota vähäsen tutkia.  
 
Kyseinen keyboard ei ollut minulle entuudestaan mitenkään tuttu, mutta ajattelin, että voisihan tuota vähäsen tutkia.  
Rivi 30: Rivi 30:
 
tähän piirilevyltä löytyvään merkintään:
 
tähän piirilevyltä löytyvään merkintään:
  
(PSR60_70.jpg)
+
[[Tiedosto:PSR60_70.jpg|200px|thumb|center]]
  
 
PSR-80, josta mm. EEVblogin Dave on tehnyt teardownin, on sisäisesti aivan eri laite.
 
PSR-80, josta mm. EEVblogin Dave on tehnyt teardownin, on sisäisesti aivan eri laite.
Rivi 42: Rivi 42:
 
Ja tehnyt jopa sample packin: https://www.youtube.com/watch?v=vDYm8zYRW50 (Sample pack on PSR-60:sta).
 
Ja tehnyt jopa sample packin: https://www.youtube.com/watch?v=vDYm8zYRW50 (Sample pack on PSR-60:sta).
  
Kokeiluja
+
=== 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,
 
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  
 
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,
 
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ävä löytyvällä elektroniikkamäärällä se on ihan järkevä virrankulutus. Epäselväksi jäi, miksi se aiemmin oli toiminut huonosti,
+
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äkään kokemuksen jälkeen lainkaan.
+
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,
 
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ä
 
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
+
=== Kurkistus sisuskaluihin ===
  
 
Laite ympäri ja alakannen lukuisat ruuvit auki. Sisältä paljastuu aikamoinen määrä elektroniikkaa:
 
Laite ympäri ja alakannen lukuisat ruuvit auki. Sisältä paljastuu aikamoinen määrä elektroniikkaa:
  
(interior_view.jpg)
+
[[Tiedosto:PSR70_interior_view.jpg|1000px|thumb|center]]
  
 
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.
 
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.
Rivi 66: Rivi 66:
 
hakkerointiprojektille:
 
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ä.
+
* Ää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.
+
* 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.
+
* CPU on NEC:in D70008, joka ihan puhdas Z80.
- Softa on yhdessä 32 kB EPROMissa (27256), eli helposti luettavissa.
+
* 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,
 
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,
Rivi 76: Rivi 76:
  
 
Siinä vaiheessa tämä alkoikin muuttua reverse engineering -projektiksi, joka sitten veikin mennessään. Nyt tämän kanssa on istuttu pitkiä iltoja,
 
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 monivaiheisita seikkailuistani  
+
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.
 
käänteisinsinööräyksen ihmeellisessä maailmassa.
  
 
Tähän sisällysluettelo jatkosivuista
 
Tähän sisällysluettelo jatkosivuista

Versio 1. maaliskuuta 2020 kello 16.51


Yamaha PSR70 reverse engineering

Tyyppi: Reverse engineering
Tekijät: jari
Aloitettu: 2020
Tila: Kesken
GitHub: [PSR-70]


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