Question Reading Old Yamaha Disklavier Floppy Disks

sulphateiguana

Prominent
Aug 28, 2023
14
1
515
I have a large collection of old floppy disks used in a Yamaha Disklavier MX100II. These floppy disks store MIDI files (which the piano plays) and sometimes music files (typically WAV format) that are played out the speakers. I've had good luck with probably 60% of these disks using a handful of purpose-built tools (see links below).

However, I have a collection of old floppy disks that cannot be read by a computer, although they still play just fine in the Disklavier. Given that they play in the Disklavier itself, I don't think they're corrupted.

Failing to be able to read them at all, I used a Greaseweasel F7 Plus to make SCP files — magnetic flux readings of the disks. I've got all of those files collected here: https://mega.nz/folder/tgY2HAyZ#g9mMWiHoKUnvR0-4aqNIFA.

I would love advice about what I can do with these files if anybody has experience with reading these. As I understand it, Yamaha removed superblocks from the disks as a form of primitive DRM protection, but I have no idea whether that's the actual case.

(As a note for posterity, these are technically protected files, not for sale or sharing, so if these scans prove to actually be readable I'll remove the link and directory.)

One tool for reading old player floppies: http://www.kinura.net/ppfbu/
A Hack-A-Day article on these floppies: https://hackaday.io/project/164793-hacking-yamaha-disklavier-floppies/
Another article on these floppies: https://www.alexanderpeppe.com/disklavier-floppy-backups/
 
Were you able to obtain a sector-by-sector dump of any diskette with any of your tools?
Other than the SCP files / Greaseweasel scans, I wasn't able to get any software to acknowledge the disks.

I can convert those SCP files to other files types using the Greaseweasel tools (IMG, IMA, HFE, etc), but I don't really know what the proper format is (apart from IBM of some type).

I haven't been able to convert them with keirf/disk-utilities to any other filetype, as the disk-analyze tool reports the SCP scans as unformatted: (** WARNING: 160 tracks are damaged or unidentified! )

I'm certainly willing to scan the disks with a different tool.
 
I thought Greaseweasel was open source, but I can't find any documentation that explains the structure of the SCP files. :-?

Edit:

I have an idea for an IBM formatted 3.5" test diskette which we could create and then subsequently read with Greaseweasel. This would enable us to understand how the flux transitions are recorded in the SCP file.

For example, I propose to create a test file with fixed data patterns which we could write to a diskette using Linux dd or DMDE in Windows (Tools -> Copy Sectors). The first track could consist of all zeros (0x00), the second track would be all ones (0xFF), the next tracks would be alternate ones and zeros (0xAA and 0x55), and then we could write sectors filled with 0x00, 0x01, 0x02 ... 0xFF.
 
Last edited:
As far as the music on the floppies you said will play back on the Disklavier you could get a speaker level to line level adapter and play the music, run it through the adapter to your computer and re record it with Audacity. As far as the stuff on floppies that play on piano not my expertise.
This should be a simple gotek or hcx with the correct firmware so it should be possible to do this cheaper but I guess this one should just work ? I have no personal experience, I would look into it.

If your keyboard has midi out it would probably be a better idea to find a midi card for PC and just record the midi.

https://www.amazon.com/Nalbantov-Floppy-Emulator-Yamaha-Disklavier/dp/B07DNW5K1H
Setting up the Disklavier to feed a MIDI out and audio out to a computer, save the result, and then feed it back onto a floppy emulator like the GoTek / Nalbantov is a viable solution. Not a particularly elegant one, but a viable one!

(The Nalbantov software appears to use HxC for putting songs onto the floppy disks, and HxC can't read the SCP files. So using the Disklavier to output the MIDI and audio tracks is an absolutely necessary step.)

I thought Greaseweasel was open source, but I can't find any documentation that explains the structure of the SCP files. :-?

Edit:

I have an idea for an IBM formatted 3.5" test diskette which we could create and then subsequently read with Greaseweasel. This would enable us to understand how the flux transitions are recorded in the SCP file.

For example, I propose to create a test file with fixed data patterns which we could write to a diskette using Linux dd or DMDE in Windows (Tools -> Copy Sectors). The first track could consist of all zeros (0x00), the second track would be all ones (0xFF), the next tracks would be alternate ones and zeros (0xAA and 0x55), and then we could write sectors filled with 0x00, 0x01, 0x02 ... 0xFF.
This sounds like an interesting project! However, Keir Fraser (who wrote the disk-utilities tools that convert SCP files) looks relatively approachable: https://www.facebook.com/groups/2537777852974487/user/639034121/. I've asked him for more information. If that doesn't yield results, I'll figure out how to create such a floppy disk!
 
I have generated a test file here:

https://ufile.io/yqm4hto5

You can view it in a hex editor, eg HxD (freeware):

https://mh-nexus.de/en/hxd/

You can write this file to an IBM formatted diskette in sector-by-sector mode using DMDE (freeware disc editor):

https://dmde.com/

Select Tools -> Copy Sectors.​
The source is the test file.​
The destination is your FDD.​

I don't have a floppy drive to check this procedure, but I think it should be OK. DMDE will ask for confirmation before writing anything.

The structure of the test file is as follows:

80 tracks​
18 sectors/track​
2 heads​
track 0, head 0 -- all 0x00 -> 0b0000 0000​
track 0, head 1 -- all 0xFF -> 0b1111 1111​
track 1, head 0 -- all 0x01 -> 0b0000 0001​
track 1, head 1 -- all 0x80 -> 0b1000 0000​
track 2, head 0 -- all 0xAA -> 0b1010 1010​
track 2, head 1 -- all 0x55 -> 0b0101 0101​
track 3, head 0 -- 0x01, 0x02, 0x04 ... 0xFF​
etc​