Notes About The U‑20 EPROM And MASK ROM
28-Pin MASK ROM v2.00 For The U-20

28-Pin MASK ROM v3.03 For The U-20

I was very surprised to find that both my U‑20 and U‑110 ROM IC's were soldered directly onto the PCB and not socketed. Yipes!!! This change by Roland was made to cut production costs which was a horrible decision for techno geeks like myself who like to make backups of synth firmware and help other synth owners upgrade to the latest and greatest version. I've discovered that firmware ROM's installed on most U‑20 synths are not EPROM's but are instead MASK ROM's and you can't copy the binary code and burn it onto a regular EPROM the standard way (I'm currently exploring ways to do this)

The Good News: If your U‑20 has a MASK ROM, the electron data will not deteriorate over time like a regular EPROM

The Bad News
If your U‑20 firmware is v1.x or v2.x, upgrading your firmware is nearly impossible. It would require unsoldering the old IC, figuring out a way to read a v3.x MASK ROM and burning it

Midway through production, Roland changed their manufacturing process for the U‑20 and U‑110. Earlier U‑20 models with v1.x operating systems (and possibly some earlier models with v2.x) use a 32‑pin socketed OTP EPROM for IC #8 (P/N: M5M27C100P). Later U‑20 models with v2.x and v3.x use a custom Roland 28‑pin MASK ROM for IC #8. From looking at the silkscreened part numbers, I'm assuming this IC was manufactured for Roland by the Sharp Corporation and is actually a Sharp CMOS 1M (128Kx8) MROM P/N: LH531000B. This new IC is soldered directly onto the Main Board  :^(

If your U‑20 is an earlier model v.1x with a 32‑pin OTP EPROM, to my knowledge, the only way to upgrade your operating system to v2.x or v3.x is to purchase a new MASK ROM from Roland, find a used U‑20 Main PCB with a newer version IC #8, or find a loose U‑20 MASK ROM. Likewise, the only way to upgrade a v2.x operating system to v3.x is to somehow find a new v3.x U‑20 MASK ROM. Unlike a normal EPROM, these MASK ROM's were manufactured exclusively by Roland and have "Roland" part numbers and version info silkscreened on the top. So... 25+ years later, I would imagine these are nearly impossible to source (see the U‑20 INFO page)

The bottom line is, if your U‑20 or U‑110 has a 28‑pin MASK ROM which is soldered directly onto the Main PCB, you can't read and burn a new one easily. If your U‑20 has a 32‑pin OTP EPROM, you can read it and burn a replacement. However, you will still be stuck with an older, buggy v1.x or v2.x version but... at least you do have some kind of a backup to rely on

Note: Some of this info is speculative because my U‑20 firmware is v3.03 and I don't have access to a U‑20 with a v1.x or v2.x IC on the Main Board. However, I feel that this info is accurate because my U‑20 Main Board assembly (P/N: 22925735-01) matches exactly with the part number found in the U‑20 Service Manual. The Main Board shown in the U‑20 Service Manual uses a 32‑pin OTP EPROM for IC #8 (i.e. The 32‑pin OTP EPROM and 28‑pin MASK ROM appear to be interchangeable on the Main Board even though the number of pins are different. See the Service Bulletin and Extra Notes below re: a new resistor and a jumper for this to work)

If you have an older U‑20 with a 32‑pin OTP EPROM or have any additional info about IC #8 and MASK ROM's, please send me an eMail. I try to keep my webpages updated with accurate info. Thanks!

(click for larger image)

Update: September 2017

A recent find on eBay yielded a NOS U-20 Mask ROM from a Roland Authorized Service Center

As a bonus, inside the antistatic bag was a page with Roland Service Bulletin #100400‑2 explaining the proper procedure for updating a U‑20 with a new Mask ROM. Another interesting development this month... the final firmware for the U‑110 (v2.03) was just uploaded and is now available at dbwbp.com

Update: May 2018

The final firmware updates for the U‑20 (v3.03) and U‑220 (v1.02) were just uploaded and are now available at dbwbp.com

(click for larger image)
Update: September 2018

I was able to make a custom EPROM DIP adapter for a U‑20 MASK ROM to plug into my TL866CS reader/burner. I successfully read the firmware from a U‑20 MASK ROM and verified it worked by comparing the firmware code to the version available at dbwbp.com

The adapter shown on top reads a 28‑pin U‑20 MASK ROM. The adapter on the bottom has not been tested yet but its goal is to burn the U‑20 MASK ROM firmware onto a more commonly found 32‑pin EPROM

Extra Notes:

The documents below were taken from very old synth group posts back in 1992 and 1996. I'm quoting these exactly as I found them. The instructions make mention of an extra jumper wire which needs to be added at R23 and a resistor which needs to be removed at R24. I have verified that U‑20 Main Boards with firmware v2.x and v3.x do in fact have these mods. One would assume that upgrading from firmware v1.x to v2.x/v3.x would require these mods since the Service Manual schematic does show a resistor at R24. Unfortunately, the original poster does not include any notes from Roland re: the actual EPROM replacement (EPROM part number / exact version / # of pins / etc...). Also confusing is the fact he states the upgrade is from a ROM to an EPROM. Apparently, Roland sent him an EPROM and not a MASK ROM for his U‑20 firmware upgrade?!? Anyway, I'm including these for completeness in the event anything might be useful for someone attempting a U‑20 ROM upgrade. I can also confirm that as stated below, the extremely thin traces and eyelets on the Main Board are easily damaged unless extreme care is exercised when unsoldering the ROM IC (or anything else on a U‑20!). There are also instructions for an Aftertouch mod included but be aware that I have not attempted this fix and have not verified if it actually work or not

O F Pedgley 23 February 1996

The original of this text file is available somewhere on the 'net, but I can't 
remember where.  It is certainly very useful and so I have modified it
slightly and placed it on the U20 home page.  It was originally written by
Petri Launiainen in Finland, posted to rec.music.synth.

Anyway, happy reading...


So here's the summary of U20 version differences and aftertouch modification.
Didn't get much help from the net this time, but the local Roland repair centre
(Studiotec in Helsinki) helped me with patience (and they also got their reward-
see below :).  But the net has helped me many times before, so it's time to give
something back.  Enjoy.

[Disclaimer: this information worked with my U20.  It may or may not work with
yours.  Don't blame me for anything that might or does go wrong and causes

A short summary: let some qualified repairer change the ROM if it is soldered to
the board.  The line widths on the main board are so narrow that it's very hard to
change ROM successfully in this case.

If it is an EPROM, then the toughest part is to open all the screws before
changing it.  And you have to open them anyway to see whether your U20 has
ROM or EPROM inside.

The battery is socketed and resides on the main board, so follow the instructions
below if you are changing it too.

Aftertouch modification is simpler, but as I didn't want to experiment with fixed
resistor values too much, you should be familiar with variable resistors if you
want to do it the way I did it.

U-20 Versions
Seems like the oldest version is 1.03.  Next out is 2.00 and is dated Aug 4, 1989.
The newest I found is 3.03, dated Dec 22, 1989.  Here's a summary of the
information sheets:

Problems of 1.03 that are fixed on 2.00
Problem with effect chip initialisation corrected (almost).  Looks like you 
can get spurious noise or no sound at all sometimes when you select patch 88
with 1.03 ROM.

Rhythm part did not change level when MIDI volume was received.

Key range settings were non-inclusive on 1.03.

Key velocity ranges were set with min and max values on 1.03.  This is
changed to offset (lowest value setting) and sensitivity (how steeply the
velocity will rise) on 2.0.

Problems of 2.00 that are fixed on 3.03
Still problems with effects chip initialisation, but the service sheet says
it 'seldom happens'.

Parts 1-6 don't always recognise poly aftertouch (on what conditions this
happens is not told in the service sheet).

When a tone is using two voices (as in 'velocity mix' or 'detune') and it is
assigned to 'Rhythm Inst' (don't know if this should mean 'Rhythm Part'), 
the level of the two voices will get unbalanced.

Even when a voice in a rhythm part has stopped sounding, it is not released
from the part.

Buffer overflow might occur during MIDI sysex receiving.

Volume level 0 is not totally quiet.

New parameters that are added in 3.03 are:

-RX Volume, RX Pan and Rx Hold can be set on/off for each part
-Level Boost for rhythm part is added

Also when Keyboard tested the U20, they also noticed that MIDI response
times are much better in 3.01 (probably they got some internal test ROM
at the time) than on 1.03.

Test Mode
[Warning: going into Test Mode does a 'soft reset' to U20.  Some of the
MIDI and global parameters are set to default values after visiting the mode.
Nothing drastic, though.]

You can check your ROM version by setting ROM PLAY mode (press
PART and RHYTHM together) and then press JUMP and MARK and
ENTER while they are down.  Now you get the test mode display that states
the ROM version and date.

To get out of test mode, press JUMP and MARK and EXIT while they're
down, or turn off the U20.

What to do in Test Mode

JUMP + BANK1:	LCD contrast test, using pitch bender
JUMP + BANK2:	Blinks all LEDs in sequences, speed adjusted with
JUMP + BANK3:	Starts internal RAM test that probably screws your
		U20 up badly
JUMP + BANK4:	RAM card test
JUMP + BANK5:	PCM card test
JUMP + BANK6:	Internal PCM ROM test.  Outputs letters A-E if OK.
JUMP + BANK7:	Allows key tests, buttons, pedal input, PCM card
JUMP + BANK8:	A/D converter test and is very useful if you're trying
		out the aftertouch modification (see below).  Here
		you can really see how hard it is to get 127 out from
		aftertouch without the modification.  This tests also the
		bender and modulation sensor
JUMP + NUMBER1:	Same as above, but tests C1 and C2 levers and external
JUMP + NUMBER2:	MIDI I/O test.  Connect MIDI IN to MIDI OUT with a 
		cable and data flow is presented visually
JUMP + NUM3-6:	Produce various waveforms to hook up to an
		oscilloscope on left output
JUMP + NUMBER7:	Initialise memory.  This is a goodbye to all your data
		and needs the next step to get your U20 back on its feet
		again. It might or might not read sysex after this- try
		it at your own risk
JUMP + NUMBER8:	Expects you to insert the factory preset memory card
		and loads factory presets from the card into the
		internal memory.

Changing the ROM
When I got the new replacement EPROM I opened up the machine and
noticed my U20 had a ROM soldered to the board.  The specs I got
with the EPROM stated that of the change is from ROM to EPROM, also
R24 must be removed and a jumper must be added to R23 on the board.
As I considered myself pretty fluent in removing chips from boards, I put 
my soldering iron on and started working.  It was almost midnight, but
what the heck...  It looked like I got the ROM out OK and put the jumper
in place.  So I soldered in an IC socket, put the new EPROM on board and
closed the machine.  When I fired it up at 1:30AM, the machine was plain
dead.  At 3:00 I gave up and went to sleep.  Next day I sent it to the very 
friendly guy at Studiotec in Helsinki.  He got it up and running again against
a decent hunk of money of course-  I had busted two of the very thin leads on
the board during the ROM removal.  So here's my warning: if you find out 
that your U20 does not have a socketed EPROM inside, don't do it yourself
except if removing IC's from dense boards is your everyday business.  It
will cost you time and money.  The ROM is marked as IC8 on the board.

Aftertouch Modification
I got better response to aftertouch with this next procedure.  There may 
be simpler ways for doing this, but using a variable resistor gives total 
control to the amplification level.  To open the U20, pull off slider knobs
(if you're planning to do the aftertouch mod- no need to do this with ROM/
Battery change) and turn over the U20.

Open all back panel screws.  there's only 20 of them. :)

If you're changing ROM (or battery- it's on the main board *and* it's
socketed) you must take out the MIDI board first and then open all the screws
that are on the main board (in the middle of the machine).  When screws are
removed, you must take away the plastic/aluminium shield and turn around the

The Bender Board
At first it seems like it would be possible to take away the Bender Board
without much fuss.  This is not true- you have to open the four screws of the
audio I/O card and flip it over to get room for operation.  You must first
detach the CN3 connector cable that comes from the bender board.

Under the audio card, you'll find two flat cables that go to the bender board
(red and white).  Pull them lightly- there's some extra length that can be used
to ease up the removal of the board.

There's a two-wire cable from sensor that comes to a holder right above the
bender board.  Open the screw that holds the holder.  Be careful with this cable
-it doesn't look very sturdy.

Remove the four screws of the bender board.

Open the connector that has the cables coming from pitch-bender attached
to it (many separate coloured wires).

Now the bender board is well loose and you can flip it over.  The only thing
to be worried of is the cable from the pressure sensor.  Twist the black cables 
so that you can turn it around safely and search for resistors R13 (12K) and
R9 (18K).  These define the amplification factor for pressure together with
R11 and R10.  According to specs that I got you should only change R13
*and* R9 and keep their values proportional to the R10 and R11 values as
follows (but see below):

R13	R9			12	18
---     ---     originally:    ---      ---           = 0.12
R10	R11			100	150

I changed them to 22K (R13) and 33K (R9), which gives an amplification
factor of 0.22- almost double the original.  After soldering all up and booting
the thing I set the U20 to test mode and selected JUMP + BANK8.  And the
response to aftertouch was actually much better: it was simple to get 127
without crushing one's fingers.  But there was also a minor problem: the U20
now sent aftertouch value 16 as the minor value!  There was no way to get a 
zero value out of it.  So I took a better look at the schematics, and the circuit 
that was used for pressure sensor amplification looked a lot like a standard
op-amp circuit to me.  R11 (150K) was used for negative input, and so I
re-opened the U20 and changed the R11 to a combination of 47K resistor and
a 100K precision variable potentiometer ( I just didn't want to do it a third
time), repackaged all boards and ran the A/D test again.  Now it was simple to
adjust the no-pressure level to zero value.  Then I put the back panel back on 
it and tried it.  Still worked just fine.

It seems that it's not too simple to find fixed resistor values that don't mess 
up the no-pressure level *and* get a good aftertouch response at the same time
without a variable resistor.  With the additional variable resistor in place, you 
can easily adjust the no-pressure level, and the other resistor changes described 
above produce a nice aftertouch response.  So if you are ambitious enough and 
know how to handle a soldering iron- go ahead.  The line widths on the Bender
 board are very wide ('home hobby level') and hard to break.

The ROM change didn't succeed in the first place (which really hurt my ego :-), 
but the aftertouch modification gave me faith again.  And as I bought mine second
hand, the extra money that went into the repairing of the main board didn't hurt
so much. But as I check the clock on the wall, it's 2:20AM again, so it's time to 
get some sleep...  If you have read all this, I sincerely hope that you got
something out of this.


In an earlier forum post by by Petri Launiainen in 1992, this next post clears up the
"before & after" firmware versions which were left out of the later post;

Petri Launiainen - 06/05/1992

You get the U-20 ROM version number display by pressing the following sequence:

- Set into ROM PLAY mode (PART+RYTHM)
- Hold down JUMP and MARK and press ENTER simultaneously
- ROM version and date are displayed and test mode is entered: I know
  nothing about the tests available, and KEYBOARD suggested that it's
  not worth foolin' around...
- Exit by holding down JUMP and MARK and pressing EXIT

Notice that this makes some kind of soft reset to the machine
(at least mine comes up with local control back to ON position
plus a couple of other changes on JUMP pages 1 and 2 after
this check: No, it won't wipe your presets, though :-)

I have 2.0 ROM, and the local Roland repair center sent me 3.03.
(Don't know whether this is *newest*, but it is *newer* than my
current one - they call all kinds of things *newest* around here :-)

I recently bought this used U-20, and have later noticed, that
it seems to loose it's marbles after heavy MIDI load and won't
recognize pitch bender anymore.  As it always comes back to it's
senses after flipping the mains switch, it smells a lot like software
problem to me.  I didn't see the bulletins that mentioned all the
fixes in the new ROMs, but the guy at the repair center said that
'plenty of them concerned the MIDI implementation'.  KEYBOARD (Jan
1990) noticed differences in MIDI response time between releases
1.03 and 3.01, so probably something is fixed.  As it costs just
the ROM (1 Mb CMOS EPROM), I thought that this is worth trying,
because usually when initial number is changed, the changes are
considerably large.

Nobody seems to know about the aftertouch mod - still waiting ...


All images, text, JavaScript and HTML Code ©1995- by llamamusic.com

BACK_ARROW  Back to the U-20 INFO Page
BACK_ARROW  Back to the Synth & Sampler Binaries Page

llamamusic.com - Roland Mask ROM Info