Jump to content

Rewriting Cryo's Dune 1 : it seems possible !!!


Recommended Posts

It'd be a pity if we lost some information.

We don't have much so it's not really a big problem. :P

I've done, let's say...20%? You can move from room to room and on the map.

So you have information on how rooms transition are done ?

(Information about for exemple "if a go south, which room will I need to display ?".) where are those information ?

Where are dune map graphics and how do you decode ?

- we still don't really know how the palettes are stored (even though they are dynamic, the gradient colors are stored somewhere)

dynamic palettes shouldn't be really difficult to find.

It will be my next step as soon as I get some free time.

Link to post
Share on other sites

there were 3 versions of each tune in the game; I don't know exactly but I believe it was something like : one Adlib version, one MT32 version, and another one

Please see my post above:

- opl2 (adlib/soundblaster), in the *.hsq files

- opl3 (adlib gold only), in the *.agd files

- MT32 (roland mt-32?), in the *.m32 files

That Dune midi player is an extremely old but nice app. Although I havent checked the insides of it, when run on my old computer with a SBPro 2.0 (one with OPL3), it sounded exactly like the game did, when set to Soundblaster mode (OPL2). So I believe it uses the OPL2 music files, although I cannot confirm.

Also note, that it sounds absolutely horrible on in dosbox.

Link to post
Share on other sites

Also note, that it sounds absolutely horrible on in dosbox.

Yes, strangely, I believe that none OPL2/OPL3 emulator still managed to provide the right samples to emulate the original souncards perfectly.

I remember the MT32 Dune music being played on an Ensonic Soundscape (a rare but excellent sound card) - I could never find that sound back.

Link to post
Share on other sites

odd... it works perfectly on my DOSBox. Sounds just like the game.

It would make sense that the music player app and the game sounds the same when you run both in dosbox.

I meant that dosbox sounds horrible compared to an actual Soundblaster or Adlib running the game. Quite a lot of instruments sound broken.

Monsieur OUXX: there are a few utils that can play back the m32 files from the game (drtmt32 is one I think). I can't tell how accurate it is since a) I never had an mt32 compatible card and b) I can only run these apps in Dosbox. However it doesnt sound very pleasent, one of the tracks even use phone ringing as an instrument.

Personally I'd like to hear an OPL3 recording from an Adlib Gold. I wonder how different it is compared to the OPL2. I tried exchanging the extensions of the hsq and agd files to force the game into playing opl3 music for my soundblaster, but it only had very minimal changes in the instruments. Someone in this thread mentioned that the only reason Dune cant use any other opl3 but the Adlib Gold is because the card had some exotic timing the sound driver took advantage of.

Link to post
Share on other sites
MT32 doesnt sound very pleasent, one of the tracks even use phone ringing as an instrument.

Personally I'd like to hear an OPL3 recording from an Adlib Gold.

I don't really know if it was the MT32 or the Adlib music that I was referring to (all this is a bit confuse for me - I'm more of a graphics nerd that a sound nerd), but I just read (and could confirm this myself for having heard the difference) that nothing reached the OPL3 support of the Ensonic Soundscape.

Anyway, let's stop with these considerations about sound quality for now, let's focus on how to emulate the sound.

Link to post
Share on other sites

The way I understand it, MT32 was sample-based while the OPL2/3 are FM chips. It's easy to tell the difference once you listened to both implementations from any game ever.

What you hear from Dosbox is FM sound, emulated.

For emulating the sound, you either take an emulator for the opl2/3 output, or play the MT32 files through a midi wrapper (or again, an emulator). For both methods, you need to extract the music from the game in any format that you can feed to your emulator for playback.

Or you can make recordings from the original game and use those for background music - this takes up the most space but gives the most accurate sound with the least amount of coding.

Link to post
Share on other sites

It would make sense that the music player app and the game sounds the same when you run both in dosbox.

I played the game in real DOS. I also have MP3s of the music from a site where the guy making them claims that he recorded them from the actual game in pure DOS too, and they also sound exactly the same.

Link to post
Share on other sites

I played the game in real DOS. I also have MP3s of the music from a site where the guy making them claims that he recorded them from the actual game in pure DOS too, and they also sound exactly the same.

To be perfectly clear;

- the music player and the game sound exactly the same in real DOS

- both sound broken in Dosbox.

In my above post, I meant that if you both run them in real dos, they will both sound the same. Which is perfectly logical if they use the same music data.

Anyway, I've read that the CDRom version of Dune supports OPL3 music for the Soundblaster Pro 2.0, and I've found an app that can play back the music straight from the game files, using your soundcard (app is called RDOS). I'll see if I can test either of them later in the evening. I may need to install a cdrom drive to my 486 for the latter, heh.

also: Dune 1 MT-32 samples:

http://palvelin.dynalias.org/Music/Dune%20I/

Link to post
Share on other sites
  • 2 weeks later...

I believe DOSBox has a feature that allow MIDI passtrough. This will allow people with the Roland MT-32 box to record a

proper sample if that is a acceptable solution. Using DOSBox to emulate the playback applications might be concidered as

an alternative to create new playback apps compatible with Windows and/or other operating systems.

(AFAIK Win XP/Vista have lost a lot of their direct hardware access things that existed in DOS and Win 9x)

Link to post
Share on other sites

Hi friends,

I was roaming the net and found this topic. That saga for finding the programmer was fun to be read.  ;D

Some time ago, I made an opl3 emulator, that by coincidence is written in Java, that maybe can be of some help for you. I've put it in

www.cozendey.com/opl3/opl3.html

In the page, there is also a demonstration player that can read DOSBos captured files, so you can give a try with your files, and the player already come with a lot of examples files.

Since I read this topic, I added two Dune 1 .dro files, it is in the menu Examples/Dosbox Raw Opl/Adlib/Dune  :)

ps: just a warning, though. The opl capture routine of Dosbox 0.72 (the last official version) has several problems, that prevent it from capturing Dune fm music properly. However, if you download some recent Dosbox build, it comes with version 2 of the .dro format, which do it correctly, afaik.

Link to post
Share on other sites

I made an opl3 emulator written in Java

Ok, I've checked it. I believe this is exactly what we need.

In the page, there is also a demonstration player that can read DOSBos captured files. I added two Dune 1 .dro files, it is in the menu Examples/Dosbox Raw Opl/Adlib/Dune  :)

So the .dro files are captured using DosBox? Damn, the issue remains the same, the goal is to be able to read the files directly from the dune folder, with no intervention from the end-user. We are closer to the solution, though.

Link to post
Share on other sites

So the .dro files are captured using DosBox? Damn, the issue remains the same, the goal is to be able to read the files directly from the dune folder, with no intervention from the end-user. We are closer to the solution, though.

If you want it, I can make a application that read a .dro file, and writes a log with what opl registers and data it is writing at each time. Comparing these captures with the music files, you can try to hack it.

It is really no problem to do this app. However to do the actual hack is a bit more of work, if you want to do so.

Link to post
Share on other sites

If you want it, I can make a application that read a .dro file, and writes a log with what opl registers and data it is writing at each time. Comparing these captures with the music files, you can try to hack it.

It is really no problem to do this app. However to do the actual hack is a bit more of work, if you want to do so.

Now that I think of it, I think that we already have the hack, because Rdosplay's player generates the OPL3 commands and we have this source code in assembly.

Link to post
Share on other sites

umm... source code in assembly? I have the "source code in assembly" of any program I throw into my disassembler. It usually doesn't bring you much closer to finding out how it actually works.

We have the exact routine that reads data from the uncompressed file and turns it into AdLib instructions.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...