The Unarchiver PMA decompression support

by sd_snatcher on 06-10-2013, 12:10
Topic: MSX Related
Languages:

The Unarchiver is a much more capable replacement for "Archive Utility.app", the built-in archive unpacker program on Mac OS X. The new version, 3.9.1 adds the much awaited support for decompressing PMA files. Now, at least on Mac OS-X it will be much easier to handle those PMA files directly without having to resort to emulation to extract the files.

Relevant link: The Unarchiver

Comments (8)

By NYYRIKKI

Enlighted (5898)

NYYRIKKI's picture

09-10-2013, 21:21

I want PMA-support for windows GUI based application as well!

By Manuel

Ascended (18392)

Manuel's picture

09-10-2013, 23:54

A Japanese guy named Arai had taken over maintenance of a UNIX lha version once, and he was interested in supporting the PM2 method. I got him the lha-pma code which Maarten once wrote. It seems that he did integrate it at some point, see: http://sourceforge.jp/projects/lha/ (it contains Maarten's PM2 stuff in the Git repository, but it hasn't been released for years, so that code was never officially released.)

But, the good news is, it seems lhasa supports pm1 and pm2! See https://github.com/fragglet/lhasa

By sd_snatcher

Prophet (3498)

sd_snatcher's picture

10-10-2013, 00:20

I did the backstage work of convincing The-Unarchiver and the Lhasa authors to add PMA & PM1 support, respectively, and they were very receptive.

I also asked the 7zip guys to add PMA support, but there was no answer until now. Maybe someone here can help them with implementing that feature?

By Manuel

Ascended (18392)

Manuel's picture

10-10-2013, 09:46

sd_snatcher: ah, right, I was already suspecting that, I saw some forum threads for several programs where you suggested the stuff. Was lhasa the first one? Did they use Maarten's code as well? (You pointed to his code in some forum posts.)

By sd_snatcher

Prophet (3498)

sd_snatcher's picture

12-10-2013, 04:39

AFAIF, they peeked at each other code, but ended up creating their own solutions. Curiously, both The-Unarchiver and Lhasa already had some degree of support for PM0 and PM2 compression methods, but they lacked PM1 support (that Marten's code also lacked) and the authors had no good set of files for testing (and not a single PM1 file). I then pointed them directly to the right directories on the MSX archive and everything went fine. Those guys are really good, they were able to figure out the PM1 compression quickly.

By Manuel

Ascended (18392)

Manuel's picture

12-10-2013, 13:21

Looks like -pm1- support for lhasa was written in May 2012 already.

First version of PMA (-pm2-) was done in June 2011 (only 2 months after starting the project!): https://github.com/fragglet/lhasa/commit/e62b65948b9269aa0c9...

He even writes:

// Decoder for PMarc -pm2- compression format.  PMarc is a variant
// of LHA commonly used on the MSX computer architecture. 

Did you also hint him to implement it at/before that time?

By sd_snatcher

Prophet (3498)

sd_snatcher's picture

12-10-2013, 15:25

Yes, Lhasa had preliminary -pm1- support, but it wasn't working properly because Simon lacked real -pm1- files to test it. This is what happened until then:

$ ./lha.exe t 1MBRAM.PMA
temp.txt        - CRC error   ooooo
1mb-1.txt       - CRC error   oooooooo
1mb-2.txt       - CRC error   oooooo
1mb-1.mag       - CRC error   oooooo
1mb-2.mag       - Tested   :  oooooo
readme.1st      - Tested   :  o
readme.txt      - CRC error   o