Announcement
Collapse
No announcement yet.
TR-505 Bending & rom Hacking
Collapse
X
-
TR-505 - new sound rom
So.. After magically happening upon a bent tr-505, with all the usual mods - the sequencer glitch, the resistor-replacement pitch (up only) mod, and some good dataline soundrom bends ( see http://www.burnkit2600.com/tr-505/ for all of this explained) i decided it was time to try and change the sound roms.. I want this thing to play the original .bins from the linndrum, and to go all AMEN BROTHER for me..
So, using the thinking at http://www.nekosynth.co.uk/wiki/RomHacker where the 626 roms were read, and with respect to the tr-707 usergroup on yahoo, and using the 505 service documents at burnkit to suss the pinouts, i have managed to dump the tr-505 soundrom. Well, partially.
I can see now why nekosynth left his software solution in source, and only able to decrypt the roms..
Firstly, i COULD compile the nekosynth app for windows, with Dev-c++ at www.bloodshed.net - you need to name your input file as 'out.bin' and the result generated is called 'dump.bin' after you run the commandline .exe the compile makes.. but, this is not much use, in case you were wondering
The tr-505 rom can be read using a loom.. I made a simple 'patchbay loom' using chipsockets and some board.. Looking at it from above, the chip sits in the middle socket, the sockets either side are jumped on one side to the chip in the socket, and on the outer side to the underside of the board, that has another chipsocket that fits into the burner.. So, if you were to jump the outer sockets like for like, the device would function as normal, but if you want to re-arrange where things go, you can. think about it. get it? good.
So, the reason You get garbage when you try and read the rom right off in a burner is because the address and ddatalines to the chip are scrambled. That is, D0 from the CPU does not connect to D0 on the romchip, same with the address lines - they are all mashed up. There are a few theorys as to why this is, but i think it was to save money. (more of this later)
So, to read it, you need to jumble the leads about a bit. this is the routing table:
Code:TR-505 Soundrom routing (TC531000AP-7453) ADDRESS LINES: AL# ROM PIN* EEPROM PIN A00 10 (12) 12 A01 2 (4) 11 A02 3 (5) 10 A03 4 (6) 9 A04 24 (26) 8 A05 23 (25) 7 A06 21 (23) 6 A07 8 (10) 5 A08 7 (9) 27 A09 6 (8) 26 A10 25 (27) 23 A11 5 (7) 25 A12 9 (11) 4 A13 26 (28) 28 A14 27 (29) 29 A15 1 (3) 3 A16 22 (24) 2 DATA LINES: DL# ROM PIN* EEPROM PIN D00 19 (21) 13 D01 18 (20) 14 D02 17 (19) 15 D03 11 (13) 17 D04 12 (14) 18 D05 13 (15) 19 D06 16 (18) 20 D07 15 (17) 21 *(brackets) = pin# if stock rom was 32 pin instead of 28 pin ROM PIN == pin on the stock Roland sound rom EEPROM PIN == the pin on any normal EEPROM that could be used as a replacement
Last edited by playthatbeat; Sun 25-04-2010, 3:18 PM.
Comment
-
If you download the zip of the bin i extracted, and open it in wavelab or audacity - you can see it is a 48k 8-bit mono sample. But, play it a few times.. anything sound odd? Yes, there are 8 sounds there, but each one sounds like 2 things playing at once!
Zoom in, you can see the lengths of the 8 hits are all typical for the era, but zooming in more reveals some fun - i think the rom uses interleaving to hold 2 sounds in the same romspace - so the playback engine would either play a section of the rom's EVEN or ODD bits at 24k, making it possible to double the sounds held in the space..
So, what this could mean is to make our own roms, with 16 sounds on tap, we are going to have to make 2 sets of 8 sounds at 24k, then burn them to the eeprom in 2 passes - 1 set in the ODD and 1 set in the EVEN, this should result in a workable rom. Maybe. I dunno, i haven't managed to burn anything readable back onto a rom yet.. needs moar thought..
But, to me It seems the ROLAND crew decided to play with the order of the slices of samples to expand the soundset and keep costs down. Not sure if the messed up routing to the rom is also a cost-cutting measure, or just an attempt at encryption, but i think this goes on also in the HR16 from alesis - so it's there we should look for inspriation on how to make the bin for a new rom i think..
Whatever, we can just bang in un-sliced 48k samples and let them appear twice in the soundset for a laff.. i expect the lower row of keys will just play the ODD bits of the same samples on the upper keys that would be playing the EVEN bits..
This all explains 2 things: the fact you cannot play certain sounds at the same time, as they must share a position in the rom, and most importantly, why this machine sounds so fuc*ing awesome when you interfere with the data and addresslines to the soundchip! Think about it, you are playing back every second sample in the rom when you trigger something, so jumbling timing and positioning will make for more radical sounds!
heh.
so, thats it, all i have worked out so far.. I will think hard about why i cannot burn a rom using the loom in it's current setting, (the process bombs during burning - 'EXPECTED 0FF - got 0EF' style crap == failure) - this is wrecking my head.. ffs.. (etc.)
Oh, before i forget, there seems to be no sign of the cymbals in the dump i made, so maybe i'm only dumping part of it? whatever, the setting for any of the TOSHIBA EEPROMS in their range work in the burner for ripping..
Oh, before i forget again, i have been using old motherboard flash chips (atmel at29c010a) for my prototyping - they have the same pin positions as 27c512 type eeproms, but don't need to bake in a fuc*ing UV oven before use - this is why i included the pin numbers for a 32 pin rom chip in the above table - it will help you visualize better
Oh, before i forget again again, you CAN rip the Roland rom to a .bin and burn it back onto something liek the atmel i mention above, and it WILL work, but who cares about copying the stock roms, this is about customization.. So, reading them into a .bin that can be opened in a soundeditor is the first step IMHO.. IF you read them with the traditional pinouts, you get hash. Nice hash, but hash all the same.
Also: kudos to the Burnkit crew for the inspiration and the service documents - which BTW lads are HORRIBLE resolution, near useless in fact... mebbe time for a hi-res scan? reading those pin numbers was horrible. in fact, some of them are guesses as the scan is so mushy..Last edited by playthatbeat; Sun 25-04-2010, 4:47 PM.
Comment
-
OK, just burned a custom Rom for the tr-505.. First thing You need to know is this is the 'translation map' for using an eprom in the 505, this allows you to make a loom with the correct routing to burn a chip..
Code:ADDRESS LINE MAP ROM EEPROM A00 A00 A12 A01 A07 A02 A08 A03 A09 A04 A11 A05 A03 A06 A02 A07 A10 A08 A04 A09 A06 A10 A05 A11 A01 A12 A13 A13 A14 A14 A15 A15 N/A A16 <- ignore this DATA LINE MAP ROM DL EEPROM DL D03 D00 D04 D01 D05 D02 D07 D03 D06 D04 D02 D05 D01 D06 D00 D07
Then, burn off an eprom of your sounds WITHOUT the loom.. Yes i know, it wont work in the 505, but we ain't done yet..
Put the eprom into the loom, mount it on the burner and read the rom. This will scramble the rom contents.. save the .bin you rip through the loom, then burn it to the eprom again, this time without the loom again.
heh.
it fuc*ing works.
ok, so we have issues with some samples being the wrong pitch, some buttons double with others, the hihats and cymbals are missing and some of the tuning on the samples is not uniform, but who cares.. we have defiantly written to the rom and the 505 loves it.
also: these are the sample pairings and the order they would appear in a romfile:
Code:SAMPLE ORDER IN EPROM 1365ms of 8bit 48k mono pcm unsigned, each chunk is 170ms, first 4 are normal, last 4 are interleaved. TIMBALE - LO TOM - HI TOM - MID TOM - KICK & LOW CONGA - SNARE & HI CONGA - CLAP & LO COW - RIM & HI COW
Last edited by playthatbeat; Sun 25-04-2010, 11:13 PM.
Comment
-
First little test of the test rom i have made for the 505 with some LM1, DMX and STOMPER samples, and the obligitory Snare from AMEN BROTHER..
Note: the hihats and cymbals are not working, and TBH i care not, although it would be nice to have them working and playing SOMETHING other then idle noises...
I recorded this from the headphone output, so pardon the noisefloor..
Also: attached the rough rom i used in it's editable state, and in it's encrypted state.. not sure how the filesize matches up to the original, i just filled the chip i had that was 1mbit (128k)Last edited by playthatbeat; Mon 26-04-2010, 12:34 AM.
Comment
-
Ok , so more attention payed to the construction of the rom this time.. This time: electric cafe samples sound so cuet in 8-bit all truncated and stuff, a STOMPER filter pulse, the obligitory LINN clap, together with some 808 Kick and Snare from my personal stash, and away we go..
Again, still only 64k of samples, and working the usual bends on the 505, along with a getlofi 1799 Osc on X2.
The .bin files attached are 128k, both raw and encrypted to fit a 1mbit flash chip or 27c010. I haven't interleaved the last 4 samples, so go ahead and make the volumes of the 2 instances different for some added accent behaviour.. (that's my excuse and i'm sticking to it..)
Comment
-
So the the Interleaving on the last 4 samples in the stock rom we turn..
Attached find the splits - the odd and even byte as seperate files.. You need to open these as 8bit mono 24k.. Notice how the last 4 samples are different in each?
so, to make a new FULL rom, with the correct number of samples, you'll need to split the file after making it at 48k, then change the last 4 sounds on one of them, then re-combine the 2 files..
How to do?
Make the thing, with 8 samples at 48k 8bit mono, so it plays to your satisfaction on the 505, then burn off an eprom (un encrypted) of the odd bytes, and one of the even bytes.. Rip them to bin files, open the odd & even files in your favorite editor as 8bit 24k mono & change the last 4 sounds in each for new ones. Burn the files that you changed to the chip, observing the ODD or EVEN settings per file, rip it back through the loom to encrypt it, burn the result to a chip, and you are done.
This sounds like a massive pain in the hole to do, but if you have flash chips handy, it's no so bad..
Oh yes
EDIT: my 'control' partner on this messing had terrible trouble doing a double burn on his flashchips, so look here and check out post #26 - see the utils? Get them and use the MIX2.EXE to merge Your 2 files.. Just open a DOS/CMD box, and start the app - it asks for names of files for merging, not sure if you MUST suffix the odd file as .ODD and the even file as .EVN as a rule, but it failed for me if i did not observe this file naming scheme. Anyway, the app merges the odds and evens for You into a new .bin, so get it on..
ALSO: you really need to study the spilt files attached here - you must place your custom samples in the SAME LAST 4 PLACES in THESE files after splitting them out.. Don't think 'oh its only 1/3 or a ms, it wont matter' - yes, yes it will.Attached FilesLast edited by playthatbeat; Mon 10-05-2010, 5:33 PM.
Comment
-
OK, so i decided to tidy up the 808 rom into something actually doable.. All samples starting where they should, accurate to the scheme used in the stock Roland Rom, normalized, pitched properly and all that jazz..
I finally got a batch of real 27c512 in from epromman today, so this rom is now in the stash for life i had been using 1mb flash chips pulled off old motherboards up to today - by doubling the data in the bin before burning.. You can't just burn a 512k file to a 1mbit chip and have it work, you need to copy the data twice to fill the chip, then it works fine.. Just FYI, in case You didn't know (not alot of people do actually..) You can also use a 2MB chip using 4 copies etc.. Any decent burning software should include an editor with which you can do this..Attached FilesLast edited by playthatbeat; Mon 10-05-2010, 5:37 PM.
Comment
-
So here is the above custom ROM playing in our TR505.. The .bin is just burned to a bog standard 27c512 eprom and placed (via a Zif socket) instead of the TC531000AP in the 505, wire for wire, pin for pin.. It's the same pattern playing all the way, with the usual scene mods for the 505 making it go postal..Attached Files
Comment
-
Really interested in having a go at this. I have a gq-4x burner and the software that comes with it. Would that be sufficient to do this. Making the loom shouldn't be a problem. Your machine sounds amzing with those 808 samples in there. Really really good. This is something i've got to try to make a 'super-505' for myself
Comment
-
i'd say any burner will work as long as it supports the chip you are trying to burn in it..
see if you can find any recent(ish) PC motherboard Bios roms - the instantly erasable ones, then have a go. any 1mbit one will work, probably.. using oldschool UV-erase roms is a pain in the ass, but the newer flash roms are really friendly, and supported by most of the burners You can get now on fleabay etc.
just check out the pinouts of whatever you get online, they are all the same usually, and give it a lash!
DO pull the original rom, and put a socket in place though, ul need to.
Comment
-
Making a rom is very annoying as the way the 505 plays the rom is odd..
It's a normal eprom, a 1mbit one, and You can use an old BIOS chip from a PC motherboard instead of a typical eprom you have to erase in a UV chamber, which is nice, but the way the rom is connected inside the 505 is non-standard.
You need to make a 'loom' to burn the rom correctly..
Without the loom you can prepare a file to burn to the rom, but it will play back as garbage..
Read this thread again You will get the idea..
Comment
Comment