Jump to content

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

Monsieur OUXX

Recommended Posts

There is a CD verison of Dune? With voices?  ;D

Seems I must search some more...

Keep up the archeology work Monsieur OUXX! ;)

Yeah, look for it on Home of the Underdogs site, there is the .iso image downloadable (180 MB) ;)


Link to comment
Share on other sites

  • 2 weeks later...

Hi Guys.

I just found that thread and was excited about

a possibility to finally have the Dune remake one

day. :)

It is great that the first step, unpacking HSQ, is

passed. It seems some people here had problems compiling

the unhsq though. Not sure if this is still relevant

or not, but I "translated" the source into a

straight-forward, easy to read and compile C code.

Previously it used to use some C++ features, hence

the compilation problems. I also added a lot of comments,

so that if someone is going to translate it to another

language (like java), this might be helpfull too.

It is attached.

I've seen a lot of discussing on a Dune music format here.

But I think the old Adlib tunes are of no interest

for the remake, because there are the _original_ Dune

songs by St


Link to comment
Share on other sites

  • 2 weeks later...

As I understand it, the HNM encodes the video, the HNS the audio. We're only concerned with the video, as dune HNMs lack HNS counterparts, as they're intended to be played to separate SFX or background music.

Playing sound and music is, I believe, relatively trivial and should not concern us.

By the way, anyone know what the .SAL files are (VILG, SIET, PALACE, and HARK)? They're all quite small - could they be pallettes?

Incidentally, a key to the VOC folders follows, to save anyone else doing the same. I might transcribe some of the more significant files as well.

PA Duke Leto Atreides

PB Jessica

PC Thufir

PD Duncan

PE Gurney

PF Stilgar

PG Kynes

PH Chani

PI Harah

PJ Baron Harkonnen

PK Feyd-Rautha Harkonnen

PL Emperor Shaddam IV

PM Harkonnen Captain

PN Smuggler

PO Fremen Leaders

PZ Spice Opera music, Comms Room, Ornithopter locations

Link to comment
Share on other sites

  • 2 weeks later...

The sietch indices are as follows:

2BE Arrakeen Palace

2BF Arrakeen-Tabr

2C0 Arrakeen-Timin

2C1 Arrakeen-Tuek

2C2 Arrakeen-Harg

2C3 Arrakeen-Clam

2C4 Arrakeen-Tsymyn

2C5 Arrakeen-Siet

2C6 Arrakeen-Pyons

2CD Carthag (Atreides)

2CF Carthag-Tabr

2D0 Carthag-Timin

2D1 Carthag-Tuek

2D2 Carthag-Harg

2D3 Carthag-Clam

2DF Tuono-Tabr

2E0 Tuono-Timin

2E1 Tuono-Tuek

2E2 Tuono-Harg

2E3 Tuono-Clam

2E6 Tuono-Pyons

2EF Habbanya-Tabr

2F0 Habbanya-Timin

2F1 Habbanya-Tuek

2F2 Habbanya-Harg (MISSING)

2F3 Habbanya-Clam

2FF Oxtyn-Tabr

300 Oxtyn-Timin

301 Oxtyn-Tuek

302 Oxtyn-Harg

306 Oxtyn-Pyons

30F Tsympo-Tabr

310 Tsympo-Timin

311 Tsympo-Tuek

312 Tsympo-Harg

313 Tsympo-Clam

314 Tsympo-Tsymyn

315 Tsympo-Siet

316 Tsympo-Pyons

317 Tsympo-Pyort

31F Bledan-Tabr

320 Bledan-Timin

321 Bledan-Tuek

322 Bledan-Harg

32F Ergsun-Tabr

330 Ergsun-Timin

331 Ergsun-Tuek

332 Ergsun-Harg

333 Ergsun-Clam

334 Ergsun-Tsymyn

33F Haga-Tabr

340 Haga-Timin

341 Haga-Tuek

342 Haga-Harg

343 Haga-Clam

344 Haga-Tsymyn

345 Haga-Siet

346 Haga-Pyons

34F Cielago-Tabr

350 Cielago-Timin

35F Sihaya-Tabr

360 Sihaya-Timin

361 Sihaya-Tuek

362 Sihaya-Harg

363 Sihaya-Clam

366 Sihaya-Pyons

36F Celimyn-Tabr

370 Celimyn-Timin

371 Celimyn-Tuek

372 Celimyn-Harg

Oxtyn-Harg is 302, so, for the ornithopter voice saying "Oxtyn-Harg", look for PZ302I.VOC, while for Fremen saying "Here in Oxtyn-Harg", PO302I.VOC is the 'inside' version, PO302O.VOC is the 'outside' (i.e. vision) version.

I know it's not anywhere as clever as people decoding the formats, but I'm sure someone will have to do this at some point.

Link to comment
Share on other sites


00h = the offset of the end of the "palette data"?

[01h, 06h] = ???

SUB-PALETTE #1 : brown parts of the orni

07h = offset where sub-palette #1 has to be inserted in the global palette

08h = nb of colors of sub-palette #1

[09h,23h] = sub-palette #1

SUB-PALETTE #2 : green cockpit of the orni

24h = offset where sub-palette #2 has to be inserted in the global palette

25h = nb of colors of sub-palette #2

[26h,2Bh] = sub-palette #2

SUB-PALETTE #3 : violet walls of the palace

2Ch = offset of sub-palette #3

2Dh = nb of colors

[2Eh,5Dh] = sub-palette #3


5E and 5F = escape code (FF FF) to indicate the end of the header ?

After this data, the sprites definitions begin..


I see things like this: (for balcon)

[00h, 01h]  is a short giving offset of end of data pal. (with chan.unp there is a gap of one byte between 0xFFFF and the given offset...dont understand why)

[02h] offset sub-palette #0  (here 0x00)

[03h] nb of colors (here 0x01)

[04h,06h] rgb of the color (here black: 00 00 00)

[07h] offset sub-palette #1  (here 0x53)

[08h] nb of colors (here 0x09)

[09h,23h] rgb of the colors

[24h] offset sub-palette #2  (here 0x5F)

[25h] nb of colors (here 0x02)

[26h,2Bh] rgb of the 2 colors

[2Ch] offset sub-palette #3  (here 0x70)

[2Dh] nb of colors (here 0x10)

[2Eh,5Dh] rgb of the colors

[5Eh,5Fh]  0xFFFF

[60h, ...]  ???

look like rgb values are defined on 6bits

so I read R=0x36  G=0x20  B=0x0E  in data pal supposed to be one of orni color in balcon.hsq

and I do shift 2bits to left and I get

R=0xD8 G=0x80  B=0x38  this is verified to be a color of the orni.

Link to comment
Share on other sites

I've twigged what the .SAL files must be - they look like they're something to do with the room layouts (les salles?) The smallest is the villages, at 185B, which have just one exterior room then the Harkonnen things, at 495B: fortresses are more numerous and have two walled rooms. The (Atreides) palace is 2.85KB - it's quite a complex layout, and finally the sietches, at 4.28KB, are very many in number and often have three or four rooms.

We also have some .BIN files (DNCHAR, DNCHAR2, TABLAT, VER), of which the last pertains to worms, and some .LOP files (MNT1, MNT2, MNT3, PALACE, SIET), whose names correspond with three HNM files, so this looks like it has something to do with flying (LOP=LOOP?). The SEQA-SEQR HNM files look like they should be the videos from the Lynch film. Unlike the other HNMs, they presumably incorporate sound, so I'd imagine they'd be trickier.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • 1 month later...

The PHRASE.HSQ files - are they normal hsq files? I think they're the language files. There're seven languages, AmE, BrE, Fr, De, It, Es, and Fremen. There are seven pairs of Phrase files: 11 & 12, 21 & 22, ... 71 & 72. 21 & 22 are identical to 71 & 72; this is because one is French, the other is Fremen, which is French written in silly symbols.

Link to comment
Share on other sites

  • 3 weeks later...

Sorry for double posting...

I seem to have answered my own question.  I had to install the "Allegro" library in order to compile Bigs's dumphsq code (shouldn't it be called, "DumpUnp"? :P).

I tried the program out on that MegaRace file that I uploaded that I assumed was an *.UNP file and surprisingly, I was right... it is a UNP file.  It exported about a series of 12 or so images...unfortunately, the palettes are way off for the MegaRace images.  All I get is a series of black images with little random gray pixels here and there on the image.  Granted, MegaRace's sprites are a lot more complex than Dune's sprites, since almost all of MegaRace's sprites are all pre-rendered CGI.

