Maybe this is more addressed to Kyzer ...
Anyway, I have tried my luck at ripping the musics from the game "Operation Stealth". Spent a couple of hours on it, wrote a file extractor, manually rebuilt a couple of Sound FX 1.3 and ... and, well, the music plays wrong . In fact, the notes are wrong. I checked UnExotica and, guess, it was already ripped . Great, let's see .. hum .. ok, note frequencies are changed. hum .. what ?
I almost gave up, thinking it was a replayer hack which I couldn't handle, when I noticed the comment in the UnExotica page. I checked up the Aminet archive and it appears the notes are "fixed" with the extractor done by Kyzer.
So, if I read correctly, the samples were physically "halved" and the note frequencies were also halved (although realtime for those). Wouldn't it have been possible to "double" the sample data ?
Also, not all sample name without the first letter are available. I don't understand how you can "fix" this. I believe those are not used and could be set as empty in the rebuilt header.
Ah, well, this sounds just like a blog . Anyway, I'll try this on my own and will let you know if something comes out.
Code: Select all
NoStop: move.l 4(a6),0(a5) ;Intrument Adr. move.w 8(a6),4(a5) ;Länge move.w 0(a6),6(a5) ;Period Super: move.w 20(a6),d0 ;DMA Bit or.w d0,DmaCon ;einodern NoNote: rts
Code: Select all
NoStop move.l (4,a6),(a5) move.w (8,a6),(4,a5) move.w (a6),d2 lsl.w #1,d2 move.w d2,(6,a5) Super move.w ($14,a6),d0 or.w d0,(DmaCon).l NoNote rts
The missing letters in sample names were fixed by me working out what they should have been and putting them back. It's an interesting mix.
Firstly, the samples which are 'needed' (the sampleinfo has sample length > 1) and also exist in the SDSONS archives as named by their sampleinfo in the song: ACCOTATE.AMI A_COEUR.AMI BASSDX.AMI BASSE2.AMI BASSLAP.AMI CCPCBALE.AMI CCPEPER2.AMI CCREERSE.AMI CCSUCHE7.AMI CELLO2.AMI CELLTION.AMI CONTSSE1.AMI CRASH.AMI CUIVTION.AMI EPIAORDM.AMI ETOMAMS.AMI ETOMONS3.AMI FENDDMI3.AMI FLUTEJAP.AMI FUZZITAR.AMI GUITRDMA.AMI GUITSSE2.AMI GUITTEDS.AMI GUITZYES.AMI HIHANGEE.AMI HIHAT2.AMI MONTECIN.AMI NYLOOTE2.AMI ORGUE.AMI ORGUTAVE.AMI PANFUTE5.AMI PIANVOIX.AMI PIED1.AMI PIEDECHE.AMI PIEDRLEY.AMI PRA1.AMI PRA21.AMI PRAT8888.AMI PRATT1.AMI PRATT1A.AMI PRO1002.AMI PRO105.AMI PRO11.AMI PRO110.AMI PRO1120.AMI PRO120.AMI PRO13.AMI PRO15.AMI PRO23.AMI PRO3.AMI PRO300.AMI PRO31.AMI PRO33.AMI PRO34.AMI PRO4.AMI PRO4000.AMI PRO69.AMI PRO700.AMI PRO71.AMI PRO80.AMI PRO800.AMI PRO86.AMI PRO9874.AMI PRO999.AMI SAXROCK3.AMI SNARE10.AMI SYNTDIUM.AMI SYNTIGH1.AMI
Secondly, samples which aren't needed (sampleinfo has sample length = 1), but have part of a filename (first character has been nulled out, here I've added a "?"): ?AX1.AMI ?PIARDMI.AMI ?RO1120.AMI ?RO16.AMI ?UIVION8.AMI ?UIVION9.AMI ?YLOE1FL.AMI ?YNTECHE.AMI
There aren't any files in the archives which could match these sample names, so it's good that these samples aren't used at all.
Thirdly, samples which are needed (sample length > 1), but aren't in the archives, because the first character in their name has been nulled out: ?AXROCK3.AMI ?CCOTATE.AMI ?CSUCHE7.AMI ?ELLTION.AMI ?IHANGEE.AMI ?ONTECIN.AMI ?RASH.AMI ?RO1002.AMI ?RO9874.AMI ?TOMAMS.AMI ?TOMONS3.AMI ?UITRDMA.AMI ?UITSSE2.AMI ?UITTEDS.AMI ?UZZITAR.AMI ?YNTDIUM.AMI
This third category is something I can fix, so I worked out what the first character was, to point them at files which do exist:
?AXROCK3.AMI -> SAXROCK3.AMI
?CCOTATE.AMI -> ACCOTATE.AMI
?CSUCHE7.AMI -> CCSUCHE7.AMI
?ELLTION.AMI -> CELLTION.AMI
?IHANGEE.AMI -> HIHANGEE.AMI
?ONTECIN.AMI -> MONTECIN.AMI
?RASH.AMI -> CRASH.AMI
?RO1002.AMI -> PRO1002.AMI
?RO9874.AMI -> PRO9874.AMI
?TOMAMS.AMI -> ETOMAMS.AMI
?TOMONS3.AMI -> ETOMONS3.AMI
?UITRDMA.AMI -> GUITRDMA.AMI
?UITSSE2.AMI -> GUITSSE2.AMI
?UITTEDS.AMI -> GUITTEDS.AMI
?UZZITAR.AMI -> FUZZITAR.AMI
?YNTDIUM.AMI -> SYNTDIUM.AMI
This change means that all the samples which are needed by the song do exist, and are the right ones.