Close
0%
0%

Yamaha PSR-70 reverse engineering

Reverse engineering a Yamaha PSR-70 keyboard, in order to write documentation for the YM3806 and YM2154 sound chips.

Similar projects worth following
The target of this project is to reverse engineer the PSR-70 keyboard hardware and firmware, and figure out how the sound chips are controlled at register level. PSR-70 contains two Yamaha custom sound chips, which have no datasheet or other documentation available:
- YM3806 (OPQ), a 4 operator, 8 voice FM synth
- YM2154 (RYP4), a PCM based drum sample player

Result of the project will be a programmer’s guide for both of the chips.

Yamaha PSR-70 is an arranger keyboard from 1985, with 32 fixed sounds and auto accompaniment with 16 rhythms. Keyboard is 5 octaves, no velocity sensitivity, no modulation or pitch wheel.

Although the keyboard is quite ascetic as an instrument, its sound chips are more capable than the user interface and the firmware enable. Here is a demo of Yamaha CLP-100, containing the same YM3806 as sound source. https://www.youtube.com/watch?v=24NF3rJSGHg

Because there is no documentation available for the sound chips, it needs to be written. That’s why this reverse engineering project exists. And of course, having fun with old electronics!


From the inside the device looks like this:

The big board in the center contains the essential components. By turning the board over it is quick to see the preconditions for the hacking project:

  • Sounds are produced by a Yamaha’s own YM3806, also known as OPQ circuit. It is a 4 operator FM synthesizer with 8 voices. This is about all internet knows about this IC.
  • Drum sounds come from Yamaha’s YM2154, or RYP4, which is a sample based drum chip. Not much is known about it either.
  • CPU is NEC D70008, which is a Z80 clone.
  • Fimware is in one 32 KB EPROM (27256) so it is easy to read out.

Current status of the project

  • Hardware has been reversed far enough to understand the basics, memory and I/O maps.
  • Program ROMs have been read out, disassembled and analyzed.
  • Various test programs have been written and can be run in the PSR-70 hardware using EPROM emulator.
  • Using information gathered in previous steps, a decent understanding of the OPQ and RYP4 chips has been gained.
  • Programmers guide V 1.1 for the OPQ has been written (file Guides/OPQ_ProgGuide.pdf).
  • Programmers guide V 1.1 for the RYP4 has been written (file Guides/RYP4_ProgGuide.pdf).
  • Drum sample ROMs have been dumped.

Current versions of the programmer’s guides: https://github.com/JKN0/PSR70-reverse/tree/master/Guides

A more detailed description of the reverse engineering project:  https://retroandreverse.blogspot.com/search/label/PSR-70%20reverse%20engineering

ROM dumps, disassembly listings etc: https://github.com/JKN0/PSR70-reverse

View project log

Enjoy this project?

Share

Discussions

amadkaled wrote 12/28/2021 at 21:00 point

معلومات قيمه جدا شكرا لجهودك الطيبه واتمنى ان يكون توظيح لجميع اجهزت اورجات ياماها

  Are you sure? yes | no

Retro Chipguy wrote 01/30/2021 at 10:56 point

Looking forward to updates to this project. These chips could be an interesting addition to my TX8 computer =)

  Are you sure? yes | no

JKN0 wrote 01/31/2021 at 07:37 point

Thanks for the comment. YM3806 is a capable sound chip, but unfortunately its availability is not good. YM2154 is more common but there is still some work to do with it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates