Mosaic: Difference between revisions
(→Apparent Resolution: added bw images for powers of two) |
(3x3 checkerboard) |
||
Line 39: | Line 39: | ||
| 1 || 2 || 112 || 128 || 0 || 0 || [[File:mosaic 2x2.png]] | | 1 || 2 || 112 || 128 || 0 || 0 || [[File:mosaic 2x2.png]] | ||
|- | |- | ||
| 2 || 3 || 74 || 85 || 2 || 1 || | | 2 || 3 || 74 || 85 || 2 || 1 || [[File:mosaic 3x3.png]] | ||
|- | |- | ||
| 3 || 4 || 56 || 64 || 0 || 0 || [[File:mosaic 4x4.png]] | | 3 || 4 || 56 || 64 || 0 || 0 || [[File:mosaic 4x4.png]] |
Revision as of 17:21, 7 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 | |
Final Fantasy Mystic Quest | upon entering battles and before/after loading new sections of the map | |
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 |
Apparent Resolution
This table describes how many complete mosaicized blocks appear on each axis when the mosaic filter is applied (the "apparent" screen resolution, in other words) disregarding overscan. The number of spare pixels off to the right and/or bottom of the screen that make up the last incomplete blocks when the block size does not evenly divide the screen is also given.
References
- setting example: page 2-4-1 of Book I of the official Super Nintendo development manual
- bit-by-bit breakdown of the mosaic register: page 2-27-3 lbid
- display example of mosaic effect: Appendix A-7 lbid
- https://problemkaputt.de/fullsnes.htm#snesppubgcontrol
- [3] https://board.zsnes.com/phpBB3/viewtopic.php?p=204966#p204966