CPCWiki forum

General Category => Applications (CPC and CPC-related) => Topic started by: Rhino on 13:21, 16 July 16

Title: Perfect Pix
Post by: Rhino on 13:21, 16 July 16
Hi,

I'm proud to present Perfect Pix, a set of graphic tools with 3 extended video modes to get images of an unusual quality on a 8-bit machine:

* Mode R -> Up to 384x272 pixels and 16 freely selectable colors from a palette of 27.

* Mode B0 -> Up to 192x272 pixels and 136 colors from a palette of 378.

* Mode B1 -> Up to 384x272 pixels and 307 colors, divided into color 0 + up to 34 palettes of 9 colors per line.

You must run the tool on real hardware to see the true visual result.


(http://www.joycogames.com/download/ppix/c_forums.jpg)


Perfect Pix by Batman Group :: pouët.net (http://www.pouet.net/prod.php?which=67770)


Updates:


* v1.00

    - First release.

* v1.01

    - Added message if upper memory is full by too many ROMs.

* v1.02

    - Bug fixed in the converter exporting overscan screens.
    - More upper memory free for greater ROMs compatibility.

* v1.03

    - Improved controls in Paint tool by adding CONTROL + keys to move the pointer to scroll the zoom window (similar to OCP Art Studio).
    - Added warning message in the converter when source image exceeds the image size limits managed with the Paint tool.
    - Additional upper memory free for greater ROMs compatibility.
Title: Re: Perfect Pix
Post by: roudoudou on 14:34, 16 July 16
Wow! That's a great tool! With documentation, sources, thank you!  :o
Title: Re: Perfect Pix
Post by: GFXOR on 14:58, 16 July 16
EXCELLENT ! Merrvelllllous ! Fantastic !
The B1 mode impressed me. The picture is really precise. Did you try on some complicated pics ? It is really pitched, I like it.
As you know I am more "accustomed" to the other modes. But it will help to make them more popular.
I juste used the viewer to see the pics on the CPC. Not the java tool yet.
Title: Re: Perfect Pix
Post by: Scarlettkitten on 17:09, 16 July 16
That looks like a fantastic tool, can't wait to have a go with it. Cheers x
Title: Re: Perfect Pix
Post by: ronaldo on 17:24, 16 July 16
Really amazing work, @Rhino (http://www.cpcwiki.eu/forum/index.php?action=profile;u=174) . Congratulations! :D

Just a question, Is it possible to have a version of PPP that uses firmware for file I/O? I'm trying to use PPP on a M4 board and I can't load/save pictures to/from the SD card.
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 17:37, 16 July 16
I did not have time to say it before, but it is a wonderful tool!  :-* Maybe I can use it for the loading screen of our adventure  :D :D
Title: Re: Perfect Pix
Post by: Targhan on 18:08, 16 July 16
Looks very interesting. I'm no graphist, but when painting, is it user-friendly to have such as huge zoomed picture and a tiny unzoomed part ? It seemed counter-productive to me, but I might be wrong.
Title: Re: Perfect Pix
Post by: Rhino on 19:22, 16 July 16
Thanks for the feedback!

@GFXOR (http://www.cpcwiki.eu/forum/index.php?action=profile;u=113)
I've only done a few example images, almost all in mode B0. The tool arises from the need to include some hi-quality graphics in the game I'm developing, so I had not much time to experiment.

@ronaldo (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1227)
The I/O part is in Basic. I have not SD card support to test, what exactly is the problem?

@||C|-|E|| (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1447)
Great to hear that! Btw, B0 and B1 could be used in a game (and not only on the cover or loading screen) if memory allows.

@Targhan (http://www.cpcwiki.eu/forum/index.php?action=profile;u=110)
You may be right, although personally I have not noticed a big problem testing the tool. On the other hand, current dimensions are conditioned by the interruptions.

I am also interested to know feedback about the mouse usage. The tool supports Multiplay and AMX compatibles, but I could only test in a Logitech.

Regards
Title: Re: Perfect Pix
Post by: TFM on 20:27, 16 July 16
Thanks for sharing :)

Title: Re: Perfect Pix
Post by: GFXOR on 04:47, 17 July 16
The Load fonction does not work when you have ROMs installed (a RAMcard).
Title: Re: Perfect Pix
Post by: Rhino on 09:24, 17 July 16
Quote from: GFXOR on 04:47, 17 July 16
The Load fonction does not work when you have ROMs installed (a RAMcard).

If you type "print himem" just before run the tool, what value you get?
After loading the tool, there is very little free top memory, and this could be the problem.
Thanks!
Title: Re: Perfect Pix
Post by: GFXOR on 10:38, 17 July 16
? HIMEM
42531
Ready
Title: Re: Perfect Pix
Post by: Rhino on 12:22, 17 July 16
Quote from: GFXOR on 10:38, 17 July 16
? HIMEM
42531
Ready

OK, the tool reaches 42708 after removing user-defined chars, so anything consuming 40 or more bytes of top memory is a problem.
I will try to reduce the code, but with 128kb, there is not much free memory after handling overscan screens with two frames.
What lower value for HIMEM should I respect for a good compatibility?
Title: Re: Perfect Pix
Post by: Targhan on 22:49, 17 July 16
There is no "official" value for the Himem, as technically any ROM can reserve any memory it needs. I have about 10 Roms in my Ramcard, yet I managed to run Perfect Pix without problem. To me the only sensible thing to do is have a little loader that checks the Himem and displays a message like "Please remove some Roms" if there is not enough memory...
Title: Re: Perfect Pix
Post by: Rhino on 10:00, 18 July 16
Quote from: Targhan on 22:49, 17 July 16
There is no "official" value for the Himem, as technically any ROM can reserve any memory it needs. I have about 10 Roms in my Ramcard, yet I managed to run Perfect Pix without problem. To me the only sensible thing to do is have a little loader that checks the Himem and displays a message like "Please remove some Roms" if there is not enough memory...

I modified the loader to alert when Himem is too low.
Links in pouet and this post are already updated.

Thanks!
Title: Re: Perfect Pix
Post by: Skunkfish on 10:08, 18 July 16
Is the naughty HIMEM mis-spelling intentional? ::)
Title: Re: Perfect Pix
Post by: Rhino on 10:12, 18 July 16
sorry hehe
Title: Re: Perfect Pix
Post by: TFM on 18:34, 18 July 16
Having more ROMs brings good chance to have a command like |ROMON7 or |ROMON,7 or maybe |ROMOFF,x,y,z.
EDIT1: Runs fine with FutureOS
EDIT2: When using too much ROMs I get an error 28,0 when attempting to load a file (version 1.0),

Title: Re: Perfect Pix
Post by: ronaldo on 18:58, 18 July 16
@Rhino (http://www.cpcwiki.eu/forum/index.php?action=profile;u=174): It hangs after the message "Accessing Files...". Thought that may be due to using custom I/O routines, but it might be done to collision with other roms.
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 01:12, 19 July 16
Everything looks really amazing, I am so happy with this tool  :) :)

[attachimg=1]

And this is not retouching by hand, just a "quick" conversion.
Title: Re: Perfect Pix
Post by: Rhino on 09:18, 19 July 16
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179), @ronaldo (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1227)
The latest version (1.01) should display a message and not run the tool if there are memory conflicts.

@||C|-|E|| (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1447)
Looks great for a quick conversion!
I'm thinking the amount of adventure games that would seem Amiga games with that kind of graphics :)
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 11:28, 19 July 16
Given the proper framework we could do amazing games, for sure. Of course, we would need to use RAM expansions and something like the X-MASS, but it could be amazing  :D
Title: Re: Perfect Pix
Post by: Rhino on 11:53, 19 July 16
Quote from: ||C|-|E|| on 11:28, 19 July 16
Given the proper framework we could do amazing games, for sure. Of course, we would need to use RAM expansions and something like the X-MASS, but it could be amazing  :D

Or a solution like that Targhan did for Orion Prime, loading from disk on each screen.

Title: Re: Perfect Pix
Post by: roudoudou on 12:03, 19 July 16
Quote from: ||C|-|E|| on 11:28, 19 July 16
Given the proper framework we could do amazing games, for sure. Of course, we would need to use RAM expansions and something like the X-MASS, but it could be amazing  :D


How many games are really using 128k nowadays on CPC?
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 12:22, 19 July 16
Not many, but with these screens the game would be pretty bulky :) However, it is true that using X-MASS, that is as fast as the RAM, maybe 128KB would be enough.
Title: Re: Perfect Pix
Post by: TFM on 21:23, 19 July 16
Quote from: roudoudou on 12:03, 19 July 16

How many games are really using 128k nowadays on CPC?


More every day.  ;D
Title: Re: Perfect Pix
Post by: Rhino on 11:00, 25 July 16
Updated to v1.02 with a converter bug fixed exporting overscan screens and more upper memory free for greater ROMs compatibility.
Title: Re: Perfect Pix
Post by: HAL6128 on 18:26, 25 July 16
Hi Rhino,

I'm working with a CPC6128 and a GBS 8200 CGA to VGA converter. I've added a Multiplay and X-Mass where I put all the Paint-Disk files onto (ppp.bas/ppp.bin and *.cfg files). It works astonishing "ok" with the converter despite the hardware effects: The R-Mode doesn't work well - the screen is shifted. The B0-Mode works very well and in a proper way (wow, so many colours!! - f******g cool pics!!!) The B1 works also without any screen shift, but not all colours are present (only the "DI" image, not the "BF" > it's disturbed).

The Multiplay (Mouse) support doesn't work. I've connected a Trackball, no AMX mouse. If I do some inp command from Basic then I receive changes. But I'm not sure if the trackball provide the right results. The inp(&f990) results in different numbers or bits (like a joystick), the inp(&f992) or inp(&f993) only provide 0 or 255??

X-Mass is also doing a very well job in loading the application or saving / loading files.

HAL6128
Title: Re: Perfect Pix
Post by: Rhino on 19:50, 25 July 16
Quote from: HAL 6128 on 18:26, 25 July 16
Hi Rhino,

I'm working with a CPC6128 and a GBS 8200 CGA to VGA converter. I've added a Multiplay and X-Mass where I put all the Paint-Disk files onto (ppp.bas/ppp.bin and *.cfg files). It works astonishing "ok" with the converter despite the hardware effects: The R-Mode doesn't work well - the screen is shifted. The B0-Mode works very well and in a proper way (wow, so many colours!! - f******g cool pics!!!) The B1 works also without any screen shift, but not all colours are present (only the "DI" image, not the "BF" > it's disturbed).

The Multiplay (Mouse) support doesn't work. I've connected a Trackball, no AMX mouse. If I do some inp command from Basic then I receive changes. But I'm not sure if the trackball provide the right results. The inp(&f990) results in different numbers or bits (like a joystick), the inp(&f992) or inp(&f993) only provide 0 or 255??

X-Mass is also doing a very well job in loading the application or saving / loading files.

HAL6128

Thanks for the feedback!

Only DI example is in mode B1, the BF example is in mode R, so I think it's normal in your configuration.
Preferably I recommend the B0 / B1 modes, as they are more compatible and flexible, by requiring very little CPU.

Multiplay is only supported in tool for mouse. Do you have an Amiga mouse to connect with Multiplay?
Remember to select the AMI mode of the Multiplay port if you are using an Amiga trackball. But anyway, I'm not sure if the trackball will work as a mouse. If you are using a CPC trackball, use the CPC joy port and configure it as AMX in tool.

Regards!
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 10:52, 26 July 16
I forgot to add the final version!  :D We basically removed the excess of green pixels. The rest was basically fine  :) I looks awesome in the CRT.

[attachimg=1]

[attachimg=2]
Title: Re: Perfect Pix
Post by: Rhino on 16:25, 26 July 16
Quote from: ||C|-|E|| on 10:52, 26 July 16
I forgot to add the final version!  :D We basically removed the excess of green pixels. The rest was basically fine  :) I looks awesome in the CRT.

[attachimg=1]

[attachimg=2]

I love that image! Have you thought to include it in the game?
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 17:13, 26 July 16
It will not appear in the game, I am afraid, but we made a wallpaper out of it :) I will send it to you tonight!  :D
Title: Re: Perfect Pix
Post by: Rhino on 11:52, 30 July 16
Updated to v1.03 with the following changes:

* Improved controls in Paint tool by adding CONTROL + keys to move the pointer to scroll the zoom window (similar to OCP Art Studio).

* Added warning message in the converter when source image exceeds the image size limits managed with the Paint tool.

* Additional upper memory free for greater ROMs compatibility.
Title: Re: Perfect Pix
Post by: madram on 07:43, 07 August 16
Nice work, great tool! (or maybe it's the other way around).
This is really exciting to have new native tool, futhermore pushing CPC's limit. Also, the simple fact to be able to choose screen dimensions is neat.

I'm wondering, what's the behavior of mode R on non-CTM screen (TVs, projector...) ?
Also, it seems we cannot import standard CPC files (src, win, ...). Am I missing something ?



Title: Re: Perfect Pix
Post by: Rhino on 11:58, 07 August 16
Quote from: madram on 07:43, 07 August 16
Nice work, great tool! (or maybe it's the other way around).
This is really exciting to have new native tool, futhermore pushing CPC's limit. Also, the simple fact to be able to choose screen dimensions is neat.

I'm wondering, what's the behavior of mode R on non-CTM screen (TVs, projector...) ?
Also, it seems we cannot import standard CPC files (src, win, ...). Am I missing something ?

Thanks for the feedback!

Currently the paint tool is very limited and only supports pph images. So if you want to load a standard CPC screen, first, you must convert it to PC (png, gif, etc ...) and then use the converter to get a pph.

If there is demand, in the future I would like to make an extended version with more features, this extended version would require a memory expansion because the current version is on the limit of the 128kb. We may use this thread to require features.

About Mode R, I tested on a LCD TV and it seems that switching frames is not working, a static distorted image appears.

Regards!
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 12:00, 07 August 16
I have tested mb0 in LCDs and emus and it actually works  :) Of course, you see quite a lot of flickering when comparing it with a real CRT, but it definitely works!

Title: Re: Perfect Pix
Post by: PulkoMandy on 08:23, 08 August 16
If you use a standard LCD TV, it will usually try to deinterlace the picture, which is not what is expected here. You can fix this using a proper scandoubler to convert the signal to 50Hz VGA, which most display will then render without deinterlacing artifacts.
Title: Re: Perfect Pix
Post by: litwr on 08:53, 13 January 17
It is unbelievable!  :o  I used ep128emu it is interesting to compare with the real iron.  Mode R looks a bit wrong with ep128emu.  IMHO These pictures should be published at youtube.
I have to point the one disadvantage for me.  The tools are closed sources, without Linux port.
Title: Re: Perfect Pix
Post by: ivarf on 10:48, 17 January 17
Quote from: litwr on 08:53, 13 January 17
It is unbelievable!  :o  I used ep128emu it is interesting to compare with the real iron.  Mode R looks a bit wrong with ep128emu.  IMHO These pictures should be published at youtube.
I have to point the one disadvantage for me.  The tools are closed sources, without Linux port.
Better than what currently can be done on the Commodore plus/4? ;)
Title: Re: Perfect Pix
Post by: andycadley on 14:28, 17 January 17

On my CM14, at least, I find the headache inducing flicker unbearable. I may be particularly susceptible, but I'm going to remain in the "not a fan" group of these kinds of images regardless of which platform it is.
Title: Re: Perfect Pix
Post by: ivarf on 17:28, 17 January 17
Quote from: andycadley on 14:28, 17 January 17
On my CM14, at least, I find the headache inducing flicker unbearable. I may be particularly susceptible, but I'm going to remain in the "not a fan" group of these kinds of images regardless of which platform it is.

Do find this to be a problem for all the new modes?
Title: Re: Perfect Pix
Post by: litwr on 19:18, 17 January 17
Quote from: ivarf on 10:48, 17 January 17
Better than what currently can be done on the Commodore plus/4? ;)
No. I have also add that Amiga 500 pictures are better so as IBM PC MCGA/VGA/SVGA pictures...
I can't call B0/B1 as the new modes.  Mode R looks a bit unusual. However I have doubts about its stability.
Title: Re: Perfect Pix
Post by: andycadley on 19:30, 17 January 17


Quote from: ivarf on 17:28, 17 January 17
Do find this to be a problem for all the new modes?
Yup. I'm sure if you carefully select the palette and pixels to minimize the colour difference between frames you could reduce the problem (although probably only by making the effect  so minimal as to be pointless), but in most cases it's glaringly obvious. The SFII picture, for example, looks like some hideous disco strobing effect and all I can really see are the constantly blinking pixels.


Again, this may be partially a difference in the persistence between older CTMs and the CM14, or it may be down to my shoddy eyesight. I've certainly seen similar "effects" on other computers and never been able to get past how bad the flicker looks.


EDIT: Thinking about it, Imperial Mahjong did something similar and that didn't look nearly as bad, although whether that is down to careful graphics or something else is another matter.
Title: Re: Perfect Pix
Post by: ivarf on 19:32, 17 January 17
Quote from: litwr on 19:18, 17 January 17
No. I have also add that Amiga 500 pictures are better so as IBM PC MCGA/VGA/SVGA pictures...
I can't call B0/B1 as the new modes.  Mode R looks a bit unusual. However I have doubts about its stability.

I didn't understand what you mean here. A500 and IBM is better? That wasn't a surprise was it? You won't call B0/B1 new modes? Why?

