PhotoChrome v6

GFA, ASM, STOS, ...

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

Post Reply
CiH
Atari God
Atari God
Posts: 1156
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: PhotoChrome v6

Post by CiH »

Nothing else to add to the thread, but good to see you Doug and hope that you and your family are all well.
"Where teh feck is teh Hash key on this Mac?!"
User avatar
Schlampf
Atariator
Atariator
Posts: 27
Joined: Sun Oct 14, 2018 8:01 pm
Location: Germany
Contact:

Re: PhotoChrome v6

Post by Schlampf »

PhotoChrome v6 and STe
RTFM - OK, but maybe someone likes to summarize it?
What's the easiest way?
How do you get the best results?
Requirements source material?
PC graphic viewer for the converted images?
Slide show at Atari - how?
THX in advance?
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
[url]https://sway.office.com/GjgDbst8eHY6Jraz?ref=Link/url]
TheInstinct
Atarian
Atarian
Posts: 8
Joined: Tue Jul 26, 2016 1:28 pm

Re: PhotoChrome v6

Post by TheInstinct »

Hi,

I read the whole thread and was highly interested by all exchanges and would like to congratulate dml for the hard work done in this area. I wanted to experiment this photochrome by myself and am a little bit confused. In the documentation it is specified that "PCS is a Posix application. This means it is written primarily for a *nix (Linux, Mac) environment but it also operates in a Windows environment (via Cygwin – a kind of Linux emulation layer)." but I only see a "Win32" folder that contains pcs.exe. Is there a version compiled for osx somewhere? Are we forced to go to windows?
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

Schlampf wrote: Sun Jun 21, 2020 9:55 pm RTFM - OK, but maybe someone likes to summarize it?
It's for displaying images on an ST/E as close to the original source colour resolution as possible. So you shove in 24bit true colour images and get something close to it on the Atari display.
Schlampf wrote: Sun Jun 21, 2020 9:55 pm What's the easiest way?
Converting the images is easy - just copy an example command from the PDF manual - but to display the images in a new program (e.g. a game or demo) you need to call some 68k code. I provide that code in my AGT game engine in another thread.
Schlampf wrote: Sun Jun 21, 2020 9:55 pm How do you get the best results?
Ideally the source image is the same size as the Atari display size, which is about 408 x 270 pixels. But it doesn't have to be. The images get rescaled for you. Taller images can be scrolled if preferred.

Otherwise you don't need to do much to get good results.

To get 'best' results would mean fiddling with command settings and increasing conversion time. Usually the improvement from this is small, depends on the image.
Schlampf wrote: Sun Jun 21, 2020 9:55 pm Requirements source material?
PNG, JPG etc.
Schlampf wrote: Sun Jun 21, 2020 9:55 pm PC graphic viewer for the converted images?
There isn't one for v6. However the convertor outputs a bunch of diagnostic PNGs showing you what it should look like on the Atari display, complete with any losses. This is more convenient. I just use that to descide if the conversion is good or not.

The main point of PCS is to display high colour directly on Atari, not really to view images on a PC.
Schlampf wrote: Sun Jun 21, 2020 9:55 pm Slide show at Atari - how?
THX in advance?
Could easily bake the ST/e sample code into a slideshow program. I probably did that part already. It's been quite a few years though so I can't remember for sure.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

CiH wrote: Sun Apr 05, 2020 12:29 pm Nothing else to add to the thread, but good to see you Doug and hope that you and your family are all well.
Thanks CiH, best wishes to you & yours also. :)
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

TheInstinct wrote: Mon Jun 22, 2020 8:55 am Hi,
I read the whole thread and was highly interested by all exchanges and would like to congratulate dml for the hard work done in this area."
Many thanks :)
TheInstinct wrote: Mon Jun 22, 2020 8:55 am I wanted to experiment this photochrome by myself and am a little bit confused. In the documentation it is specified that "PCS is a Posix application. This means it is written primarily for a *nix (Linux, Mac) environment but it also operates in a Windows environment (via Cygwin – a kind of Linux emulation layer)." but I only see a "Win32" folder that contains pcs.exe. Is there a version compiled for osx somewhere? Are we forced to go to windows?
Yes that side of things is a bit confusing - it was originally written to run on an Atari and was targeted for MiNT GCC. It was being built that way for a all the early versions. More recently the 'compute' requirements got into a range that running it natively on Atari wasn't exactly ideal - and by then it was mainly being developed to run with Cygwin on Windows. Because of this, it was still being built with GCC there and still Posix-oriented code.

I don't remember if I made a build configuration for any other host (Linux/MacOS) because most of my Atari dev has been under Windows - but it probably would not be difficult to do. I have a Mac here so I might just see if I can get it to work when I have a spare hour or so.
TheInstinct
Atarian
Atarian
Posts: 8
Joined: Tue Jul 26, 2016 1:28 pm

Re: PhotoChrome v6

Post by TheInstinct »

I have a Mac here so I might just see if I can get it to work when I have a spare hour or so.
It would be fantastic.

In the meantime I understand that I need to execute it in cygwin.

Note: I tried moving alien416.txt and aline.png in Win32, modified the command line to remove"./" and revisit the path to the profiles but it crashed. I think I don't use t properly.

psc alien416.png works. It sounds to be something with paremeters. I continue to explore.
Last edited by TheInstinct on Mon Jun 22, 2020 2:19 pm, edited 2 times in total.
TheInstinct
Atarian
Atarian
Posts: 8
Joined: Tue Jul 26, 2016 1:28 pm

Re: PhotoChrome v6

Post by TheInstinct »

Here is what I observed:
1) -y 272 creates a crash in cygwin ---> I have "> Converting image... 2 [main] pc1564 cygwin_exception::open_stackdumpfile: Dumping stack trace to pcs.exe.stackdump" and so I have the dump file if you're interested.

2) Refering to pct ..\profiles\type1pct.csv also causes a crash. "parsing new linedef into 272 lines [1->272] 3 [main] pcs 2128 cygwin_exception...."

I used your image alien416.png that I checked is 272 lines picture. I hope it helps. I will now install cygwin to see if I have the same behaviour. It may be due to the provided dll.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

TheInstinct wrote: Mon Jun 22, 2020 2:08 pm Note: I tried moving alien416.txt and aline.png in Win32, modified the command line to remove"./" and revisit the path to the profiles but it crashed. I think I don't use t properly.
psc alien416.png works. It sounds to be something with paremeters. I continue to explore.
Are you referring to the path to the input image e.g.

pcs -o x.pcs ./reference.png

...or are you trying to pass one of the custom profile .csv files to it?
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

I'm at a slight disadvantage here vs usual because PCS project files I have here (6.40) are quite a bit ahead of the released one (6.30)... but I do have a copy of it handy. Here's an example of launching it with a custom profile:

There is quite a bit of spam coming back while it parses & converts. You should see some thing similar if it works.

The extra args are partly to configure the profile and output format, partly to enable diagnostics (-dg) and partly to tune the conversion quality (-m 5 -nnd 9 etc...). These are in the manual.

Code: Select all

$ pcs630 -dg -s 3 -y 272 -pct oldpct/pcs62pct.csv -cd 4 -f 1 -m 5 -nnd 9 -dt 5 -wp reference.png
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
PhotoChrome/CryptoChrome ST/E image tool v6.30
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
reading user-defined PCT (pixel conversion / timing table)...
skipping comment: ; timing map for 416(x272) pixels -> 4 x 16-colour palettes
skipping comment: ; timing for all scanlines identical
skipping comment: ; <width>
change mode: [header]
mode: [header]
reading custom profile: width=416, ncolours=16, nplanes=4, npalettes=4, nskips=0, firstline=1
skipping comment: ; old-style PCS files have typeid=0
change mode: [typeid]
mode: [typeid]
 scanned typeid: 1
change mode: [fixed]
mode: [fixed]
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
 scanned fixed: 000
change mode: [272]
mode: [linedefs]
parsing new linedef into 272 lines [1->272]
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
generating PCT lace-sync table
analyzing PCT colour slots (xsize=416,ysize=272,c=16)
PCT colours available per line: min=63, max=63
generating PCT wakeup protection (xsize=416,ysize=272,c=16)
opened FreeImage... [3.15.3]
> reading source image [reference.png]...
PhotoChrome mode
output: 416x272 @ 4 bpp
> converting image...
iteration:  500/  512, radius(0.076), alpha(0.000289), sqerr:97.20
performing diagnostic passes...
Bias   = 0.216458 / 255 (0.0849%)
uRange = -0.186710 / 255 (-0.0732%)
lRange = -0.037396 / 255 (-0.0147%)
nRange = 4.992771
LinERR(virt) = 1.799859%
VecERR(virt) = 4.367626%
SquERR(virt) = 0.00018161
LinERR(8bit) = 2.322453%
VecERR(8bit) = 4.625608%
SquERR(8bit) = 0.00015584
writing final diagnostic...
> creating output file...
creating output file [reference.PCS]
closed FreeImage...
complete!
TheInstinct
Atarian
Atarian
Posts: 8
Joined: Tue Jul 26, 2016 1:28 pm

Re: PhotoChrome v6

Post by TheInstinct »

From your website the only version of photochrome I've been able to download is 6.21rc2. I don't have that oldpct/pcs62pct.csv neither that reference.png to test even if I assume I can test with type1pct.csv and alien416.png and so I did:

pcs -dg -s 3 -y 272 -pct oldpct/type1pct.csv -cd 4 -f 1 -m 5 -nnd 9 -dt 5 -wp alien416.png

it results in a big crash with a panel displaying the following message "pcs.exe has stopped working. A problem caused the program to stop working correctly. Please close the program." and a single button to press to "Cloud the program".

It maybe due to my version of PCS. I thought 6.21 was the very last as got from your website. Is 6.30 public?
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

The site has some old stuff on it. I'll link version 6.30 here soon.

I think the crash may be some issues with Cygwin DLLs & version compatibility. I have seen it before. The most recent binaries have been built with MinGW instead of Cygwin, which helps. (The resulting binary will still run under Cygwin, just doesn't depend on those runtime libraries).
TheInstinct
Atarian
Atarian
Posts: 8
Joined: Tue Jul 26, 2016 1:28 pm

Re: PhotoChrome v6

Post by TheInstinct »

Oh great. Can't wait to test with the last version. Any idea when you'll post the link to last version?
User avatar
Schlampf
Atariator
Atariator
Posts: 27
Joined: Sun Oct 14, 2018 8:01 pm
Location: Germany
Contact:

Re: PhotoChrome v6

Post by Schlampf »

Oh, some answers - nice and thank you.
Today i´ve tried to convert two pics. one is working (Complete! :-) ) the other one shows

iteration: 4000/ 4096, radius(0.076), alpha(0.000289), sqerr:36.90
> creating output file...
1 [main] pcs 3276 cygwin_exception::open_stackdumpfile: Dumping stack trace to pcs.exe.stackdump

The bigger problem is, that i canot open the pcs on my STEs with PCSV6 . First ´ve tried my Mega STE and it says "sorry - this mode only works on standards"
Then i´ve tried my standard STE (ok, TOS 2.06, 4MB, Ultrasatan...) and got the same message.

Wrong viewer??
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
[url]https://sway.office.com/GjgDbst8eHY6Jraz?ref=Link/url]
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 352
Joined: Tue Sep 13, 2016 9:24 am

Re: PhotoChrome v6

Post by mrbombermillzy »

@Schlampf: It runs on TOS1.62 but not 2.06 for the STe.
User avatar
Schlampf
Atariator
Atariator
Posts: 27
Joined: Sun Oct 14, 2018 8:01 pm
Location: Germany
Contact:

Re: PhotoChrome v6

Post by Schlampf »

Damn... :-(
Any Chance for future releases supporting it?
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
[url]https://sway.office.com/GjgDbst8eHY6Jraz?ref=Link/url]
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 352
Joined: Tue Sep 13, 2016 9:24 am

Re: PhotoChrome v6

Post by mrbombermillzy »

Try using SelTOS :)
User avatar
Schlampf
Atariator
Atariator
Posts: 27
Joined: Sun Oct 14, 2018 8:01 pm
Location: Germany
Contact:

Re: PhotoChrome v6

Post by Schlampf »

SelTOS - nice one - i´ll give it a try.
Meanwhile i´ve switched to Hatari with 1.62 for testing.
Now i got the message "sorry - shows 416*272 type #1 images only"
As mentioned above i´ve used a 408 x 270 source picture
and
pcs -cd ste -f 2 -m 5 -nnd 12 -lt 3 -dt 1 -et 1 -ei 4 starm_sd.jpg
Any suggestions?
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
[url]https://sway.office.com/GjgDbst8eHY6Jraz?ref=Link/url]
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

TheInstinct wrote: Mon Jun 22, 2020 7:33 pm Oh great. Can't wait to test with the last version. Any idea when you'll post the link to last version?
I'm going to try it tonight - but i need to make sure all the files match etc. before I do :-)

I'll post a link here when its up.
User avatar
Schlampf
Atariator
Atariator
Posts: 27
Joined: Sun Oct 14, 2018 8:01 pm
Location: Germany
Contact:

Re: PhotoChrome v6

Post by Schlampf »

dml wrote: Mon Jun 22, 2020 9:54 am
There isn't one for v6. However the convertor outputs a bunch of diagnostic PNGs showing you what it should look like on the Atari display, complete with any losses. This is more convenient. I just use that to descide if the conversion is good or not.

The main point of PCS is to display high colour directly on Atari, not really to view images on a PC.
While i am struggeling to display the picture on the STe it seems that AtariSTPlusPicView115 is able to show the converted Pic on PC. Bute for sure - the st is the goal...
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
[url]https://sway.office.com/GjgDbst8eHY6Jraz?ref=Link/url]
User avatar
Schlampf
Atariator
Atariator
Posts: 27
Joined: Sun Oct 14, 2018 8:01 pm
Location: Germany
Contact:

