VOGONS

Common searches


Search results

Display options

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Excellent work again, binarymaster! I love how we're getting closer and closer to perfection! I did noticed a weird glitch with Skyholder (PAGA.HSQ). For some reason, the first note on one of the instruments for the solo is an octave higher than it should be. Once again, I isolated the instruments …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Awesome work, binarymaster! The intro to NewSan sounds excellent! I did noticed that the bass drum on channel 8 in NewSan is still incorrect. I made a video with imfplay showing the difference between the two drums. https://youtu.be/FGvZvTTnXgA This instrument is very confusing. It's MIDI pitch is …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
That's awesome news, binarymaster!! I cant wait to try out the new build! :D I've been itching to write some more HERAD music lately so I'm going to be making some more songs in the near future. Some comments on your research: Since 2C is less than 60, it's a valid note, so HERAD proceeds to grab …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I've disassembled all of the drivers (dune/kgb/megarace) and have the bend code working in my (almost perfect?) converter. Hope this helps! This helps indeed, I just translated the code into C and whoosh... It works pretty good! No more dissonant notes! :D The commit: https://github.com/adplug/ …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I updated the post with the pitch bend flowchart with a new image as the site that originally hosted it changed their image hosting options. We're slowly but surely getting there!

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Figured out how Dune handles transposing! It's actually really, really simple. Instead of a dedicated transpose subroutine like what MegaRace uses, Dune simply adds the transpose byte to the MIDI Pitch and writes the new pitch to memory and the OPL chip. Here's a twitch video of me working in …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Sorry for being inactive for a while, I've been really busy with real life lately. As you can see, the Pitch Bend subroutine is the most complex task handled by the HERAD driver. Making this flowchart made things a lot easier to understand though. http://i.imgur.com/lc5xwAi.png Because the pitch …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Quick update on how pitch bends work in HERAD. It's a bit complicated since pitch bends for both MIDI events and macro slides use the same functions. I can confirm that the start of processing the pitch bend begins by taking the current MIDI pitch and subtracting it by 0x18. Then that value is …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I might as well upload the whole DFADP.HSQ assembly file so that you guys gets the whole picture. It's still incomplete but the vast majority has been documented. I must mention that because of a mistake, the offsets in the file are off by 0x100. For example, when the program calls 3B08:019B, the …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I would definitely like to keep the HERAD AdPlug as accurate as possible. If it's possible to go with the 200.299 Hz timer, then that would be awesome, but if it's too difficult to implement then we'll skip it and go with the next closest thing. Using the seekbar and having the ablity to fast …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
The 200.299 timer is finally starting to make sense to me. At HERAD speed setting 1, a tick is 5 ms, so multiply that by 200 and you have a whole second. Taking the song speed and multiply it by 5 equals the duration of a MIDI tick in ms. For example, Newsan is 3.875...3.875 x 5 = 19.375 ms.

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Not sure what is really meant with that timer/tempo value, but will the following help with tempo calculation? The game sets PIT timer divisor to 5957, which amounts to about 200.299 Hz timer interrupt. My wild guess is the music playing routine is also called from this timer interrupt like on Dune …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Wow, thanks so much!! You don't know how long I've been waiting for this. :) This is definitely going to make playback so much easier! Glad I can help with the transposition issue with HERAD v2! I'll look into what's going on with HERAD 1's transpose macro this weekend. We're definitely off to a …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
So, here is my development branch for HERAD format support in AdPlug: https://github.com/adplug/adplug/tree/herad-dev Almost everything works, but there are still some bugs with note transposition macro and strange AGD sounding at different places. Hope you can help out with that, since I'm stuck …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
YES! Thanks so much, binarymaster!! I'm so glad we finally have support for SQX! I already tried it out on some other KGB assets such as sprites and it works perfectly. :) Excellent work! Things are a bit busy for me at the moment, but I'm hoping to continue working on documenting the MegaRace …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
If anyone is interested, here's a livestream I did of me reverse engineering MegaRace's HERAD driver. It's two hours long but I made some interesting discoveries during this session. https://www.youtube.com/watch?v=__ttnM-XAXc

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Quick update: After analyzing the MegaRace driver, I became suspicious if the driver actually supports Aftertouch MIDI events, which I know are used in both Dune and KGB but are non-existent in MegaRace. So to find out, I converted MORNING.SDB from Dune so that it'll play in MegaRace. Sure enough, …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Glad to hear you were able to find out the issue, Jepael! Here's my work in progress ASM file, documenting/commenting of the HERAD driver from MegaRace. It's still pretty rough and not all the subroutines have been documented yet. Also, since the driver in memory is offset by 100 bytes, all my …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I've written a small DOS program to load a driver and song to memory, and call the driver to play the song. So far I just loaded Dune Adlib driver (DUNEADL.___) and ARRAKIS.SDB and it appears to work. I think there are no regular Adlib songs so that's why ADL driver and SDB song. Most likely it can …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
The table at 0x25 is now completely figured out. Each word is an offset to a subroutine in the driver that handles a particular MIDI Event: 06CF = NoteOff (80) 065D = NoteOn (90) 08E5 = Polyphonic Aftertouch (A0) 08E5 = Control Mode Change (B0) 05D2 = Program Change (C0) 072E = Aftertouch (D0) 07DD …

Page 1 of 4