Did I understand you correctly?
Title: Re: Perfect Pix
Post by: ||C|-|E|| on 19:34, 17 January 17
I guess that persistence is different in different monitors and that makes a difference  :-X For example, in my CM14 the pictures look completely fine (almost). However, in an emu, the flickering is very obvious. Then, of course, every person is a different world and our reaction against these type of effects can really change among individuals...
Title: Re: Perfect Pix
Post by: ivarf on 19:35, 17 January 17
Quote from: andycadley on 19:30, 17 January 17
I've certainly seen similar "effects" on other computers and never been able to get past how bad the flicker looks.
I have only seen interlace used on the Amiga 500. That was back in the 80s. Flickertime big time
Title: Re: Perfect Pix
Post by: andycadley on 19:55, 17 January 17

Quote from: ivarf on 19:35, 17 January 17
I have only seen interlace used on the Amiga 500. That was back in the 80s. Flickertime big time
Yeah, that was always horrific.


But the alternating between two screens thing I've seen done on the Speccy and C64, at least, usually with the justification "Look, it gives you loads of extra colours!" - to which I tend to think "No, it gives you a headache and possibly epilepsy". YMMV.  :laugh:
Title: Re: Perfect Pix
Post by: PulkoMandy on 09:30, 18 January 17
Quote from: andycadley on 19:30, 17 January 17
EDIT: Thinking about it, Imperial Mahjong did something similar and that didn't look nearly as bad, although whether that is down to careful graphics or something else is another matter.


No, Imperial Mahjong does not use any flickering. That would not be appropriate for a game where you watch a fixed screen for a long time.
Title: Re: Perfect Pix
Post by: Rhino on 13:55, 18 January 17
Quote from: andycadley on 19:30, 17 January 17
Yup. I'm sure if you carefully select the palette and pixels to minimize the colour difference between frames you could reduce the problem (although probably only by making the effect  so minimal as to be pointless), but in most cases it's glaringly obvious. The SFII picture, for example, looks like some hideous disco strobing effect and all I can really see are the constantly blinking pixels.


Again, this may be partially a difference in the persistence between older CTMs and the CM14, or it may be down to my shoddy eyesight. I've certainly seen similar "effects" on other computers and never been able to get past how bad the flicker looks.


EDIT: Thinking about it, Imperial Mahjong did something similar and that didn't look nearly as bad, although whether that is down to careful graphics or something else is another matter.

The SFII example is a direct conversion. Do you notice less flikering in the Pinball Dreams intro screens? These were retouched to reduce flikering.
Often, a high flickering is because the brightness of the monitor is very high. Do you notice less flikering by reducing the brightness?
Title: Re: Perfect Pix
Post by: andycadley on 22:02, 18 January 17

Quote from: Rhino on 13:55, 18 January 17
The SFII example is a direct conversion. Do you notice less flikering in the Pinball Dreams intro screens? These were retouched to reduce flikering.
Often, a high flickering is because the brightness of the monitor is very high. Do you notice less flikering by reducing the brightness?
If I crank the brightness right down to minimum, the flickering is gone. If I then raise it to the point where the standard blue backdrop is distinguishable from black, there is notable flicker. If I raise it further to the point where the orange of the Beatbox table is notably different from the red, then the flicker is very obvious.


It's better on the Mode 1 "Digital Illusions" splash screen, although that may be because there is just less change on the screen overall.
Title: Re: Perfect Pix
Post by: Rhino on 18:37, 19 January 17
Quote from: andycadley on 22:02, 18 January 17
If I crank the brightness right down to minimum, the flickering is gone. If I then raise it to the point where the standard blue backdrop is distinguishable from black, there is notable flicker. If I raise it further to the point where the orange of the Beatbox table is notably different from the red, then the flicker is very obvious.


It's better on the Mode 1 "Digital Illusions" splash screen, although that may be because there is just less change on the screen overall.

Thanks for the feedback
Title: Re: Perfect Pix
Post by: trocoloco on 19:07, 24 January 20

Hi I am trying to learn the tool, but I keep getting it wrong for some reason  :picard2: . The thing is that I have created a PCT palette for the image wich I later converted to ACT palette file so I can create the PPH with the indexed png but it gives me the error below. Does someone know exactly what step I've missed?


Image type = TYPE_BYTE_INDEXED
palette Size = 256
Transfer type = TYPE_BYTE
Number of Data Elements needed to transfer a pixel = 1
Size in bits of samples for all bands (bpp) = 8
srcWidth = 384
width = 384
height = 272
mode = 5
pixelsPerByte = 4
nBytesW = 96
nPixels = 104448
nBytes = 26112
nRealPixelPerPixel = 1
nDesPixels = 104448
Indexed Color Range = 0 - 3
Debug image file created !
Converting to required format...


*** ERROR !!! The ACT file No.1 does not match !!!


Powered by SMFPacks Menu Editor Mod