| |
The Shadow
Registered: Oct 2007 Posts: 304 |
Universal SID Relocator
Is there a reliable relocation tool that can be used to take any SID music and relocate it to the memory of the users' choice, including with unconventional players found in game music? |
|
| |
Cresh
Registered: Jan 2004 Posts: 354 |
http://www.linusakesson.net/software/sidreloc/index.php |
| |
TheRyk
Registered: Mar 2009 Posts: 2358 |
yep also got an entry here on CSDb
Sidreloc V1.0
greatest tool ever |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
practically, its nearly, but not completely impossible to do such a uni reloc tool.
but it has to be done on a pc, with complete auto decompile, and recompile, else it wont be possible. you cannot code this on a c64, there isnt ram or disk enough to do it total, imo.
krill and me once talked how to do it, but its a huge job.
i mean, if TOTAL, always works, solution.
IMO, some supercoder is required, and a cross tool is the only way to do it.
imo :)
(i have tried) |
| |
The Shadow
Registered: Oct 2007 Posts: 304 |
Thank you guys!
SIDwave: It would probably take Crossbow to be able to create this on the C=64 ;) |
| |
algorithm
Registered: May 2002 Posts: 707 |
Emulation of 6502 and keeping track of memory reads and offsets as well as checks that writes back to code (self modifying) would work, and I believe this is how LFT has done it. (I assume his tool is a universal reloc tool) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11443 |
it would be doable using the same approach on C64 too.... but it'd be slooooooooooow =) |
| |
titan_ae Account closed
Registered: Jun 2002 Posts: 46 |
for the sidburners i used Machine-Code Relocator
ofcourse i had to change the adressing tables and fixed low and high bytes by hand :) |
| |
Krill
Registered: Apr 2002 Posts: 3005 |
If these automated tools fail, you can always dis-assemble code and then compile to another location. Might need a bit of massaging, but still! :) |
| |
theWizard Account closed
Registered: Jul 2007 Posts: 109 |
Quote: Is there a reliable relocation tool that can be used to take any SID music and relocate it to the memory of the users' choice, including with unconventional players found in game music?
expert cartridge and a bit of knowledge can relocate any tune.
titan_ae thats correct.
most tunes use hard coded offsets at certain locations in the tune its self for example
tune data start ( after the player routine ) [0x04,0x13]
where 0x1304 is a pointer to lets say block 5 of the tune. etc etc
to relocate to i dunno 8000 you would change it to 0x04,0x83 and so on for every pointer that the player is using.
i suppose you could do it by looking in memory ranges that the tune is known to be in and illiminate all other offsets from the relocation ( ie they will be tune data not offset data )this could be done with something along the lines of what SIDwave suggested using dissasembly but it might on the odd occasion get it totally wrong and then you would be back to square 1 , so back to doing it manually which i suggested would be the best aproach. |