Announcement

Collapse
No announcement yet.

TR-505 Bending & rom Hacking

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • TR-505 Bending & rom Hacking

    http://vimeo.com/5297009

    Vid from JUNO in Japan who obviously liek teh 505
    Last edited by playthatbeat; Sun 25-04-2010, 3:12 PM.
    jUst plAythAtbEAt

  • #2
    Man he did it well. Realtime ROM swaps, the works. The original machine is dull as the zoo bar, so what he's done there is pretty fkn impressive.

    /me likes

    Comment


    • #3
      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
      So, using these new routings patched into my loom, i read the rom.. see attachements
      Attached Files
      Last edited by playthatbeat; Sun 25-04-2010, 3:18 PM.
      jUst plAythAtbEAt

      Comment


      • #4
        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.
        jUst plAythAtbEAt

        Comment


        • #5
          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
          So, make a loom, mapping the pins the burner would EXPECT to be there for an eprom (the ones on the right in the lists above) to the pin the 505 would expect to read from - the ones on the left of the lists.. So, for example, wire a3 on your burner to a8 on the chip, a2 to a7, a1 to a12 - you get the idea, and the same for the datalines..

          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.
          jUst plAythAtbEAt

          Comment


          • #6
            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)
            Attached Files
            Last edited by playthatbeat; Mon 26-04-2010, 12:34 AM.
            jUst plAythAtbEAt

            Comment


            • #7
              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..)
              Attached Files
              jUst plAythAtbEAt

              Comment


              • #8
                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 Files
                Last edited by playthatbeat; Mon 10-05-2010, 5:33 PM.
                jUst plAythAtbEAt

                Comment


                • #9
                  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 Files
                  Last edited by playthatbeat; Mon 10-05-2010, 5:37 PM.
                  jUst plAythAtbEAt

                  Comment


                  • #10
                    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
                    jUst plAythAtbEAt

                    Comment


                    • #11
                      So, one more time, this time with a more frantic pattern, but a single pattern all the way.. so much to be had in here, man.. it's SUCH a machine..
                      Attached Files
                      jUst plAythAtbEAt

                      Comment


                      • #12
                        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


                        • #13
                          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.
                          jUst plAythAtbEAt

                          Comment


                          • #14
                            I know that this is an old topic, but would you help me to make a new ROM for my tr505? If you do, how much will it cost. Thanks.

                            Comment


                            • #15
                              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..
                              jUst plAythAtbEAt

                              Comment

                              Working...
                              X