I often get asked how to go about hacking music from games and demos. I was self taught, starting way back in 1987ish on the Commodore 64, (SYS 49152!) , I then moved over to the Atari ST, extracting tunes from demos and games, in those days we were talking the ubiquitous David Whittaker, Ben Daglish, Fred Gray, Charles Callet, Adrian Dalecki and of course Jochen Hippel (Mad Max).
Ripping, like hacking can be easy, or a pain. In cracking, processes and speed improve as you meet yet another Rob Northen internal, so the same applies to music hacking spotting the familiar ascii tags of "THK!" , "Elof" or "MMME" within the code, or memory addresses $8840.w (what?)
At an Outline demo party I was asked if I could write a guide on how to hack music. Full of motivation I set off describing the process from the original hack, to playing the tune outside of the game/demo... to converting it into an SNDH. However, as usual with a lot of my projects things stalled, motivation waned, and a semi finished guide sat on my hard drive for a number of years. Fast forward to 2020, we're in lock down, free-time aplenty, so time to resurrect this guide.
I remember a long time ago an esteemed hacker wrote a guide to filing games, in his foreword he stated "Well I'll be honest, I think this doc is going to be a pain in the arse to write, cos anyone who needs it probably won't understand it and anyone who does understand it wouldn't have needed it in the first place! "
I wonder if this sentiment rings true for my document ? We will see.
To start I have chosen a straight forward game tune which highlights the process of extracting the music, testing and finally creating your own SNDH file.
I may make these guides into and an occasional series.
Keep hacking...... Grazey April 2020.
Whoah! over 2 years since the last blog post! and...... 4 years since To Hull and Back part 1 Don't worry. SNDH is still very much alive. Behind the scenes I've still been ripping and converting tunes to the SNDH format. Current stats for the next release (4.8) are, as of 28th March 2020 (I SNDH'd Honda RVF digital music today!) :- 257 new or updates SNDH files, equating to 451 subtunes. That increases the whole database to : 5118 SNDH files, 10504 tunes by 555 unique composers. Not bad going.... There are still many tunes to rip and SNDH so remember to support the cause, click here for the current list.
As for the release date? Well I'm working on a small intro for the release, much of the coding was done at the elite UK demo party Tathack. I don't like speculative release dates so expect something out within the next decade.
Right! Back to the STNICCC 2015 reportage.
So where were we? Well on the Saturday afternoon after having lunch with Rob Hubbard, Rob Hubbard, yes Rob Hubbard.... we ventured upstairs to our coding room. This was mainly Brit sceners with a smattering of current German aristocracy, notably Paradox (hi Paranoid!) plus Dutchies D-Force and earx and Swedes Baggio and Wiztom.
However things soon moved up a notch when I met Jochen "Mad Max" Hippel in one of the many corridors of the college, where the party was being held. He recognised me straight away, which I kinda found surprising as it was 15 years since we last met at the previous STNICCC. Back in 2000 I'd shown him the party release of UMD 8730, which came third in the demo competition. This was a seriously cut down version compared to the final release, missing the 20 minute intro with Tao's epic medley and the freshness of ST Survivor's graphics. It was an honour at the time to see a legend really showing interest in my work, with a posse of uber coders including Ben of Overlanders and Gunstick on Unlimited Matricks in attendance. In 2000 Jochen gave me a disk with a copy of his editor which I still have to this day, I wonder if it will ever be released publically? Fast forward 15 years and the vista was reproduced, well nearly.
2000: L-R Ben/OVR, Gunstick/ULM, Mad Max/Tex, Grazey/PHF, Stick/Ripped Off
2015: L-R gwEm/PHF, DMA-SC/Sector One, Mad Max/Tex, Grazey/PHF, Lfee, Gunstick/ULM
We've not aged in the slightest! Unfortunately I didn't have my orange STFM with me this time - remember we did cycle all the way from Europoort to Gouda (more of that later) so laptop it was! I soon got Jochen sat down and booted the Steem emulator to load up his TFMX editor. People in the room soon congregated round him as he dabbled in YM chip for the first time in years. It was so nice to see a fusion between the old school pioneers and the new skool kids (well in comparison).
Lots of interesting discussions followed regarding the intricacies of chip composing and new sound effects and techniques which have pushed the 2149 to its limits. Fellow PHF member gwEm was proud to demonstrate his "go to" music application maxYMiser to Mad Max, a flavour of which can be seen in the video below.
YM Sesh! Images showing Soran, Mad Max, Mrs Max, gwEm, DMA-SC, Grazey, Gunstick, Tronic, Strider, Lfee & Baggio.
Right compo time! We all queued patiently and expectantly, wondering what delights were in store...
So it's not just the UK who likes to queue?
Once inside, we took our seats and were guided through the competition by our eminent host and organiser Richard Karsmakers and the Outline stalwart Havoc!
The competition was really well supported considering we were hovering over the twilight of the ST scene. Quality was abound from DML/TPT-XIA's Zero-Three-Zero on the Falcon, the almighty polish of Oxygene's "We were @" (love the physics screen which caused gulps at the time!), Sync's total ownership of overscan and wake states, dbug's mono masterpiece, checkpoint's continued dominance of new school fx plus great contributions by Cream, TSCC, Absence, Effect, MJJ Prod, Oxyron, No Extra, Atari Boys, Hemoroids and FUN. Quite a line up, especially so as we are talking 2015 here!
Deliberations were had, fanta(?) was distributed. Leonard and co made it two in a row, though I still prefer Odd Stuff in 2000 :P But what was pleasing from my point of view was that gwEm/phf won the music competition - even more so as the judges were unknown people with surnames like Van der Laurens, Hippel and Hubbard - what do they know about chip-music?? It all gets hazy from there! I think we left the venue and headed to a late night bar (gwEm, Cal, Lfee, Tronic & Mug UK). We had been there the previous night when the owner had let Tronic connect his phone to the pub's sound system! Even had a sweet IPA induced boogey to Astaroth at 1 in the morning?!
Is that Big Alec I can hear?
Life's a Beach inducement at Biercafé De Goudse Eend, nearly TLB, nearly!
The following day was the normal good byes, wondering if we really all meet up again in 2032. Me and Cal packed our panniers. I trusted good old google maps to take us back to Europoort. Luckily like where we live in the UK, the Netherlands is very bike friendly, read - flat! I say "trust good old google", yet for some reason it took us to the Hook of Holland side of the channel! Luckily there was a little ferry which crossed to the other side and onwards to our Hull bound ferry!
Somewher between Gouda and Rotterdam?!
Leaving our plush (not) accommodation, heading back to Europoort via the little ferry at Maasdijk
We slug out another SNDH update.
Firstly we bring you all the tunes from our HIPSid. It won the Outline 2017 demo competition. The demo takes the C64 like SID routine by Tao and adds the FX to Mad Max musics. HIPSid demo features 9 hours, 52 minutes and 3 seconds of Hippel goodness. Coding was by Grazey, GGN, music by gwEm, gfx by Tinker and of course Mr Hippel has some input as well. It also gives a nod to Hull City of Culture 2017, shame Mr Hubbard wasn't celebrated in the same breath as other Hullensian - Mick Ronson.
- More SNDH-Digi tunes including Altair, Populous, Fighter Bomber, Fusion and Run the Gauntlet (I loved that show in the 80's). These are quite easy to do as it is just a matter of finding the sample data within the game. Fighter Bombers uses a sequencer similar to Dave Lowe digi musics.
- Tonnes of tunes by Mephistow & Jovis. Thanks to Mephistow for sending me all his rare songs and to Lotek Style who constantly points me in the direction of un-ripped stuff.
- Ancient un-ripped tunes by Daglish, Loriuax, Leitch, Shimskey & Legace. Yep, I'm still going through the Automation bible seeking out un-ripped tunes. So this time we have SNDH's from Roy of The Rovers, Tie-Break, M1 Tank Platoon, Pirates!, Red Storm Rising, Gunship, Plotting, Fiendish Freddy and Yogi Bear!
- Markus Weichselbaum makes a welcome return to the SNDH library with Air Supply and his amazing Curse of Ra. This game from 1990 features a very advanced digi-chip driver!
- Lots of tunes fixed by Grazey, Ben and Evil
- And of course what SNDH update wouldn't be complete without a smattering of new cutting edge releases - 505, !Cube, 607, Aceman (loving Pumpkin Hop!), gwEm, DMA-SC, Motionride, Tomchi, Wiecz0r, Xyce and Yerzmyey!
Just a little update regarding the SNDH world. Since the last release we have added a fair number of new or fixed SNDH files (165 files to be exact). Some things to look out for :-
- Lotsa of fixes identified by Ben/OVRs SC68 program. This utility is so useful in spotting bugs and errors, like silent sub tunes and crashes well into the song.
- Some more sample SNDH's like Fighter Bomber, Run the Gauntlet and Altair
- SID versions of classic Mad Max tunes. You may remember that years ago Cream (Abyss & Tao) added SID voices to TEX's B.I.G. demo musics (Rob Hubbard C64 conversions). Anyway in 2001 Tao sent me details of how it was implemented. Ever since I've sat on the technique, until yesterday! I finally found time to add SID voices to more Hippel tunes (mainly Rob Hubbard and Jeroen Tel from the Maniacs of Noise), currently I've converted about 15 tunes - mostly from the Union demo and some old games (Giana Sisters and Dugger). Anwway, here's a taster of what a SID extended Hippel tune sounds like :)
No, not the cheesy pop ballad by mullet sporting Limahl!
This is the story of the life long struggle to SNDHify all Atari ST soundchip music. I thought I would guage how far down the path I am. A good barometer would be to see how many of the Automation titles are currently SNDH'd. As per a previous blog post I have now finished going through ALL 512 menus, amounting to 1583 titles! The results are interesting.
Firsty of the 1583 titles, 65% contain notable music (soundchip or digi)
So, of the 1027 titles with music - 613 are already SNDH'd (60%)
So that leaves 415! remaining unripped! I have then separated this further between soundchip and digital tracks (both tracked and standard samples)
So we have quite some way to go. For now I will concentrate my efforts on chip musics, the demotivating factor is that many of the remaining 'tunes' are crappy beeps. As a bonus my research did highlight some glaring omissions from the database, such as Super Stuntman by David Whittaker, Plotting by Pierre-Eric Loriaux, Tie-Break by Adrian Dalecki and Yogi Bear by Sean Conran - all these are now SNDH'd.
Grazey. October 2016.
Demo coders, don’t you just love em?
Always pushing the ST to its limits. Dreaming up new ideas and techniques and squeezing that last clock cycle out of the poor Motorola. All well and good for gamers who don’t care what goes on under the bonnet of their fave game. However to me, a music ripper, it’s another matter. Four people stand in the dock, accused of crimes against music ST rippers :
Jochen (Mad Max) Hippel, Tim (Manikin) Moss, Jurgen Piscol and Paul Summers.
Guilty, guilty, guilty, guilty as charged.
Let me explain. You see making SNDH’s isn’t just about extracting the code so it plays in your favourite machine code assembler – genST of course. Nope, that’s the easy part. We also need to ensure the code is memory address independent and system friendly. The former isn’t too hard to do, you just need to change absolute memory addresses to the location that the SNDH file is loaded, a bit faffy but pretty straight forward. The latter can be easy or a pain in the ass. System friendly? You see when we play tunes using JAM or SND-Player the operating system (OS) is still running in the background doing exciting things like updating the system clock, plotting and reading the mouse etc –however most games/demos nuke the system to gain valuable processor time and memory.
Thanks guys, thanks a lot.
Due to these problems I’ve had a number of tunes on the back-burner :- Wings of Death digital, Baal music, Lethal Xcess digital, Turrican 1 & 2 digital, Grand Monster Slam digital , To Be on Top digital, MUDS digital , Z-Out digital, Amberstar digital and Sound-machine digital musics – do you see a pattern?
The two major problems with these musics are :-
- Routines steal data/address registers to optimise the music driver code (making it run as fast as possible)
- Routines use practically all the CPU time
Stealing registers means the operating system cannot run in the background. Fixing such tunes often requires lengthy modifications – however this slows the music routine which can affect the sound quality.
Excessive CPU load is even more difficult to fix. It can sometimes entail a complete re-write of the music driver to gain sufficient clock cycles which allows the OS to run. This can be an impossible task as the drivers are already heavily optimised (e.g. Wings of Death by TLB and Lethal Xcess by TEX). The other factor is time – I simply don’t fancy recoding a full routine.
So that leaves us with tunes which play ok but don’t like the OS. That is why I decided to code a non-OS player “Dirty-SNDH”, so you can listen to tunes on native ST hardware. Unfortunately current players – SND-Player & JAM won’t be compatible. However Winjam plays the tunes and SC68 is currently being updated to handle the files as well.
Currently LX, WOD, Baal & Amberstar are fixed and work in the new player.
Grazey. September 2016.
As you are probably aware the aim of the SNDH archive is to contain all sound chip music ever composed on the Atari ST.
However this is where I need your help! You see, I would say approximately 80% of all game chip musics and 98% of demo musics are already ripped and contained in the archive . The difficulty is identifying which game tunes are still outstanding.
My proposal is to use my "Automation Bible", this is an excel spreadsheet which lists the contents of all 512 Automation menus plus menu contents of D-Bug, Cynix and the BBC. I've combined the current SNDH tune list into the spreadsheet to indicate which tunes are already present in the archive. What I need is information regarding each game, specifically :-
- If a game contains chip or digital music
- Type of music - digital/chip?
- If it does - is the composer known?
- Is the music in the SNDH archive
To make this task systematic I'm going through each Automation menu in turn booting all the games then populating the excel spreadsheet. It's a long labourious task so any help would be really appreciated! I've already done D-Bug, Cynix and the BBC.
The bible is located on the D-Bug web-site :- The Bible
The aim is to complete the whole Automation listing, this will then give a comprehensive list of what is still outstanding.
I realise not all tunes are on Automation menus but it's a good place to start.
Finally I am still looking for support with the ripping/SNDHing process, I'm toying with the idea of posting a ripping tutorial. If it would increase the support given to SNDH. Anyway let me know your thoughts! Grazey.
Well we've finally broken the 500 composer barrier. The honour goes to 607 who sent us a couple of Quartet tunes.
We have already added 10 tunes for the next update. New stuff includes an unknown Lotus/Hotline Synth dream tune. Plus "Lotus 3 - The Ultimate Challenge" now has the full compliment of subtunes 22 as opposed to 6. Shoddy ripping by me!
It's August! This appears to be the SNDH release month so without further ado 4.6 makes it online.
As I mentioned previously it's a mixed bunch of tunes ranging from cutting edge X-Bios 32 tunes, to simple Maxymiser and Sid Sound Designer beeps.... or is that the other way round?!
In the old days I wasn't really interested in ripping and SNDHing exotic digi formats. I'm a chip connoisseur at heart, stemming from my C64 beginnings. However things changed when I wanted to listen to the superb Great Giana Sisters digi title track in Winjam and alike. The rip gave birth to SNDH-Digi. The resulting Giana conversion was pretty straight forward, similar to converting digi-drum tunes - read: MFP malarkey. Nowadays another reason for adding digi tracks is simply because most chip tunes are now included in the SNDH database. New modern tunes are practically all composed in either Maxymiser, Sid Sound Designer or Music-Mon - soon to included the DML tracker?!
Anyway I digress. One such game with exotic digi was the ancient Turbo Cup by Loriciel. At the time people thought it was a sequence of samples but it was in fact Loriciel's own in-house tracker. It amazes me that the ST did not follow the Amiga path, admittedly both machines had a myriad of exotic chip tunes in the early days but the Amiga soon progressed through SoundMon, Future Composer and later the behemoth that is Sound/Pro-Tracker to make exotic tunes the exception not the norm. The ST on the otherhand continued with individual musician assembly routines right to the twilight of the ST. At least this keeps me in a job. Back to Turbo Cup, the rather funky composition was by Michel Winogradoff. Thankfully he kept the same music code for future Loriciel releases: Bumpy and the weird but cool: Disc.
I hate the Unknown Composers folder. Why oh why didn't Sid Sound Designer have a nice composer field, why didn't game manuals have full credits? We will never know. At least as we move forward snippets of information appear which reduce those unknowns. This time tunes gaining rightful ownership include a batch of tunes from Jovis of Zuul. Delirious Demo 2 reset (a common tune in cracktros) which now sits with Stan Mercury of OVR, originally this was in Unknown, then it moved to Doclands. However Doclands has confirmed he simply improved Stan's song to make it "listenable!". Other tunes finally credited include Karate Kid II (by the legendary Steve Bak).
"Bittner, bit, bit, bit ,bit Bittner" carrying on the digi exotic theme. The classic Bittner rap makes its rather belated entry into the database. Sampled sick.... so love that.
ST News editor Richard Karsmakers decided to convert some of his old demos to the CODEF framework <http://st-news.com/issues/bonus-materials/>` , the demos mostly feature tunes written in Activision's Music Studio. His work identified that some Music Studio SNDH files did not sound 100%. On closer inspection it was because I had re-written the play routine to work with Timer C. However, I've have now reverted to the original play method using Timer A at a rather speedy 980hz! As well as the MS files, Richard sent me tonnes of X-Bios 32 tunes, these are now in the archive as well. An added bonus is that I've written two little utilities to automatically convert X32 and Music Studio files to SNDH. See the tools section on the SNDH page.
New composers this release :- Fred Eric Gerard (Titus programmer responsible for Crazy Cars III and Super Cauldron), yqn, Lonestar, black (active coder and composer!), Mr Man, Ged and Michael Open.
We have a smattering of new tunes too. Tomchi, DMA-SC, gwEm, !cube, xfalcon, 505, 7AN, Wiecz0r, Lotek & EIA continue to fly the flag. All credit to you 21st century YM troopers.
Finally, the SNDH database now contains 499 different composers.... so... who is gonna be number 500!?