Re: PhotoChrome v6

Post by Schlampf »

dml wrote: Mon Jun 22, 2020 9:52 pm
TheInstinct wrote: Mon Jun 22, 2020 7:33 pm Oh great. Can't wait to test with the last version. Any idea when you'll post the link to last version?
I'm going to try it tonight - but i need to make sure all the files match etc. before I do :-)

I'll post a link here when its up.
Thank you very much, your help is much appreciated!
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
[url]https://sway.office.com/GjgDbst8eHY6Jraz?ref=Link/url]
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

Schlampf wrote: Mon Jun 22, 2020 9:50 pm SelTOS - nice one - i´ll give it a try.
Meanwhile i´ve switched to Hatari with 1.62 for testing.
Now i got the message "sorry - shows 416*272 type #1 images only"
As mentioned above i´ve used a 408 x 270 source picture
and
pcs -cd ste -f 2 -m 5 -nnd 12 -lt 3 -dt 1 -et 1 -ei 4 starm_sd.jpg
Any suggestions?
By default PCS is outputting the older (type0) PCS format which is 320x200 and that 'special' viewer with v6 is expecting images generated using one of the newer (type1) custom profiles for 416x272.

I will post an update here soon which will contain PCS, the profiles and the viewer all tested together.
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

Fell into a bit of a rabbithole tonight - apparently I still have 23 different versions of everything I made and didn't keep many notes. The viewer was not displaying newly converted images properly while older ones looked fine. Took me a bit of digging to find the mismatch.

I eventually figured out that I had upgraded v6 to generate images which can be scrolled vertically - which changed some timings - but hadn't updated the profiles in the main package. :-/

In any case the viewer is now properly displaying images converted with v6.30 (and so any later version) so I'll make a package tomorrow and upload it with examples.
TheInstinct
Atarian
Atarian
Posts: 8
Joined: Tue Jul 26, 2016 1:28 pm

Re: PhotoChrome v6

Post by TheInstinct »

dml wrote: Tue Jun 23, 2020 12:54 am Fell into a bit of a rabbithole tonight - apparently I still have 23 different versions of everything I made and didn't keep many notes. The viewer was not displaying newly converted images properly while older ones looked fine. Took me a bit of digging to find the mismatch.

I eventually figured out that I had upgraded v6 to generate images which can be scrolled vertically - which changed some timings - but hadn't updated the profiles in the main package. :-/

In any case the viewer is now properly displaying images converted with v6.30 (and so any later version) so I'll make a package tomorrow and upload it with examples.
Terrific. I'll test immediately :o
User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3583
Joined: Sat Jun 30, 2012 9:33 am

Re: PhotoChrome v6

Post by dml »

I have uploaded a small package here:

http://www.leonik.net/dml/files/pcs630.zip

It contains:

- PCS v6.30. this is the same version provided with AGT for generating superpalettes etc. for the game demos. (It should be a MinGW build and not Cygwin-dependent - but it does still use some shared DLLs. I have included those).
- The last user guide I produced, which is for v6.26. It's still 97% relevant for converting high colour images. Not all, but most of the subsequent changes are for palette generation for game projects etc.
- A sample convert.sh script which performs *basic* conversion a 416x272, 2-field sample image. It is meant to be easy & quick - it does not use fancy settings. I'll post more on that another time.
- The sample image for convert.sh (I recommend making a proper script to wrap arguments - I just wanted to upload this ASAP)
- A viewer TTP compatible with the images produced by this script.
- Some pre-converted sample .pcs files which work with the viewer. I converted all of these with the current package.
- A profiles directory containing a single profile (type1_272.csv). This is needed to generate the image type expected by the provided viewer.

The viewer is very simplistic - it just wraps the displayroutine for the latest 416x272 timing pattern, produced by the type1 .csv. It can cope with different numbers of fields from 1 to 4 maximum and can display images taller than 272 lines, by scrolling.

It will not really cope with anything outside of these parameters. It's not a generic viewer for all possible types of image PCS can produce. When I get time for it, I'll produce a more rounded viewer for it. Meantime, it's enough to play with conversions and see how it looks.

This doesn't work on MegaSTE due to a small difference in blitter timing/latency. I did add support for MSTE just before I left it alone - but that mode is currently disabled and I don't really want to enable it without being able to test it first. Could just produce a lot of confusion if something isn't right. I'll return to it when I have more time to check it.

Assuming the binary works, the images should display in Hatari and SteemSSE (at least, these used to work - no idea what the latest ones do). But images with more than 1 field will be a flickery mess without hard vsync configured in the emulator (and so, probably only in fullscreen). YMMV.

Let me know if anything works. It's been ages since I was near this so I'm still detangling some of the mess!
Post Reply

Return to “Coding”