From lotus.uwaterloo.ca!sgroup-owner Fri Jan 20 04:35:15 1995 Received: from lotus.uwaterloo.ca ([129.97.140.9]) by watdragon.uwaterloo.ca with SMTP id <88170-3>; Fri, 20 Jan 1995 04:35:05 -0500 Received: from ub4b.eunet.be ([192.92.130.1]) by lotus.uwaterloo.ca with SMTP id <114>; Fri, 20 Jan 1995 04:26:05 -0500 Received: from nit.be (nit.eunet.be) by ub4b.eunet.be (5.65c/ub4b_06) id AA02360; Fri, 20 Jan 1995 10:27:28 +0100 Received: by nit.be (4.1/SMI-4.1) id AA11053; Fri, 20 Jan 95 10:17:25 +0100 Date: Fri, 20 Jan 1995 04:17:25 -0500 From: mr@nit.be (Marc Resibois) Message-Id: <9501200917.AA11053@nit.be> To: sgroup@lotus.uwaterloo.ca Subject: W30 disk structure... Status: RO Hi all ! Here is the beginning of the information on the W30 disk structure. As I had to go back into really old doc I wrote, some indications are missing. Basically, I did put everything that was needed to recover the samples from the disk. I think the tone/patch parameters structure must be quite similar to the one of the S-550 but I did not have the time to check... I did post only a small description text on the group. I will send to John Sellens a zipped file conatining the following : 1) Description Text ( the same ) 2) wdir.exe : print the tone directory of a Song and Sound disk 3) wget.exe : allows you to recover samples from the W30 disk. 4) winit.exe: transforms a formatted 720K disk into something writable by the W30 ALL SOURCE CODE IS INCLUDED ! Note that those program where not intended for wide use. There are pretty much hard-coded ( The samples are always translated in 8bit .wav files, the drive has always to be A: ,.. ) I might make them nicer in the future. I suppose John will post a note to indicate the zipped file availability/location. Enjoy, -+-> Marc. <100126,1007> ---------------------------------- CUT HERE ------------------------------------------ Structure of the W30 disk - Rev 1 - Jan 95 1) Tone Directory : Location : Side 1 Track 7 Sector 9 ------------------- 16 bytes per tone : Offset Size Field Remarks 0 8 Name 8 1 Output # Often 0 9 1 sub-tone # indicates the parent subtone number 10 1 sub-tone flag 1 if tone is subtone, otherwize 0 11 1 rate flag 1 if rate=15K zero if rate=30K 12 1 org key Key where sample is recorded (midi number?) 13 1 ram number 0 if RAM A, 1 if RAM B, 2 if unused 14 1 Data position Used to determine where the sample data is 15 1 Data size Number of 0.4 sec blocs the data is made of 2) Sample Data location : ------------------------- The location of the first tracks containing the sample data can be computed using the following formula : Track=8+2*(Data Position)+36*(RAM number) Side=0 Sector=0 And is in the following order : Track i+1 Side 0 Sector 1,2,...9 Side 1 Sector 1,2,...9 Traack i+1 Side 0 .. and so on It is stored in chunks of 0.4 sec. meaning that each size units is made of 2 tracks. 2 tracks= 2*2*9*512 bytes=18342 bytes. Since the samples are 12bits, you store only 2 samples into 3 bytes. The storing is made like this Take 3 consecutive bytes and split them into 4 bit parts Byte 1 Byte 2 Byte 3 H1/L1 H2/L2 H3/L3 The two samples values are H1/L1/H2 and H3/L3/L2 from each unit you should extract 18342/1.5 = 12288 samples. 3) Tone Parameters : Location : Side 1 Track 7 Sector 1->8 ------------------- 128 bytes per tone... should be pretty much like the S-550 I cannot find back my notes on this but I will probably update this text later Good luck, -+-> Marc. ---------------------------------- CUT HERE ------------------------------------------