Roland W-30 Information
This is my little trove of technical information on the
Roland W-30 Music Workstation.
Contents
Floppy Disk
Here are details regarding the structure of W-30 floppy disks and the
floppy disk hardware.
DISK FORMAT
This information is based on that of Marc Resibois (mr@nit.be), from
January 1995
The basic format is:
Sides | 2 |
Density | double |
Sectors per track | 9 |
Bytes per sector | 512 |
Tracks | 80 |
This sets the maximum capacity of each disk to:
512 * 9 * 2 * 80 = 737,280 bytes (720k)
The byte offset figures are derived from the disk images created by
SDISK. This appears to store the data as track 1, side 0, track 1, side 1,
track 2, side 0, track 2, side 1, etc. The following formula converts disk
coordinates into byte offsets:
byte offset = 4608 * (2 * track + side) + 512 * (sector - 1)
Where:
- side
- 0,1
- track
- 0..79
- sector
- 1..9
TONE PARAMETERS
Location: Side 1, Track 7, Sector 1->8 (byte offset 0x10E00)
128 bytes per tone ... should be pretty much like the S-550
TONE DIRECTORY
Location: Side 1, Track 7, Sector 9 (byte offset 0x11E00)
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, otherwise 0 |
11 | 1 | Rate flag | 1 if rate=15khz, 0 if rate=30kHz |
12 | 1 | Org key | Key where sample is recorded (midi number?) |
13 | 1 | RAM # | 0 if RAM A, 1 if RAM B, 2 if unused |
14 | 1 | Data position | Used to determine where the sample data starts (0..17) |
15 | 1 | Data size | Number of data blocks (1..18) |
There is room for 32 tones in the tone directory, and hence 32 separate
samples on each disk.
SAMPLE DATA
Location: Side 0, Track 8, Sector 0 (byte offset 0x12000).
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 = 1
And is in the following order :
It is stored in chunks of 12,288 samples (18,432 bytes), with each unit
made of 2 tracks. This gives:
2 tracks * 2 sides * 9 sectors * 512 bytes per sector = 18342 bytes.
Since the samples are 12-bits, 2 samples are stored in 3 bytes:
Byte |
1 |
2 |
3 |
Nibble |
H1 | L1 |
H2 | L2 |
H3 | L3 |
---|
The two samples values are then assembled as:
Sample |
1 |
2 |
Nibble |
H1 | L1 |
H2 | H3 |
L3 | L2 |
At the higher sampling rate (30kHz) this is equivalent to 0.4096 seconds,
or 0.8192 seconds at the slower rate (15kHz).
The largest sample size is 18 blocks, which equates to 7.2 seconds of
high-rate data, or 14.4 seconds of low-rate data per RAM bank. In total,
14.4 seconds of high-rate data can be stored per disk, split between the two
RAM banks.
DISK FILES and the PC
The influence of the great WWWeb means there are now several sites
carrying W-30 disk images, for both the OS and sound/patch disks.
Unfortunately, the W-30 does not use a DOS-style disk file system, so DOS
cannot read or write these disks directly. So how do we read or write W-30
disks on the PC?
The answer which is most often quoted is to use one the several disk
image transfer programs. Roland supply one program -- SDISK -- that
wil accomplish this. There are several others. But, all these programs are
either DOS or Windows programs, and require you to interact with them in
some way. Tedious...
Enter Linux (my main desktop operating system). Fortunately, the disk
images generally available are direct sector dumps. Which means we can use
the Linux dd utility to do a direct binary transfer of the image
file to a formatted 720k disk. The following command will do this directly:
dd bs=512 if=filename of=/dev/fd0D720
You need to supply filename, the name of the W-30 image file
you've just downloaded (or from an archive, or whatever). The
if= specifies this as the in-file. Conversely, the
of= specifies the out-file; in this case the device file
associated with writing to floppy disk 0 at double-density 720k format
(hence the name). Finally, we tell dd the block size with
bs=512. Run that and wait.
When completed, dd prints out the number of blocks read
(1,440) and the number of blocks written (1,440). Done.
DISK DRIVE
The original disk drive in the W-30 is a Chinon Model FX-354 (well, it is
in mine anyway). But, like any mechanical component, it wil eventually
fail. Which leaves three options:
- Buy a replacement drive from Roland
- Refurbish your old drive
- Find an alternative
Apparently, the Roland option is expensive, but at least you're
guaranteed a manufacturer-approved model.
The second option is only
available if you know a company who does this sort of thing.
The third option is probably the most viable these days. You can either go
to a specialist company selling drives specific to the W30 (e.g.,
Route 66 Studios).
Or you can hunt around for a replacement yourself.
Lars
Esser has found a compatible drive in the Teac FD-235HF-A259, and it
also has a black front panel.
Apparently the two main problems with
standard PC drives are that they are hardwired to Drive Select 1 (drive A:)
and they generate a disk change signal instead of a ready signal. Either a
drive which allows you to change this, or modify the drive cable
accordingly. The Casio FZ-1 also has this issue -- there's more information here which goes
into considerable detail about the differences between the PC-style disk
interface, and the traditional Shugart-style disk interface, and how to
connect the two together. Its actually a very good site, with lots of other
useful information too! Browse around the other pages (especially the
Ensoniq ones).
Lars has provided further clarification of the W-30's disk drive
requirements. Apparently, normal PC floppy drives (especially all drives
you can buy in the stores these days) do not work because of the following
two reasons:
- They are fixed to Drive Select 1 -- drive B: in a PC. A twist in
the drive cable then makes them appear to be drive A: A W-30 drive is
the opposite -- it would look like drive A: untwisted and drive B:
twisted. The correct connection would then be to use a twisted cable
with a PC drive, i.e. use a standard PC drive cable with the twist in
it. These cables should be easily available from any computer shop.
- Pin 34 is the DISK CHANGE signal. The W-30 has DISK CHANGE at pin 2
and READY at pin 34, so you need to move the drive's pin 34 to pin 2 for
the W-30.
These things can be set by jumpers on the mentioned TEAC Industrial PC
drive, and has been proven to work in a W-30.
Modern disk drives do not have any jumpers left. You might be lucky
and find a PC-drive from the early 1990s or even earlier where the 3.5-inch
floppies were drive B: Some of those early drives had jumpers to set things
like Drive Select and RC/DC-Signal.
The Pin 34 and Pin 2 problem could be solved by different wiring. The
remaining problem is the Drive Select 0/1 issue.
If you do need a replacement then I suggest trawling through eBay and
similar -- in the last few days there have been a few Teac drives on eBay,
so they are out there!
FLOPPY DISK CONTROLLER
The floppy disk controller (FDC) in the W-30 is a Western Digital WD1772,
the same controller as used in the Atari ST, Ensoniq SQ80, the Commodore
1570/1571 and 1581 disk drives, the Acorn BBC and Master series computers,
and Andre Fachat's CS/A65 6502-based homebrew computer system.
WD177x datasheet (1.7MB)
Hack: the standard 1772 circuit uses an 8MHZ clock (its only
rated up to 10MHz) and handles 720k-capacity double-density disks. But,
apparently (according to the ST/STE guys) the "02-02" versions of the FDC
can be overclocked to 16MHz, which then allows it to handle higher density
1.44M disks. But, this needs to be switched back to 8MHz for double-density
disks. Guess which version of the chip is in my W-30? Go on, guess!!
:-)
Its pinout is shown below:
.
|