We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Mosaic: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎Examples: added Axelay)
(added column for "# of spare rows of pixels" to apparent resolution table)
Line 32: Line 32:
This table describes how many mosaicized blocks appear on each axis when the mosaic filter is applied (the "apparent" screen resolution, in other words) disregarding overscan.
This table describes how many mosaicized blocks appear on each axis when the mosaic filter is applied (the "apparent" screen resolution, in other words) disregarding overscan.
{| class="wikitable"
{| class="wikitable"
! $2106.4-7 !! Mosaic Block Size !! rows of complete blocks !! columns of complete blocks
! $2106.4-7 !! Mosaic Block Size !! # of rows of complete blocks !! # of columns of complete blocks !! # of spare rows of pixels
|-
|-
| 0 || 1 || 224 || 256
| 0 || 1 || 224 || 256 || 0
|-
|-
| 1 || 2 || 112 || 128
| 1 || 2 || 112 || 128 || 0
|-
|-
| 2 || 3 || 74 || 85
| 2 || 3 || 74 || 85 || 2
|-
|-
| 3 || 4 || 56 || 64
| 3 || 4 || 56 || 64 || 0
|-
|-
| 4 || 5 || 44 || 51
| 4 || 5 || 44 || 51 || 4
|-
|-
| 5 || 6 || 37 || 42
| 5 || 6 || 37 || 42 || 2
|-
|-
| 6 || 7 || 32 || 36
| 6 || 7 || 32 || 36 || 0
|-
|-
| 7 || 8 || 28 || 32
| 7 || 8 || 28 || 32 || 0
|-
|-
| 8 || 9 || 24 || 28
| 8 || 9 || 24 || 28 || 8
|-
|-
| 9 || 10 || 22 || 25
| 9 || 10 || 22 || 25 || 4
|-
|-
| 10 || 11 || 20 || 23
| 10 || 11 || 20 || 23 || 4
|-
|-
| 11 || 12 || 18 || 21
| 11 || 12 || 18 || 21 || 8
|-
|-
| 12 || 13 || 17 || 19
| 12 || 13 || 17 || 19 || 3
|-
|-
| 13 || 14 || 16 || 18
| 13 || 14 || 16 || 18 || 0
|-
|-
| 14 || 15 || 14 || 17
| 14 || 15 || 14 || 17 || 14
|-
|-
| 15 || 16 || 14 || 16
| 15 || 16 || 14 || 16 || 0
|}
|}



Revision as of 23:02, 5 July 2023

Mosaic is a screen pixellation effect. It can be enabled or disabled on a per-background basis via bits 0-3 of 2106h. When enabled for a given background, the output background color (which will then be fed to the compositor and combined with all the other possibly mosaicized backgrounds) of the pixel at screen position (H,V) is:

output_color(H,V) = input_color(floor(H/size)*size, floor(V/size)*size)

where size is the value of bits 4-7 of 2106h plus one. Thus, for each mosaicized background, the shaded output consists of a grid of solid-colored squares where each entire square's color matches that of its top-leftmost input pixel.

The first mosaic square's location is always (0,0). Sprites are unaffected by the mosaic filter.

The mosaic filter has a horizontal and vertical subsystem. The horizontal mosaic latches remember the color of the top-leftmost pixel of each mosaicized block. The vertical mosaic latch remembers what the value of the PPU vertical scanline counter was at the top of each mosaicized block. [3]

Examples

Game Name Mosaic Usage Animated GIF
Axelay when the Stage 3 boss' final form takes damage
Final Fantasy III (US) when trying to select a disabled menu option mosaic FF3.gif
Final Fantasy Mystic Quest upon entering battles and before/after loading new sections of the map mosaic FFMQ.gif
The Magical Quest Starring Mickey Mouse when the final boss takes damage, and on the walls of that same battle
Star Ocean upon entering every battle
Super Mario World after selecting and entering a level mosaic SMW.gif

Apparent Resolution

This table describes how many mosaicized blocks appear on each axis when the mosaic filter is applied (the "apparent" screen resolution, in other words) disregarding overscan.

$2106.4-7 Mosaic Block Size # of rows of complete blocks # of columns of complete blocks # of spare rows of pixels
0 1 224 256 0
1 2 112 128 0
2 3 74 85 2
3 4 56 64 0
4 5 44 51 4
5 6 37 42 2
6 7 32 36 0
7 8 28 32 0
8 9 24 28 8
9 10 22 25 4
10 11 20 23 4
11 12 18 21 8
12 13 17 19 3
13 14 16 18 0
14 15 14 17 14
15 16 14 16 0

References