MegaRace's UNP file also use the 0x80 compression byte found in Dune's UNP files and the 0xFFFF after the palette offset.

Link to comment
Share on other sites

  • 4 months later...

I hate to say it, but I read through the entirity of this thread only to find out that the project has stopped!

Does anyone care enough to start it going again? I think some thoughts should go into just recreating the engine and then extending its functionality later.

I think one feasible thing to do would be to make a Harkonnen Campaign, where you have to devastate sietches, and expand your spice production to further your relations with the Emperor. You could have complications with Ecology growths making your fortresses unusable for spice extraction, co-ordinating the capture of Chani... a full role reversal! Imagine aggressive dealings with the Villagers... sending sabateurs out to disrupt spice flow, expand the plot between the Harkonnens and the Duke etc.

After all the excitement over the last bunch of pages, why not make something happen?

Link to comment
Share on other sites

  • 3 weeks later...

I don't have it, and, unless I've misunderstood things, no-one has, and what's being mentioned has been the sourcecode for other applications which have been used to read the files. If you read through the whole thread, you'll see explanations for how to get into the Dune.dat file, though, which is an interesting direction to research. Hope that helps.

Link to comment
Share on other sites

I have managed to extract all files from the Dune.dat file. I see alot of files now and dont know what to do.


Im not sure if I cn extract all files with unhsq  ??? (HSQ.exe)

With no original source code available, it will be very difficult to read from bitmap/sprites/music files, without knowing their internal structure, probably compressed/modified using Cryo utilities

Well.. I dont know how to get the SPRITES from these files.   :'(

Link to comment
Share on other sites

  • 2 months later...

hi all,

I'm glad to see that the project is going on,

rc55 : don't be too impatient, this is a slooooow project and it will succeed only if the contributors keep contributing willingly and only if you don't piss them off and ruin their motivation  :D everyone has to bring his little stone for the edifice.

pascal89: same as bigs, plus please read the thread : indeed, we don't have the source code, only tiny tools that are being slowly enhanced with the information that we gather.

bigs : I didn't test your dumper yet, but from what I read it can dump UNP files? If so, great work!!! (if it can only dump HSQ files, great work anyway)

Nema Fakei, Lance Boyle and all the others : keep on the good work with building our "small" knowledge database!!!


Now for the news : I'm thinking of integrating Dune into ScummVM, because it is a very good framework for old-school games and provides a lot of integrated features... As soon as I manage to compile it  ;)

Link to comment
Share on other sites

  • 2 weeks later...

bigs : I didn't test your dumper yet, but from what I read it can dump UNP files? If so, great work!!! (if it can only dump HSQ files, great work anyway)

The dumper program i made extract sprites (bmp format) from files previously uncompressed (UNP comming from decompression of HSQ files with the help of a tool provided by someone on a previous post).

I also provided a tool to compress a UNP file to a HSQ to test modification of the game, and to help finding file format informations.

Those tools may (certainly) have bugs;  but source are provided, so...

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Hi all, :)

During these last days I re-discovered this nice project and wanted to contribute in some way (I hope it isn't dead yet, according to Monsieur OUXX it shouldn't).

I have to admit that my programming skills are limitated (I know a bit of Java), but anyway I would like *really* bad to help getting this amazing project done. :) So, here is what I have discovered for the moment:


As Nema Fakei stated, these type of files contains the characters' speeches in various languages. Actually after having decompressed them with unhsq and opened them with a text editor there is still some weird characters -- that's because they are binary files I think and any modification applied to them with an editor will result in a corrupted file. The phrases are separated by each other with a "


Link to comment
Share on other sites

Audacity can open .voc files ;)

That's a good news, I didn't remember that Audacity could handle .voc files :) But it can also export to this format? Because if so the re-dub (registration, echoeing, ecc.) can be done directly in Audacity, without ripping.

However, here is attached a batch script to automatically convert with the VOC2WAV tool by Creative all the dialogues contained in the dune.dat directory (extracted with MultiEx Commander) to .wav. Extract the two files in the zip archive (VOC2WAV.exe and voctowav.bat) in the main Dune dat directory, and then launch voctowav.bat (it can take some minutes since the files are many). After conversion is done, you will find in each PA, PB, ..., PZ directory a "wav" subfolder containing the .wav files.



Link to comment
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.

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...