Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.ar6 compression file format from m602 #39

Closed
mariolacko opened this issue Jan 30, 2022 · 3 comments
Closed

.ar6 compression file format from m602 #39

mariolacko opened this issue Jan 30, 2022 · 3 comments

Comments

@mariolacko
Copy link

Can you add support for ar6 format from Manažér 602 ?

@temisu
Copy link
Owner

temisu commented Jan 31, 2022

Hi,

Basically I'm pretty open implementing new formats, as long they are

  1. Identifyable in the bitstream
  2. Not archive formats (like zip, lha) but compression formats (like gzip, bzip2)
  3. Not terribly complicated, or broken.
  4. It provides value to someone i.e. not so esoteric format that is not used at all.

In that tune I tried to find more information than what there is on that linked wikipedia page, but it looks like there really is not much. I can see there are two versions of the M602 and there is compression AR6 mentioned. But finding files or documentation is not possible.

Is there a chance you can help me trying to find more information about the format since most of the information seems to come from czech pages? Bare minimum would be to get some test files (and any documentation if it exists) Standalone compression tools would be great if they exist. Going through a huge DOS real mode executable like that M602 trying to find a compression algorithm is not really feasible, unless the format itself is copy of some known algorithm

Thanks

@mariolacko
Copy link
Author

Hello. There in files.zip are two files. files.txt and files.ar6 ar6 file, which is a compressed files.txt file.

@temisu
Copy link
Owner

temisu commented Jul 13, 2023

Finally got some time to debug the file

00000000 41 52 36 00 46 49 4c 45 53 2e 41 52 36 20 20 20
00000010 00 00 41 52 36 01 64 00 00 02 83 94 47 54 d9 71
^^^^^^^^ ^^^^^^^^^^^ ^^^^^
File hdr. timestamp crc32
00000020 cd a2 f5 01 00 00 e8 05 00 00 09 00 00 00 46 49
^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^
crc32 compr. len uncompr. len name len name
00000030 4c 45 53 2e 54 58 54 01 06 44 c4 1e 0c dd 94 c9
^^^^^^^^^^^^^^^^^^^^ ^^->
name compressed stream
00000040 b6 b7 0c 4f d7 2c 08 5b 88 3c c5 51 bd a1 7b d3
...
00000220 fa d3 d7 8f ab a3 d9 f6 3a 04 fc 03 41 52 36 02
<-^^ ^^->
compressed stream dir. entry
00000230 64 00 00 02 83 94 47 54 d9 71 cd a2 f5 01 00 00
00000240 e8 05 00 00 09 00 00 00 00 00 00 00 12 00 00 00
00000250 20 00 46 49 4c 45 53 2e 54 58 54 41 52 36 03 00
00000260 00 00 00 2c 02 00 00 00 00 2f 00 00 00 00 00

This is not just a compression format. this is archiver like zip (very close to zip in fact). This means that it does not really fit into the codebase. I'll keep the file as a reference in future if I extend the project to archivers (currently I'm working in opposite direction)

For the actual compression format - there does not seem to be any direct indication what it might be. And since I do not have access to the executable it is pretty hard to dig any further.

In any case thanks for following up on this but I currently do not see this being implemented

@temisu temisu closed this as not planned Won't fix, can't repro, duplicate, stale Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants