VOGONS

Common searches


Search results

Display options

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 …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Glad to hear from you, binarymaster! Since Dune's engine is very similar to KGB, I wonder if we can find the decompression algorithm for SQX in the same spot where it occurs in Dune for HSQ. I'm currently still working on reverse engineering MegaRace's HERAD driver in DOSBox's Debugger. http://img. …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I'm finally making some progress with disassembling the MegaRace driver! I figured out a lot of stuff and I'm currently documenting the hell out of it so we can figure out how it works. Turns out one of the lookup tables - in this case, the one located at 0x71 (00 01 02 08 09 0A 10 11 12 03 04 05 0B …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Sorry for the delay, I've been super busy with real life. I'll reupload the IDB files soon. As for HERAD Gold Driver reverse engineering, there's definitely something weird going on in terms of how the OPL channels work. Normally, for the regular OPL2 driver there's nine MIDI tracks and therefore, …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I've attached some IDA *.idb files to help out with the disassembly. The first two files, DUNEADL.idb and DUNEAGD.idb were provided to me by Jepael. Hopefully, he won't mind me posting these files. The third file is MegaRace's driver DFADP.idb, with some disassembly work by me, namely just searching …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Could it be they implemented the MIDI instrument differently, taking effect on running notes(as the adlib does, affecting running notes by modifying registers), instead of taking effect on all notes started(note on events) after it on the channel(as the MIDI specification does)? Also, MIDI starts …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I'm slowly getting used to IDA and reverse-engineering the driver(s). I did want to figure out a HERAD glitch that I've been noticing for a while now. There's an interesting glitch that occurs in Skyholder (PAGA.HSQ). One of the instruments produces the wrong note an octave higher than it should …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Excellent work, superfury! sub_89E loads 0x12 adlib registers specified at location DS:171 and onwards (starting at Adlib register 0x80+[DS:171], 0x80+[DS:172] and onwards) with the value 0xFF. Yup, I've seen this before with MegaRace and Dune. If you also noticed during the initialization of Dune …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
So I disassmbled the code in 486 real most in IDA and it looks like it found the jumps in the beginning of the driver as well as a lot of other subroutines. I can't make heads or tails from any of it since I don't know anything about disassembly but the very last subroutine looks like it's calling …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
The bytes at the beginning are an array of near jump instructions, one for each function of the driver. Near jumps are 3 bytes: E9 opcode byte followed by a word offset. So, function 0 jumps to offset 0 and follows the jump there to that function's code; function 1 jumps to offset 3, function 2 to …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
The results from my latest venture in reverse engineering Dune's driver yielded some interesting results! Here's the breakdown: http://www.vgmpf.com/Wiki/index.php/UserWiki:SynaMax#Dune_HERAD_.22DUNEADL.HSQ.22_Driver_.28Floppy_Version.29 I figured out how HERAD triggers the fade outs in Dune! At …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
I should be finishing up my reverse engineering of the Dune drivers soon. Feedback is acting really weird in Dune and I need to figure out what exactly is going on in the driver, but other than that, everything else is documented.

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
This took a lot longer than I was hoping but here it is: PAGA (aka Skyholder) from MegaRace converted to HERAD 1 to work with Dune's AdLib Gold driver. While I converted the main drum notes a while back, the additional percussion instruments on Channel 6 needed constant tweaking to finally get them …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Theoretically, yes. However, it would take a bit if effort to convert the the drums or any other instruments that are using the key map instrument, since that functionality isn't in the driver for Dune. Also, the transpose macro works slightly differently in MegaRace than in Dune, but now that I …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Hey guys! Got some new updates for you! I made two new videos that showcase the Dune driver and MegaRace driver running inside of a hex editor so you can see all the FNUMs, Registers, MIDI ticks, counters and various bytes do their thing while playing the song. YouTube - Dune Driver playing MORNING. …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Thank you for your work again! Next I'm going to look into the OPL2 and AdLib Gold Drivers for Dune and see how they differ from MegaRace's driver. This would be very interesting to find out differences in drivers! :happy: Happy New Year! :lol: You're welcome! I'm glad I can help, considering my …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Happy New Year! I took some time today to focus on the HERAD driver in MegaRace a little bit more and I made some more discoveries. For ease of reading, I posted the latest file structure on the VGMPF wiki since I can do tables there and it looks much nicer than on the forum. Here's the latest …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
So I decided to really dive in and take a close look at the HERAD driver in MegaRace. Amazingly, I was able to figure out a lot of stuff! 0x15:Something to do with the song speed (Always 0x0002) [0x2 bytes long] 0x17:?(Always 0x1941) [0x2 bytes long] 0x19:Song length (first two bytes from music file …

Re: Dune "HERAD" Ad Lib Music Hacking

in DOS
Every time I try to figure out how the pitch bend works, I get more and more confused. Anyways, here's a rough look up table of all the FNUMs that HERAD cycles through when doing a pitch bend. I have seen pitch bends that stray from these numbers before, (like when handling different pitches, etc) …

Page 2 of 4