Pixel Polizei is out

Pixel Polizei is out

by Marq on 20-05-2016, 19:33
Topic: Development
Tags: graphics
Languages:

Pixel Polizei is a tool for the retro/scene/retroscene artist. This little (but quickly bloating) project from Marq lets you automatically check whether an image conforms to the color limits of a particular oldschool platform and save the result in certain native formats. The underlying idea is that you can use whatever paint program you happen to prefer for creating the images and observe – almost real-time – if you’ve made a mistake somewhere. One more fundamental bit is that the tool is multiplatform unlike many others.

Pixel Polizei supports multiple retro platforms such as the Amstrad CPC, the Commodore 64, the ZX Spectrum and of course the MSX. MSX support is currently limited to screen 2, but there might be more to come in case someone actually needs other modes.

Relevant link: Pixel Polizei

Media browser (3)

  • Pixel Polizei is out
  • Pixel Polizei is out
  • Pixel Polizei is out

Comments (11)

By sd_snatcher

Prophet (3659)

sd_snatcher's picture

22-05-2016, 15:47

Fantastic! It even has a native OS-X version! And it doubles as a simple image viewer/converter. Thanks!

Here go some quick suggestions for improvements:

  • A way to change the machine/mode without having to quit and run the tool again .
  • ZX-Spectrum and MSX feature exactly the same resolution and pixel aspect ratio, but the tool is showing them with different aspect ratios
  • When loading MSX sc2 files, the name table and sprites are being ignored.
  • The MSX aspect ratio seems too wide. Probably this is PAL. An option to view it in NTSC aspect ratio would be welcome.
  • Add MSX scr-4 support.
  • Add MSX scr-10 and scr-12 support

Tip: The palette is washed out only in PAL (and derivative) machines. NTSC machines with the TMS9x18 VDP feature a very saturated palette. Machines with a RGB output also feature a saturated palette, albeit different from the one seen in NTSC machines due to the different conversion formulas used.

By Marq

Champion (387)

Marq's picture

23-05-2016, 18:00

Thanks for the feedback. Here's some quick answers:

  • Processing, the language that the tool was written in, unfortunately doesn't support changing window size that well :/
  • MSX PAL image is pretty flat compared to Spectrum, which has about square pixels. You can set ASPECT=NTSC through prefs.txt to get the square pixels
  • I'll add name table at least to my endless todo list Smile Sprites would probably require a bit too much tweaking to the core (not displaying them, but including them in the conversion too).
  • MSX2 modes are on the todo list, even though they don't really benefit from a tool like this much. MSX2 will feature the saturated palette.

In the source-only beta already: MSX screen 3, Panasonic JR-200, Sharp MZ-700 and MZ-800, in case someone's interested in exploring some weirdo 8-bits.

By Marq

Champion (387)

Marq's picture

24-05-2016, 10:22

Name table support implemented for SC2 file loading in the source beta.

By sd_snatcher

Prophet (3659)

sd_snatcher's picture

27-05-2016, 19:29

Thanks!

BTW, where the prefs.txt is stored on Mac OS-X?

Some more suggestions:

  • scr-1 support
  • Sega Master System mode-4 support
  • To be able to save the mask of incorrect pixels to a png file, so you can load it as a layer in your favorite image editor to be able to easily mark and work on the corrections.

By tvalenca

Paladin (747)

tvalenca's picture

27-05-2016, 20:16

Marq,

Can I expect V9990 support?

By sd_snatcher

Prophet (3659)

sd_snatcher's picture

27-05-2016, 22:09

What kind image restrictions would you like to check that are exclusive for the V9990, tvalenca?

Another suggestion: depending on the background, it's hard to see the color used to mark the incorrect blocks. Maybe an option to be able to select which color will be used, or even one to keep it flashing.

By Marq

Champion (387)

Marq's picture

27-05-2016, 23:23

prefs.txt should be in the same folder where the app icon is, "mac" on the OS X. I've tried choosing a distinct error color for the bad blocks, but on some machines it's hard to find one that would always stand out. That error png idea could be worth investigating in the future and should be relatively simple to implement. Having auto check and grid turned on it should usually be rather straightforward to find the offending pixels, though.

As to the screen modes and machines: it's a neverending effort, as there are probably hundreds of them. There are more in the works all the time, but I won't make many promises, since I don't know yet where my motivation will take me next Smile

By sd_snatcher

Prophet (3659)

sd_snatcher's picture

29-05-2016, 21:53

prefs.txt: I tried that, but there's no prefs.txt file inside the ppolizei.app folder and it's subfolders. I also searched inside ~/Library/Application Support, but there's nothing there too.

screen modes and machines: Indeed, it's a never ending effort. Smile

I just thought of those two particular modes because they have a additional restriction that is very hard to manually check: they don't have enough unique tiles to cover the entire screen. This means that there must be some repetition. Probably tiles that exceed this restriction should be highlighted with a different color than the one used for color bleeds.

The SMS more-4 even adds one additional challenge: tiles can be flipped either vertically or horizontally to make them easier to reuse, so this condition have to be checked too. Smile

By Marq

Champion (387)

Marq's picture

30-05-2016, 12:05

I got that prefs.txt working ok by just copying it to the "mac" foder from the main folder.

By sd_snatcher

Prophet (3659)

sd_snatcher's picture

01-06-2016, 03:02

Ok, I just found out where it needs to be:

ppolizei.app/Contents/Java/prefs.txt

By hit9918

Prophet (2932)

hit9918's picture

01-06-2016, 07:13

Quote:

ZX-Spectrum and MSX feature exactly the same resolution and pixel aspect ratio, but the tool is showing them with different aspect ratios

The ZX aspect ratio is much different.
C64 is closer to ZX.
Surprise.
The number "256" doesn't mean anything, dotclock is what counts.