Author Topic: PC Engine Pixelization  (Read 8007 times)

touko

  • Hero Member
  • *****
  • Posts: 953
Re: PC Engine Pixelization
« Reply #75 on: May 28, 2016, 02:47:26 AM »
Don't forget the chunky mode of the Md, it's well suited for pixels manipulation, it's not the case with the PCE and his planar mode .

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: PC Engine Pixelization
« Reply #76 on: May 28, 2016, 07:51:20 AM »
To put things into perspective: I can scale (shrink) a 64x64 pixel image @ 28k cycles per frame. That's 24% cpu resource per frame at 60fps. That's totally doable. You could break that down further to a slower but still decent 20fps scaling at 8% cpu resource per frame. By comparison, to convert that chunky pixel image I just scaled into planar PCE format, it would take 150k cpu cycle just for that conversion. Scaling is easy on the processor, but that image conversion really slows things down.

Black Tiger

  • Hero Member
  • *****
  • Posts: 11242
Re: PC Engine Pixelization
« Reply #77 on: May 28, 2016, 09:36:56 AM »
Is there anything that can be displayed without converting from chunky to planar, like wire frame stuff or anything?

Any theoretical workarounds, like so many Genesis homebrewers have found to do impossible things on Genesis hardware?
http://www.superpcenginegrafx.net/forum

Active and drama free PC Engine forum

Joe Redifer

  • Hero Member
  • *****
  • Posts: 8178
Re: PC Engine Pixelization
« Reply #78 on: May 28, 2016, 12:46:48 PM »
Don't forget the chunky mode of the Md, it's well suited for pixels manipulation, it's not the case with the PCE and his planar mode .

What is this "chunky" mode you speak of? How are the giant, blocky sprites in El Viento done (explosions, sea creatures, etc)? From my understanding reading some of the things the guy who designed the system has said, the MD/Genesis CAN scale sprites so that they appear bigger/blockier with relative ease, it just can't do the actual enlarging of them (Spite can be seen as 1x, 2x, 4x etc but not be seen transitioning between 1x and 4x or whatnot). Of course clarifications on this would be appreciated.

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: PC Engine Pixelization
« Reply #79 on: May 28, 2016, 05:58:37 PM »
Joe: they're unrelated.

1) Some magazines reported early on that the Genesis/MD had sprite scaling hardware, but that simply isn't true.  Only Sega's arcade hardware at the time (even some non-"super-scaler" models) could scale sprites.

2) El Viento is just using clusters of 4x4, 8x8, 16x16 (whatever) single-colour square sprites and animating them to make it look like scaling.

3) "Chunky" means all the bits for a single pixel in one graphic tile are in the same byte, or in consecutive bytes.  Planar means that each bitplane for a single pixel is split up in separate bytes.  For example, bitplanes 0,1 are separated from planes 2,3 by 32 bytes on the PC-Engine.  Logic dictates that bits for the same pixel right next to each other can be manipulated much faster by the CPU than when they're separated from each other (a lot more relative memory reads & bit shifts are the unwanted result.)

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: PC Engine Pixelization
« Reply #80 on: May 28, 2016, 06:18:45 PM »
Chunky mode refers to how the pixels are stored in memory. Chunky=linear=packed pixel format. That is to say, you can access a pixel as a single bit, nybble, byte, word, etc. Depends what the format is. It's fast for doing pixel based effects and manipulation. It's fast for rendering, as well as scaling and rotation (which is why the SNES mode 7 used this form of pixels, while the other modes do not).

 El Viento just uses the BG layer to make the explosion pixels (they are the size of one 8x8 tilemap entry). Sort of how Sapphire does it for scaled explosions after a boss:


 Turtles in Time for SNES also uses the BG layer for the scaled enemy when it's thrown at the screen.

Quote
Is there anything that can be displayed without converting from chunky to planar, like wire frame stuff or anything?

Any theoretical workarounds, like so many Genesis homebrewers have found to do impossible things on Genesis hardware?
Yeah, monochrome wireframe effects can easily be doable on the PCE planar format.

 Planar system lends itself to transparency effects. It also allows more complex dynamic tile support (only update dynamic animation on specific planes); Ninja Spirit does this on the second level to allow the dynamic tiles to appear behind the leaves.

 As far as the scaling thing, I do have a much faster routine that deals directly in planar mode (for sprites). I haven't got around to using it for anything yet. I got the idea from nesdev forum - from tepples I think. It uses sprites to advance the scaling part. In other words, each 16px wide sprite gets shrink down to 1px (all ranges in between), and instead of ORing a bunch of pixel runs together, the sprites are just horizontally adjusted to remove the gaps. It's possible to do something like a 128x144 huge sprite object with scaling at 20fps @ 57% cpu resource per frame (perfect for a boss or such).

roflmao

  • Hero Member
  • *****
  • Posts: 4830
Re: PC Engine Pixelization
« Reply #81 on: May 30, 2016, 04:04:11 PM »
Holy moly this thread is awesome. It should be awarded a sticky.

Digi.k

  • Hero Member
  • *****
  • Posts: 2262
Re: PC Engine Pixelization
« Reply #82 on: June 01, 2016, 03:51:11 PM »


« Last Edit: June 01, 2016, 03:54:21 PM by Digi.k »

Digi.k

  • Hero Member
  • *****
  • Posts: 2262
Re: PC Engine Pixelization
« Reply #83 on: June 08, 2016, 03:00:49 AM »
Emerald Dragon




Gredler

  • Guest
Re: PC Engine Pixelization
« Reply #84 on: June 08, 2016, 07:05:54 AM »
I second this for a sticky, behold the power of the little engine that could! Brings a tear to my eye

Black Tiger

  • Hero Member
  • *****
  • Posts: 11242
Re: PC Engine Pixelization
« Reply #85 on: June 08, 2016, 12:46:42 PM »
That last Emerald Dragon pic is cool, because it means that the background is sprites.
http://www.superpcenginegrafx.net/forum

Active and drama free PC Engine forum

Gredler

  • Guest
Re: PC Engine Pixelization
« Reply #86 on: June 08, 2016, 12:58:56 PM »
That last Emerald Dragon pic is cool, because it means that the background is sprites.

A clever use of the background color to "light" the smallish pillar/stonehenge sprite and cloud. So nice.

exodus

  • Hero Member
  • *****
  • Posts: 868
Re: PC Engine Pixelization
« Reply #87 on: June 08, 2016, 01:18:36 PM »
Have we discussed yet why this thread is called pc engine pixelization? this does not jive with what I'm seeing.

Black Tiger

  • Hero Member
  • *****
  • Posts: 11242
Re: PC Engine Pixelization
« Reply #88 on: June 08, 2016, 01:32:55 PM »
It was supposed to be about the popular pixelation style, but people just started posting any kind of special effect and here we are.
http://www.superpcenginegrafx.net/forum

Active and drama free PC Engine forum

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: PC Engine Pixelization
« Reply #89 on: June 08, 2016, 04:50:08 PM »
I tried to rein it in a bit when I mentioned that some pics didn't have any scaling going on, only warping or shearing, but... eh.   :roll: