Boulderdash conversion
Moderator: Admin
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Boulderdash conversion
Hi,
I'm converted all Boulderdash games from Tosec.
Without knowing that "any2gds" exists. Write my own readers.
And I compare the level sets from "gdash-levels-0.9.1.zip" (which artsoft used for RnD) with my list.
First compare in this direction.
Result: some of my extracted levelset's have more caves as in yours.
Here some few examples (see attached screenshot).
e.g. "bd_prima_boulderdash_01" you have 20 caves - I extracted 48. Assume that the other "prima" set's are similar.
Next, I want compare from my list to the level sets in "gdash-levels-0.9.1.zip"
One example:
Boulder Dash 32 (198x)(Liepa, P. & The Blockheads)
Boulder Dash 33 (1988)(Liepa, P. & The Blockheads)
Boulder Dash 37 (1988)(Liepa, P. & The Blockheads)
This set's are in my list, but not in yours.
Is there another zip?
I'm on the right way?
Cheers.
I'm converted all Boulderdash games from Tosec.
Without knowing that "any2gds" exists. Write my own readers.
And I compare the level sets from "gdash-levels-0.9.1.zip" (which artsoft used for RnD) with my list.
First compare in this direction.
Result: some of my extracted levelset's have more caves as in yours.
Here some few examples (see attached screenshot).
e.g. "bd_prima_boulderdash_01" you have 20 caves - I extracted 48. Assume that the other "prima" set's are similar.
Next, I want compare from my list to the level sets in "gdash-levels-0.9.1.zip"
One example:
Boulder Dash 32 (198x)(Liepa, P. & The Blockheads)
Boulder Dash 33 (1988)(Liepa, P. & The Blockheads)
Boulder Dash 37 (1988)(Liepa, P. & The Blockheads)
This set's are in my list, but not in yours.
Is there another zip?
I'm on the right way?
Cheers.
- Attachments
-
- more caves extracted
- boulder-more.png (28.71 KiB) Viewed 11319 times
Re: Boulderdash conversion
That's interesting! Did you check your converted cave sets in the game (R'n'D or GDash)?
Could you please attach an example in gds format here (like "Prima_Boulderdash_01.gds")?
BTW: The current level collection of GDash levels in R'n'D format is version 0.9.2, but that shouldn't matter here (as the level sets should be the same).
Could you please attach an example in gds format here (like "Prima_Boulderdash_01.gds")?
BTW: The current level collection of GDash levels in R'n'D format is version 0.9.2, but that shouldn't matter here (as the level sets should be the same).
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Re: Boulderdash conversion
None of them. I compare the levelinfo.conf.That's interesting! Did you check your converted cave sets in the game (R'n'D or GDash)?
I load it with an C64-Emulator (VICE). Cave can be choose up to 44, the next 4 caves are intermissions.
Do a memory dump and use one of my readers (it's in CAV/INT format).
Take a look to the dump. There are 48 caves. From $7000 up to $D000 (length of one cave is $200).
Could you please attach an example in gds format here (like "Prima_Boulderdash_01.gds")?
Not now. (I have to rewrite my readers to save in .gds format)
It's converted to .CAV and .INT files. My "rndTest" version have an native loader for this (but only for RND-Engine).
May be "any2gdash" can help. I will try it.
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Re: Boulderdash conversion
Hi,
that is curious. I started the "Prima Boulderdash 01 (1988)(Peter Liepa & No One).d64" three times, and after every start it's have different caves, but always 48 caves -> and always in CAV/INT format (in memory).
Caves are totally different to the .gds file (filename below).
The "\Rocks'n'Diamonds\levels\Boulder_Dash\No_One\Prima_Boulderdash\bd_prima_boulderdash_01\Prima_Boulderdash_01.gds"
is in a packed format (..NoOnePacker IV or something else "DL"?).
Have only 20 caves.
I take a look on the C64 disk, have "01NO ONE PRIMA" up to "21NO ONE PRIMA".
I think all cave data is in this files.
I extract one of them "prima01--01NO ONE PRIMA .PRG" -> the cave data in it (checked with my eye's) is the same as in the .gds file.
It's also packed.
Don't know how "any2desk" work, but it seems it take's only the first file?
Or another possibility is -> there are 2*21 = 42 files in the "prima" directory.
"bd_prima_boulderdash_01" up to "bd_prima_boulderdash_42"
And the two .D64 files have both 21 "xxNO ONE PRIMA" files -> so this is 42 files too.
Can someone help here?
that is curious. I started the "Prima Boulderdash 01 (1988)(Peter Liepa & No One).d64" three times, and after every start it's have different caves, but always 48 caves -> and always in CAV/INT format (in memory).
Caves are totally different to the .gds file (filename below).
The "\Rocks'n'Diamonds\levels\Boulder_Dash\No_One\Prima_Boulderdash\bd_prima_boulderdash_01\Prima_Boulderdash_01.gds"
is in a packed format (..NoOnePacker IV or something else "DL"?).
Have only 20 caves.
I take a look on the C64 disk, have "01NO ONE PRIMA" up to "21NO ONE PRIMA".
I think all cave data is in this files.
I extract one of them "prima01--01NO ONE PRIMA .PRG" -> the cave data in it (checked with my eye's) is the same as in the .gds file.
It's also packed.
Don't know how "any2desk" work, but it seems it take's only the first file?
Or another possibility is -> there are 2*21 = 42 files in the "prima" directory.
"bd_prima_boulderdash_01" up to "bd_prima_boulderdash_42"
And the two .D64 files have both 21 "xxNO ONE PRIMA" files -> so this is 42 files too.
Can someone help here?
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Re: Boulderdash conversion
Hi,
I modifiy the gdash source a little to get out some checksums for each cave.
A 16-bit Adler checksum - which is not usable for comparision, because we have over 33000 caves and 16-bit only have 65.536 possible values.
A 32-bit Adler checksum - better but not good enough. (Adler don't consider position good enough). Seven caves have the same checksum, but are not identical.
A md5 checksum - 16 Byte checksum - which is not without collisions - but is good enough for the checksum calc. (the 32-bit Adler checksum is equal too)
This leads to:
19246 caves are duplicates!
ok if you want to play at least one of each duplicate, there are 13463 caves.
5783 caves are the source for this duplicates.
e.g. \First_Star_Software\Boulder_Dash_4.bd (Boulder Dash Construction Kit) - cave 10 ("Cave 10. Drop") have 32 duplicates.
Now I can use this checksums as tool, to compare with my extracted caves.
I modifiy the gdash source a little to get out some checksums for each cave.
A 16-bit Adler checksum - which is not usable for comparision, because we have over 33000 caves and 16-bit only have 65.536 possible values.
A 32-bit Adler checksum - better but not good enough. (Adler don't consider position good enough). Seven caves have the same checksum, but are not identical.
A md5 checksum - 16 Byte checksum - which is not without collisions - but is good enough for the checksum calc. (the 32-bit Adler checksum is equal too)
This leads to:
19246 caves are duplicates!
ok if you want to play at least one of each duplicate, there are 13463 caves.
5783 caves are the source for this duplicates.
e.g. \First_Star_Software\Boulder_Dash_4.bd (Boulder Dash Construction Kit) - cave 10 ("Cave 10. Drop") have 32 duplicates.
Now I can use this checksums as tool, to compare with my extracted caves.
- LogicDeLuxe
- Member
- Posts: 655
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact:
Re: Boulderdash conversion
For detecting duplicates, you should probably exclude the colors. Several C64 tools offer an option to color the caves automatically, which either depends on the cave slot or is completely random. Pretty sure, there are quite a few cases where such duplicate caves have different colors.
There are several reasons for duplicate caves:
- The held back No One Editors in the early days. There was the Softkiller Editor with quite a few issues. Some sceners who had the No One packer, repacked quite a few games. Sometimes with different colors. If a complete game is a duplicate, the Softkiller version is the original in most cases.
An example of this is the Waterkant series from Rolf Roth. Lord Diego repacked them under a different name, I don't remember. He gave credit, but it was not the way Rolf wanted the games to be released.
- After the release of the No One packer, the original authors repacked their games themself. For example, Rolf's Waterkant series is now part of the Stone Age series, which is the intended version. If a complete game is present three times and two of them are packed with a No One Editor, the version intended by the author would be the No One Editor version which don't have different names for "present" and for the caves.
- Game compilations like the Golden Editions. They used to have selected quality caves, but in later years, there are some junk collections from other authors reusing the same menu system.
- Mix ups. There are several caves from me and Rolf ending up in the games of each other as a duplicate. Sometimes intentional, sometimes not. Sometimes, caves also got used more than once inadvertently.
- In later years, some groups blatantly ripped other games without even giving credit to the authors.
There are several reasons for duplicate caves:
- The held back No One Editors in the early days. There was the Softkiller Editor with quite a few issues. Some sceners who had the No One packer, repacked quite a few games. Sometimes with different colors. If a complete game is a duplicate, the Softkiller version is the original in most cases.
An example of this is the Waterkant series from Rolf Roth. Lord Diego repacked them under a different name, I don't remember. He gave credit, but it was not the way Rolf wanted the games to be released.
- After the release of the No One packer, the original authors repacked their games themself. For example, Rolf's Waterkant series is now part of the Stone Age series, which is the intended version. If a complete game is present three times and two of them are packed with a No One Editor, the version intended by the author would be the No One Editor version which don't have different names for "present" and for the caves.
- Game compilations like the Golden Editions. They used to have selected quality caves, but in later years, there are some junk collections from other authors reusing the same menu system.
- Mix ups. There are several caves from me and Rolf ending up in the games of each other as a duplicate. Sometimes intentional, sometimes not. Sometimes, caves also got used more than once inadvertently.
- In later years, some groups blatantly ripped other games without even giving credit to the authors.
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Re: Boulderdash conversion
Many thanks for this retrospective.
Information about this deep connections are very interesting.
We would like more of it.
I only compare the (resulting) map. Colors are not compared.
Not even the times or diamond values or the other properties.
It may be that the caves are more difficult, but it's the same map.
I put the calculated checksum's into a database (SQlite) so its easy to find the duplicates.
Information about this deep connections are very interesting.
We would like more of it.

I only compare the (resulting) map. Colors are not compared.
Not even the times or diamond values or the other properties.
It may be that the caves are more difficult, but it's the same map.
I put the calculated checksum's into a database (SQlite) so its easy to find the duplicates.
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Re: Boulderdash conversion
Hi,
I convert available .d64 files from Tosec.
Doing this, an issue comes up:
The convert table for crli caves are wrong. I tested this with the editor and the real game and additionally in debug mode.
Some old .Bd files which are delivered with gdash have wrong interpreted butterflies.
Here a list of them. If someone have the original .D64 file, please send it to me, Then I can make a dump without this error.
See the attached screenshot.
Please help.
Arno21 and some others have this issue too, but I have already the original .d64 file.
Cheers
I convert available .d64 files from Tosec.
Doing this, an issue comes up:
The convert table for crli caves are wrong. I tested this with the editor and the real game and additionally in debug mode.
Some old .Bd files which are delivered with gdash have wrong interpreted butterflies.
Here a list of them. If someone have the original .D64 file, please send it to me, Then I can make a dump without this error.
See the attached screenshot.
Please help.
Arno21 and some others have this issue too, but I have already the original .d64 file.
Cheers
- Attachments
-
- BD-missingOrigin.png (128.71 KiB) Viewed 1509 times
- LogicDeLuxe
- Member
- Posts: 655
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact:
Re: Boulderdash conversion
Most, if not all of them should be right here in the database: https://www.boulder-dash.nl/bdgb/index.php
Apparently, butterflies are not the only issue here. Some month ago, CWS noticed that my Crazy Dream 8+9 have the amoeba set far too fast in the current .BD files. Checking the .GDS file of Crazy Dream 8 from the old version, that it worked correctly in old GDash, but loads with the same bug in newer GDash versions. The .GDS file of Crazy Dream 9 didn't load at all in newer GDash.
I don't get why some of the .GDS files were replaced with broken .BD files. After all, the point of having those .GDS files is to keep the original cave data and any interpretation issues can be fixed in the engine itself.
Apparently, butterflies are not the only issue here. Some month ago, CWS noticed that my Crazy Dream 8+9 have the amoeba set far too fast in the current .BD files. Checking the .GDS file of Crazy Dream 8 from the old version, that it worked correctly in old GDash, but loads with the same bug in newer GDash versions. The .GDS file of Crazy Dream 9 didn't load at all in newer GDash.
I don't get why some of the .GDS files were replaced with broken .BD files. After all, the point of having those .GDS files is to keep the original cave data and any interpretation issues can be fixed in the engine itself.
-
- Member
- Posts: 9
- Joined: Thu May 30, 2024 7:24 pm
Re: Boulderdash conversion
Thanks,
I found most of it.
In the BDGB database the download link for "Demalion Dash 02-Yosh" point to the remix version, but I found it on another place.
Still missing:
- "Rockford's Tale" -> only .BD file is available
- "Tutorial" -> made by Marek Roth - may be you can ask this guy
- "Crli_Caves" -> made by Sendy
What do you mean with "old gdash" / "new gdash" -> where is the difference? can you tell me the commit hash?
Schöne Grüße/Greets
I found most of it.
In the BDGB database the download link for "Demalion Dash 02-Yosh" point to the remix version, but I found it on another place.
Still missing:
- "Rockford's Tale" -> only .BD file is available
- "Tutorial" -> made by Marek Roth - may be you can ask this guy

- "Crli_Caves" -> made by Sendy
What do you mean with "old gdash" / "new gdash" -> where is the difference? can you tell me the commit hash?
Schöne Grüße/Greets
- LogicDeLuxe
- Member
- Posts: 655
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact:
Re: Boulderdash conversion
Old GDash is here and goes back to 2015: https://bitbucket.org/czirkoszoltan/gdash/src/master/
My archived version is even a bit older, from 2013. But any2gdash was already lost at that point.
It used to be available at http://jutas.eet.bme.hu/~cirix/gdash
but it is gone. The page is in on archive.org, but the downloads aren't available there either.
It moved to google code, but that one is gone long ago as well.
New GDash is this fork: https://github.com/revvv/gdash-export-CrLi
The Tutorial was meant as an introduction for new users not familiar with the elements of either the original Boulder Dash, the First Boulder or the Crazy Light engines. It is available on my homepage: https://www.gratissaugen.de/erbsen/tutor.zip
My archived version is even a bit older, from 2013. But any2gdash was already lost at that point.
It used to be available at http://jutas.eet.bme.hu/~cirix/gdash
but it is gone. The page is in on archive.org, but the downloads aren't available there either.
It moved to google code, but that one is gone long ago as well.
New GDash is this fork: https://github.com/revvv/gdash-export-CrLi
The Tutorial was meant as an introduction for new users not familiar with the elements of either the original Boulder Dash, the First Boulder or the Crazy Light engines. It is available on my homepage: https://www.gratissaugen.de/erbsen/tutor.zip
Re: Boulderdash conversion
This is all very interesting, and I will also check and compare the ".gds" versions with the ".bd" versions of the cave sets mentioned here, and how they might differ regarding playability/solvability of caves as mentioned.
Regarding "old GDash" vs. "new GDash": As far as I understand this, "old GDash" is the first version that was written in C, while "new GDash" is the current version that is written in C++. According to the various source code packages of GDash that I have available, the old (first), C based version started in 2008 (distributed as tar.gz archives), with the last C based version released in 2010. Then, after some years of silence, a new, C++ based version was released in 2013, which is the version developed until today. You should be able to find the first public GDash code version from 2008-07-15 (including "any2gdash.c") as the first commit hash 52ca18d1 in the current "gdash-export-CrLi" repository as mentioned by LogicDeLuxe above.
For quick access, I have attached the file "any2gdash.c" from my old GDash archive of 2009-11-08 that I have used for the GDash engine in R'n'D (which is now compatible with the old and new GDash game engine for existing replays, while using the new engine version for playing). (I had to zip that file to be able to attach it here.)
Regarding "old GDash" vs. "new GDash": As far as I understand this, "old GDash" is the first version that was written in C, while "new GDash" is the current version that is written in C++. According to the various source code packages of GDash that I have available, the old (first), C based version started in 2008 (distributed as tar.gz archives), with the last C based version released in 2010. Then, after some years of silence, a new, C++ based version was released in 2013, which is the version developed until today. You should be able to find the first public GDash code version from 2008-07-15 (including "any2gdash.c") as the first commit hash 52ca18d1 in the current "gdash-export-CrLi" repository as mentioned by LogicDeLuxe above.
For quick access, I have attached the file "any2gdash.c" from my old GDash archive of 2009-11-08 that I have used for the GDash engine in R'n'D (which is now compatible with the old and new GDash game engine for existing replays, while using the new engine version for playing). (I had to zip that file to be able to attach it here.)
- Attachments
-
- any2gdash.zip
- (8.19 KiB) Downloaded 87 times