Super MegaZeux: Difference between revisions
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
'''SMZX Mode''' is the name for an alternative graphics mode accessible through MegaZeux. Its first mode (SMZX Mode 1) was first introduced by [[MadBrain]] in a fork of 2.51s3.2; this original version was referred to as Super MegaZeux 100 Alpha (smzx100a). It relied on a little-documented [[text mode]] supported almost exclusively by nVidia and ATi chipsets. SMZX Mode 1 was induced into [[MegaZeux#MZXak|MZXAk]], only to be removed in 2.60. SMZX only returned on the release of MZX 2.69, sporting the original mode plus the more advanced Mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], since it did not correlate to an actual hardware text mode and MZX no longer actually used text mode. | '''SMZX Mode''' is the name for an alternative graphics mode accessible through MegaZeux. Its first mode (SMZX Mode 1) was first introduced by [[MadBrain]] in a fork of 2.51s3.2; this original version was referred to as Super MegaZeux 100 Alpha (smzx100a). It relied on a little-documented [[text mode]] supported almost exclusively by nVidia and ATi chipsets. SMZX Mode 1 was induced into [[MegaZeux#MZXak|MZXAk]], only to be removed in 2.60. SMZX only returned on the release of MZX 2.69, sporting the original mode plus the more advanced Mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], since it did not correlate to an actual hardware text mode and MZX no longer actually used text mode. | ||
In the most recent versions of MegaZeux, SMZX Mode can be accessed by setting the SMZX_MODE counter to 1, 2, or 3. In the editor, one can change SMZX Mode by pressing F11. | In the most recent versions of MegaZeux, SMZX Mode can be accessed by setting the SMZX_MODE counter to 1, 2, or 3. In the editor, one can change SMZX Mode temporarily in the editor by pressing F11. | ||
As of MegaZeux 2.84c, the Super MegaZeux modes do not leave room in the palette for the reserved UI colors, and thus the UI will borrow the game's colors. This results in the UI palette looking corrupted, especially in SMZX Mode 3. | |||
SMZX Mode halves the | |||
==How It Works== | |||
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors. | |||
Each pixel in SMZX can be either color I (represented in MZX mode as two 'off' chars), color II ('on' and 'off), color III ('off' and 'on') ad color IV (both 'on'). | Each pixel in SMZX can be either color I (represented in MZX mode as two 'off' chars), color II ('on' and 'off), color III ('off' and 'on') ad color IV (both 'on'). | ||
Mode 1, the original mode, | ===SMZX Mode 1=== | ||
SMZX Mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. For instance, if the specified palette is c4F, the first color will be color #4, the fourth color will be color #15, the second color's values will be 1/3 of the way between colors #4 and #15's values, and the third color will be 2/3 of the way between colors #4 and #15's values. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. | |||
===SMZX Mode 2=== | |||
SMZX Mode 2 was the first to allow 4 colors per character that the user had full control over. It uses the same color matrix as SMZX Mode 1, but instead of automatically generating the new colors off of a standard 16 color palette, it references a user-defined 256 color palette to find the colors. All colors are defined in pairs of 2 hex digits, represented below by 0xNN. Given the same example palette as before, c4F, the colors are referenced as such: | |||
* Color I uses the background color as both digits: color 0x44 (68 decimal) in the 256 color palette. | |||
* Color II uses the foreground color as the first digit and the background as the second: color 0xF4 (244 decimal) in the 256 color palette. | |||
* Color III uses the background color as the first digit and the foreground as the second: color 0x4F (79 decimal) in the 256 color palette. | |||
* Color IV uses the foreground color as both digits: color 0xFF (255 decimal) in the 256 color palette. | |||
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is because they actually are backwards. | |||
Mode 3, which was added with the SDL port, uses a palette of 256 separate colors as opposed to 16 foreground and 16 background colors (each color, in hex, is a 2-digit pair consisting of the background color and the foreground color) Characters can access these as following: | ===SMZX Mode 3=== | ||
SMZX Mode 3, which was added with the SDL port, uses a palette of 256 separate colors as opposed to 16 foreground and 16 background colors (each color, in hex, is a 2-digit pair consisting of the background color and the foreground color) Characters can access these as following: | |||
* Color I is the color itself, for example a character set to color 16 (which would normally be foreground 0 and background 1, hence 0x10) will show color 16 as color I. | * Color I is the color itself, for example a character set to color 16 (which would normally be foreground 0 and background 1, hence 0x10) will show color 16 as color I. | ||
Line 34: | Line 40: | ||
* Color IV is the color plus 3 | * Color IV is the color plus 3 | ||
hence yielding a set of 64 unique color palettes. The colors wrap around, so a character set to color 255 (0xFF) will use color 0 for color II, etc | hence yielding a set of 64 unique color palettes. The colors wrap around, so a character set to color 255 (0xFF) will use color 0 for color II, etc. | ||
==Notable games that use SMZX mode== | |||
* [[&]] by [[Lancer-X]] | |||
* [[Celestial Altar]] by [[Lancer-X]] | |||
* [[Ultima IV]] (port) by [[Lancer-X]] | |||
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage. | |||
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above | * [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above | ||
* [[Kaboink!]] by [[Logicow]] | * [[Kaboink!]] by [[Logicow]] |
Revision as of 21:12, 19 January 2013
Super MegaZeux | |
[[Image:|320px]] | |
Author | MadBrain, Akwende, Exophase |
Company | n/a |
Release Date | n/a |
Genre | MegaZeux Fork, regular feature since 2.69b |
Download | No link available. |
SMZX Mode is the name for an alternative graphics mode accessible through MegaZeux. Its first mode (SMZX Mode 1) was first introduced by MadBrain in a fork of 2.51s3.2; this original version was referred to as Super MegaZeux 100 Alpha (smzx100a). It relied on a little-documented text mode supported almost exclusively by nVidia and ATi chipsets. SMZX Mode 1 was induced into MZXAk, only to be removed in 2.60. SMZX only returned on the release of MZX 2.69, sporting the original mode plus the more advanced Mode 2. Mode 3 was introduced in 2.80, since it did not correlate to an actual hardware text mode and MZX no longer actually used text mode.
In the most recent versions of MegaZeux, SMZX Mode can be accessed by setting the SMZX_MODE counter to 1, 2, or 3. In the editor, one can change SMZX Mode temporarily in the editor by pressing F11.
As of MegaZeux 2.84c, the Super MegaZeux modes do not leave room in the palette for the reserved UI colors, and thus the UI will borrow the game's colors. This results in the UI palette looking corrupted, especially in SMZX Mode 3.
How It Works
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.
Each pixel in SMZX can be either color I (represented in MZX mode as two 'off' chars), color II ('on' and 'off), color III ('off' and 'on') ad color IV (both 'on').
SMZX Mode 1
SMZX Mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. For instance, if the specified palette is c4F, the first color will be color #4, the fourth color will be color #15, the second color's values will be 1/3 of the way between colors #4 and #15's values, and the third color will be 2/3 of the way between colors #4 and #15's values. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette.
SMZX Mode 2
SMZX Mode 2 was the first to allow 4 colors per character that the user had full control over. It uses the same color matrix as SMZX Mode 1, but instead of automatically generating the new colors off of a standard 16 color palette, it references a user-defined 256 color palette to find the colors. All colors are defined in pairs of 2 hex digits, represented below by 0xNN. Given the same example palette as before, c4F, the colors are referenced as such:
- Color I uses the background color as both digits: color 0x44 (68 decimal) in the 256 color palette.
- Color II uses the foreground color as the first digit and the background as the second: color 0xF4 (244 decimal) in the 256 color palette.
- Color III uses the background color as the first digit and the foreground as the second: color 0x4F (79 decimal) in the 256 color palette.
- Color IV uses the foreground color as both digits: color 0xFF (255 decimal) in the 256 color palette.
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is because they actually are backwards.
SMZX Mode 3
SMZX Mode 3, which was added with the SDL port, uses a palette of 256 separate colors as opposed to 16 foreground and 16 background colors (each color, in hex, is a 2-digit pair consisting of the background color and the foreground color) Characters can access these as following:
- Color I is the color itself, for example a character set to color 16 (which would normally be foreground 0 and background 1, hence 0x10) will show color 16 as color I.
- Color II is the color plus 1
- Color III is the color plus 2
- Color IV is the color plus 3
hence yielding a set of 64 unique color palettes. The colors wrap around, so a character set to color 255 (0xFF) will use color 0 for color II, etc.
Notable games that use SMZX mode
- & by Lancer-X
- Celestial Altar by Lancer-X
- Ultima IV (port) by Lancer-X
- Bloodlands by Maxim uses Mode 1 in a novel way: to blur the screen when the player takes damage.
- Akwende's Tetris, the pack-in game included with MZXak 1.0 and above
- Kaboink! by Logicow
- Hackers Can Turn Your Computer into a Bomb!
- Murder on the Yellow Express