Unpacking BDS-C.ARC with... dEARHIWATOR

By Fissuras

Supporter (4)

Fissuras's picture

14-08-2016, 13:04

Hi guys, here comes a problem I could not solve... yet.

I was first looking for an elusive ALPHA-C compiler - a lite BDS-C compiler sold in Japan - until I've found two binaries listed on Novatec Archive called alfa-c.arc and bdsc-arc. Lucky as I am, they were not available on that site, and nowhere else.
After searching all the mirrors I could find, I eventually found a mirror on archive.org that had bds-c.arc (but not alfa-c).
Here is the link: Old Mirror

As stated on the page, ARC files are supposed to be unpacked by ARCDE.COM on MSX only. Problem is... ARCDE doesn't run at all no matter what I do. Not even praying or cursing, nor on MSX emulators nor on CPM emulators. It was a dead end.

I tried all sort of unpackers both on PC and on MSX but no one was able to unpack the file, so I thought it could be damaged.

One day I've found a little utility called XARC.COM which looked a lot like ARCDE.COM, with the same binary size and a few similarities binary wise. Running it on a MSX would produce a little garbage but I saw there were a few switches. I tried XARC -d bdsc.arc and... it listed all files inside the archive (SO THE ARCHIVE ISN'T BROKEN OR DAMAGED).

Problem is.. I can't figure out how to unpack the files as I don't understand the messages that are shown (probably some language with characters not shown on common ASCII table).

I tried running on a CP/M emulator on PC and the messages got a little more understandable, but I had no luck figuring the correct options. Here is what I got:

A>xarc
dEARHIWATOR V1.03
wYZOW: >xarc [KL@^I] IMQ_ARHIWA [WYH.DISK]
kL@^I: -p[PAROLX]
-d WYDATX OGLAWLENIE ARHIWA
-eFAJL IZWLE^X UKAZANNYE FAJLY (Y/N/G)
64k CP/M Vers 2.2

So there are "-p, -d and -e" options. probably '-p' is used to pack, "-d" is for listing and '-e' probably extracts files from the archive. but it does nothing no matter what I type (xarc -e, xarc -eF, xarc -eFAJL, xarc -eFAJLY).

At this point I kind of gave it up and decided to ask for some help.

What to you think guys?

Thanks in advance!

Login or register to post comments

By Sylvester

Champion (447)

Sylvester's picture

14-08-2016, 16:44

arcde.com is a japanese tool, this is the help text:

I also couldn't get it working, the -e option doesn't give any output with the bds-c archive.

But BDS-C is open source and public domain: http://www.bdsoft.com/resources/bdsc.html :)
I also have ALPHA-C for MSX, just send me an email if you want it.

By Fissuras

Supporter (4)

Fissuras's picture

14-08-2016, 17:12

Sylvester wrote:

arcde.com is a japanese tool, this is the help text:

I also couldn't get it working, the -e option doesn't give any output with the bds-c archive.

But BDS-C is open source and public domain: http://www.bdsoft.com/resources/bdsc.html :)
I also have ALPHA-C for MSX, just send me an email if you want it.

Part of the mistery solved! I did not manage to run ARCDE... it always hang, so I tried that XARC thing...

I do have de BDS-C from Bdsoft page, but I would like to see which version is in this archive and whatever else is in there (some msx lib maybe...).

I'll e-mail you for I want to check alpha-c too!

By Fissuras

Supporter (4)

Fissuras's picture

14-08-2016, 19:20

On a side note, I believe the -p switch is used for unpacking.
I tried "xarc -p bdsc.arc b:*.*"
it asked for something. I pressed "enter"
Then it showed a file name. So I pressed "Y" and it unpacked the file. I kept pressing "y" for each file (and later I discovered I can press "G" the first time, works like 'ALL')

unfortunatly, all files are garbage.

By RetroTechie

Paragon (1563)

RetroTechie's picture

14-08-2016, 22:45

Tried an UNARC.COM I have here. It complained about a bad header, xx bytes skipped, and trying to list contents produced garbage. Never mind extracting.

Had a look at this bds-c.arc file, and looks more like a set of directory entries - but not quite. Rest of the file looks more like code to me than compressed data. Linux "file" utility identifies this file as just "data".

Summarized: I'd think this is a damaged archive / junk data. Perhaps it could be a CP/M disk image or similar? Question But that's a verrryyy long shot, and there's many formats of that. Unless you can find a different specimen elsewhere, I'd just forget about this bds-c.arc file...

By Fissuras

Supporter (4)

Fissuras's picture

15-08-2016, 00:01

I've checked all files from that mirror... they are all bad. So the search for a good BDS-C.ARC and ALFA-C.ARC continues...
Sorry to waste your time.

By Briqunullus

Master (147)

Briqunullus's picture

16-09-2020, 09:00

To anyone still hoping for these files, they are truly broken.

Technical details: I found another copy of ARCDE.COM that actually works. When I compared this one against the one from the link above, I discovered all bytes 0xc0 and above had been shuffled. So I recreated the pattern, wrote a tool, and unshuffled them.

And then I got hit by a curveball. All bytes 0xa8 have been replaced by 0xb3. So if you encounter a 0xb3 it can either be a true 0xb3 or it should be replaced by 0xa8. For a small file, you can maybe go with trial and error. But on a 350K archive? Good luck with that.

Still wondering what caused this kind of havoc though...

By bsittler

Resident (57)

bsittler's picture

16-09-2020, 17:49

Btw the help text of xarc you pasted above is in Cyrillic script, encoded in one of the KOI8 encodings, likely in the Russian language using KOI8-R. If you run it in an 8-bit terminal emulator with correct encoding, the Russian(?) text should at least look right

As for the archive file corruption, likely it's due to character set conversion because the binary file was erroneously treated as text

edit: the character encoding should work correctly inside Yamaha YIS-805/128R2 and Yamaha YIS-503IIIR, maybe you can try XARC in one of these either physically or in emulation?

By Briqunullus

Master (147)

Briqunullus's picture

16-09-2020, 20:03

XARC and ARCDE are probably different versions of the same program. Both use Cyrillic script.

But that still leaves the archives with the byte corruption that I described in my previous post. I can correct most of it except that 0xa8/0xb3 substitution.

By bsittler

Resident (57)

bsittler's picture

17-09-2020, 00:53

Imprecise translation of the first one with Mr. Google's assistance and guessing, second is nearly identical:

File dearchiver 1.01
Usage: xarc [keys] archive_file [drive]
Keys: -p[password] - set password
-d - display the contents of the archive file
-efile - extract only the specified file