steffest / DPaint-js

Webbased image editor, modeled after the legendary Deluxe Paint with a focus on retro Amiga file formats: read and write Amiga icon files and IFF ILBM images
https://www.stef.be/dpaint/
MIT License
481 stars 28 forks source link

Add atari st compression support #26

Closed warpdesign closed 2 months ago

warpdesign commented 2 months ago

This PR adds support for ByteRun2 compression: files generated by the Atari ST version of Deluxe Paint use this compression method.

Bitplanes are compressed as columns.

After this PR, files coming from the Deluxe Paint Atari ST version can now be opened in DPaint-js:

Capture d’écran 2024-06-20 à 17 41 24

steffest commented 2 months ago

Dude! I have a copy of Deluxe Paint for Atari ST right here, but as a die-hard Amiga fan I just couldn't get myself to dive in :-) Thanks so much for this, totally awsome. Found some example files and I can conform this totally works. AWESOME.

dpst

warpdesign commented 2 months ago

Glad that makes you happy :) It wasn't easy: there isn't much documentation about it, and I couldn't find a file with the proper compression before I thought about using the real application.

I only tested a few files: I wouldn't be surprised if there were some new chunks specific to the ST version. But at least that's a start :)

warpdesign commented 2 months ago

Btw I'm curious: does the ST version of DPaint open Amiga files? If it does, what happens with files with more than 16 colors?

steffest commented 2 months ago

It loads them, but it just ignores the additional bitplanes. This is the view when the 32 color KingTut image of the Amiga version is loaded in the ST version, only the first 4 bitplanes are displayed

image
warpdesign commented 2 months ago

I see: for 1990 you can't expect more I guess. What about the other way around: can you open ST files using the Amiga version of DPaint?

steffest commented 2 months ago

Nope. It detects the format correctly, but then it barfs, probably on the compression. image image