<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.digitalmzx.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Asiekierka</id>
	<title>MZXWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.digitalmzx.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Asiekierka"/>
	<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/Special:Contributions/Asiekierka"/>
	<updated>2026-05-11T05:25:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9215</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9215"/>
		<updated>2024-03-20T19:13:00Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX is derived from a horizontally adjacent pair of text mode pixels in the following manner:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 !Color&lt;br /&gt;
 !Left pixel&lt;br /&gt;
 !Right pixel&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If colors II and III seem backwards to experienced programmers, it is not a mistake; this is how the original DOS versions defined these colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
SMZX mode 2 was the first mode to allow full user control over the 256 color palette.  It is internally identical to SMZX mode 1, but instead of generating the new colors from a user-defined 16 color palette, it allows direct reading and writing of all 256 colors either through the '''set color # to # # #''' command or with the counters '''SMZX_Rn''', '''SMZX_Gn''', and '''SMZX_Bn'''.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG for the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
(Note that colors II and III are backwards here to compensate for the backwards definitions of colors II and III from the character data. In practice, this won't matter to most users.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
SMZX mode 3, which was added with the SDL port, uses a palette of 256 completely independent colors as opposed to the effective 16 &amp;quot;base&amp;quot; colors of modes 1 and 2. By default, the colors for each subpalette cXX are defined as:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Subpalettes 253 through 255 &amp;quot;wrap around&amp;quot; the palette, so e.g. subpalette 253 will contain colors 253, 254, 255, and 0.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Hardware details==&lt;br /&gt;
&lt;br /&gt;
Super MegaZeux modes 1 and 2 are derived from a quirk of VGA (Video Graphics Array) compatible video adapters. In the video adapters that support SMZX, enabling the 8-bit color flag (0x40) of the Attribute Mode Control register (port 0x3C0 register 0x10) will combine two adjacent 4-bit EGA palette indices into a single 8-bit VGA palette index. This flag is intended for mode 13h only; enabling this in 14p text mode is undefined behavior. Most graphics chips do not render this 8-bit color text mode hack &amp;quot;correctly&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: given the text mode character byte 0x2d:&lt;br /&gt;
&lt;br /&gt;
 ░░▓░▓▓░▓&lt;br /&gt;
&lt;br /&gt;
With the palette 0x4F, this text mode byte is typically expanded to 4-bit color indices (hex):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f&lt;br /&gt;
&lt;br /&gt;
When the 8-bit color flag is enabled, two adjacent 4-bit indices are combined in a big endian manner to create a single 8-bit index (hex):&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f&lt;br /&gt;
&lt;br /&gt;
These 8-bit indices are used to index the VGA palette. This is a &amp;quot;normal&amp;quot; SMZX mode implementation.&lt;br /&gt;
&lt;br /&gt;
===Variations===&lt;br /&gt;
&lt;br /&gt;
When combined with horizontal pixel panning (port 0x3C0 register 0x13), this combination usually behaves unexpectedly. For example, with a pixel panning value of 0x01 (shift left one pixel), and values ''x'' and ''y'' as 4-bit colors inherited from the neighboring characters, this same character combines into different colors:&lt;br /&gt;
&lt;br /&gt;
 x 4 4 f 4 f f 4 f y&lt;br /&gt;
&lt;br /&gt;
 x4  4f  4f  f4  fy&lt;br /&gt;
&lt;br /&gt;
Another complication is that 9-pixel wide text modes will switch combination &amp;quot;parity&amp;quot; every other character (extra pixels in brackets):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f [4] 4 4 f 4 f f 4 f [4]&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f  [4]4  4f  4f  f4  f[4]&lt;br /&gt;
&lt;br /&gt;
Typically laptop adapters that perform forced 9-pixel or wider text mode scaling can have this behavior disabled with an Fn+function key combination.&lt;br /&gt;
&lt;br /&gt;
===Vendors===&lt;br /&gt;
&lt;br /&gt;
Chips &amp;amp; Technologies (all models that have been tested), NVIDIA adapters (from between some time in the '90s and some time in the late '00s), and the later VIA S3 Graphics &amp;quot;Chrome&amp;quot; adapters implement &amp;quot;normal&amp;quot; SMZX text mode as described above. No compatibility hacks are required for these vendors.&lt;br /&gt;
&lt;br /&gt;
ATI graphics cards (from some time in the mid '90s until 2006) shift their text mode to the right by one pixel and seem to combine the 4-bit colors in a ''little'' endian manner, i.e. &amp;quot;4 f&amp;quot; are combined into &amp;quot;f4&amp;quot;. To correct this, MegaZeux applies a horizontal pixel panning value of 0x01 and reverses the index nibbles of all SMZX colors when sending them to the VGA.&lt;br /&gt;
&lt;br /&gt;
''Some'' early Oak Technologies chips seem to combine the 4-bit colors in a little endian manner as well, but without the unusual pixel shift that ATI cards had. This needs more testing. MegaZeux currently has no method of detecting this.&lt;br /&gt;
&lt;br /&gt;
See the compatibility tables below for more info.&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9550&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129189285549784 Vyothric]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Trident TVGA8900C &lt;br /&gt;
 | 1991&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129321941807738 Vyothric]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5429&lt;br /&gt;
 | 1994&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129058113328265 Vyothric]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel i740&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129037636343700 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 86C805-P&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129283018122906 Vyothric]&lt;br /&gt;
 | No doubling&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Savage 2000&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129105464362419 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V2/DX&lt;br /&gt;
 | 1996&lt;br /&gt;
 | HP Brio 8314&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://misskey.resonite.love/notes/9qwod5kpd2 GreaseMonkey]&lt;br /&gt;
 | No doubling&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 ViRGE 325&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129242425621315 Vyothric]&lt;br /&gt;
 | No doubling&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9214</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9214"/>
		<updated>2024-03-20T17:50:33Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX is derived from a horizontally adjacent pair of text mode pixels in the following manner:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 !Color&lt;br /&gt;
 !Left pixel&lt;br /&gt;
 !Right pixel&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If colors II and III seem backwards to experienced programmers, it is not a mistake; this is how the original DOS versions defined these colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
SMZX mode 2 was the first mode to allow full user control over the 256 color palette.  It is internally identical to SMZX mode 1, but instead of generating the new colors from a user-defined 16 color palette, it allows direct reading and writing of all 256 colors either through the '''set color # to # # #''' command or with the counters '''SMZX_Rn''', '''SMZX_Gn''', and '''SMZX_Bn'''.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG for the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
(Note that colors II and III are backwards here to compensate for the backwards definitions of colors II and III from the character data. In practice, this won't matter to most users.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
SMZX mode 3, which was added with the SDL port, uses a palette of 256 completely independent colors as opposed to the effective 16 &amp;quot;base&amp;quot; colors of modes 1 and 2. By default, the colors for each subpalette cXX are defined as:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Subpalettes 253 through 255 &amp;quot;wrap around&amp;quot; the palette, so e.g. subpalette 253 will contain colors 253, 254, 255, and 0.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Hardware details==&lt;br /&gt;
&lt;br /&gt;
Super MegaZeux modes 1 and 2 are derived from a quirk of VGA (Video Graphics Array) compatible video adapters. In the video adapters that support SMZX, enabling the 8-bit color flag (0x40) of the Attribute Mode Control register (port 0x3C0 register 0x10) will combine two adjacent 4-bit EGA palette indices into a single 8-bit VGA palette index. This flag is intended for mode 13h only; enabling this in 14p text mode is undefined behavior. Most graphics chips do not render this 8-bit color text mode hack &amp;quot;correctly&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: given the text mode character byte 0x2d:&lt;br /&gt;
&lt;br /&gt;
 ░░▓░▓▓░▓&lt;br /&gt;
&lt;br /&gt;
With the palette 0x4F, this text mode byte is typically expanded to 4-bit color indices (hex):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f&lt;br /&gt;
&lt;br /&gt;
When the 8-bit color flag is enabled, two adjacent 4-bit indices are combined in a big endian manner to create a single 8-bit index (hex):&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f&lt;br /&gt;
&lt;br /&gt;
These 8-bit indices are used to index the VGA palette. This is a &amp;quot;normal&amp;quot; SMZX mode implementation.&lt;br /&gt;
&lt;br /&gt;
===Variations===&lt;br /&gt;
&lt;br /&gt;
When combined with horizontal pixel panning (port 0x3C0 register 0x13), this combination usually behaves unexpectedly. For example, with a pixel panning value of 0x01 (shift left one pixel), and values ''x'' and ''y'' as 4-bit colors inherited from the neighboring characters, this same character combines into different colors:&lt;br /&gt;
&lt;br /&gt;
 x 4 4 f 4 f f 4 f y&lt;br /&gt;
&lt;br /&gt;
 x4  4f  4f  f4  fy&lt;br /&gt;
&lt;br /&gt;
Another complication is that 9-pixel wide text modes will switch combination &amp;quot;parity&amp;quot; every other character (extra pixels in brackets):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f [4] 4 4 f 4 f f 4 f [4]&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f  [4]4  4f  4f  f4  f[4]&lt;br /&gt;
&lt;br /&gt;
Typically laptop adapters that perform forced 9-pixel or wider text mode scaling can have this behavior disabled with an Fn+function key combination.&lt;br /&gt;
&lt;br /&gt;
===Vendors===&lt;br /&gt;
&lt;br /&gt;
Chips &amp;amp; Technologies (all models that have been tested), NVIDIA adapters (from between some time in the '90s and some time in the late '00s), and the later VIA S3 Graphics &amp;quot;Chrome&amp;quot; adapters implement &amp;quot;normal&amp;quot; SMZX text mode as described above. No compatibility hacks are required for these vendors.&lt;br /&gt;
&lt;br /&gt;
ATI graphics cards (from some time in the mid '90s until 2006) shift their text mode to the right by one pixel and seem to combine the 4-bit colors in a ''little'' endian manner, i.e. &amp;quot;4 f&amp;quot; are combined into &amp;quot;f4&amp;quot;. To correct this, MegaZeux applies a horizontal pixel panning value of 0x01 and reverses the index nibbles of all SMZX colors when sending them to the VGA.&lt;br /&gt;
&lt;br /&gt;
''Some'' early Oak Technologies chips seem to combine the 4-bit colors in a little endian manner as well, but without the unusual pixel shift that ATI cards had. This needs more testing. MegaZeux currently has no method of detecting this.&lt;br /&gt;
&lt;br /&gt;
See the compatibility tables below for more info.&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9550&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129189285549784 Vyothric]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5429&lt;br /&gt;
 | 1994&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129058113328265 Vyothric]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel i740&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129037636343700 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Savage 2000&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129105464362419 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V2/DX&lt;br /&gt;
 | 1996&lt;br /&gt;
 | HP Brio 8314&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://misskey.resonite.love/notes/9qwod5kpd2 GreaseMonkey]&lt;br /&gt;
 | No doubling&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 ViRGE 325&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129242425621315 Vyothric]&lt;br /&gt;
 | No doubling&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9213</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9213"/>
		<updated>2024-03-20T17:07:59Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Incompatible hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX is derived from a horizontally adjacent pair of text mode pixels in the following manner:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 !Color&lt;br /&gt;
 !Left pixel&lt;br /&gt;
 !Right pixel&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If colors II and III seem backwards to experienced programmers, it is not a mistake; this is how the original DOS versions defined these colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
SMZX mode 2 was the first mode to allow full user control over the 256 color palette.  It is internally identical to SMZX mode 1, but instead of generating the new colors from a user-defined 16 color palette, it allows direct reading and writing of all 256 colors either through the '''set color # to # # #''' command or with the counters '''SMZX_Rn''', '''SMZX_Gn''', and '''SMZX_Bn'''.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG for the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
(Note that colors II and III are backwards here to compensate for the backwards definitions of colors II and III from the character data. In practice, this won't matter to most users.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
SMZX mode 3, which was added with the SDL port, uses a palette of 256 completely independent colors as opposed to the effective 16 &amp;quot;base&amp;quot; colors of modes 1 and 2. By default, the colors for each subpalette cXX are defined as:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Subpalettes 253 through 255 &amp;quot;wrap around&amp;quot; the palette, so e.g. subpalette 253 will contain colors 253, 254, 255, and 0.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Hardware details==&lt;br /&gt;
&lt;br /&gt;
Super MegaZeux modes 1 and 2 are derived from a quirk of VGA (Video Graphics Array) compatible video adapters. In the video adapters that support SMZX, enabling the 8-bit color flag (0x40) of the Attribute Mode Control register (port 0x3C0 register 0x10) will combine two adjacent 4-bit EGA palette indices into a single 8-bit VGA palette index. This flag is intended for mode 13h only; enabling this in 14p text mode is undefined behavior. Most graphics chips do not render this 8-bit color text mode hack &amp;quot;correctly&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: given the text mode character byte 0x2d:&lt;br /&gt;
&lt;br /&gt;
 ░░▓░▓▓░▓&lt;br /&gt;
&lt;br /&gt;
With the palette 0x4F, this text mode byte is typically expanded to 4-bit color indices (hex):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f&lt;br /&gt;
&lt;br /&gt;
When the 8-bit color flag is enabled, two adjacent 4-bit indices are combined in a big endian manner to create a single 8-bit index (hex):&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f&lt;br /&gt;
&lt;br /&gt;
These 8-bit indices are used to index the VGA palette. This is a &amp;quot;normal&amp;quot; SMZX mode implementation.&lt;br /&gt;
&lt;br /&gt;
===Variations===&lt;br /&gt;
&lt;br /&gt;
When combined with horizontal pixel panning (port 0x3C0 register 0x13), this combination usually behaves unexpectedly. For example, with a pixel panning value of 0x01 (shift left one pixel), and values ''x'' and ''y'' as 4-bit colors inherited from the neighboring characters, this same character combines into different colors:&lt;br /&gt;
&lt;br /&gt;
 x 4 4 f 4 f f 4 f y&lt;br /&gt;
&lt;br /&gt;
 x4  4f  4f  f4  fy&lt;br /&gt;
&lt;br /&gt;
Another complication is that 9-pixel wide text modes will switch combination &amp;quot;parity&amp;quot; every other character (extra pixels in brackets):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f [4] 4 4 f 4 f f 4 f [4]&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f  [4]4  4f  4f  f4  f[4]&lt;br /&gt;
&lt;br /&gt;
Typically laptop adapters that perform forced 9-pixel or wider text mode scaling can have this behavior disabled with an Fn+function key combination.&lt;br /&gt;
&lt;br /&gt;
===Vendors===&lt;br /&gt;
&lt;br /&gt;
Chips &amp;amp; Technologies (all models that have been tested), NVIDIA adapters (from between some time in the '90s and some time in the late '00s), and the later VIA S3 Graphics &amp;quot;Chrome&amp;quot; adapters implement &amp;quot;normal&amp;quot; SMZX text mode as described above. No compatibility hacks are required for these vendors.&lt;br /&gt;
&lt;br /&gt;
ATI graphics cards (from some time in the mid '90s until 2006) shift their text mode to the right by one pixel and seem to combine the 4-bit colors in a ''little'' endian manner, i.e. &amp;quot;4 f&amp;quot; are combined into &amp;quot;f4&amp;quot;. To correct this, MegaZeux applies a horizontal pixel panning value of 0x01 and reverses the index nibbles of all SMZX colors when sending them to the VGA.&lt;br /&gt;
&lt;br /&gt;
''Some'' early Oak Technologies chips seem to combine the 4-bit colors in a little endian manner as well, but without the unusual pixel shift that ATI cards had. This needs more testing. MegaZeux currently has no method of detecting this.&lt;br /&gt;
&lt;br /&gt;
See the compatibility tables below for more info.&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5429&lt;br /&gt;
 | 1994&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129058113328265 Vyothric]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel i740&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129037636343700 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Savage 2000&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129105464362419 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V2/DX&lt;br /&gt;
 | 1996&lt;br /&gt;
 | HP Brio 8314&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://misskey.resonite.love/notes/9qwod5kpd2 GreaseMonkey]&lt;br /&gt;
 | No doubling?&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9212</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9212"/>
		<updated>2024-03-20T17:05:46Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX is derived from a horizontally adjacent pair of text mode pixels in the following manner:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 !Color&lt;br /&gt;
 !Left pixel&lt;br /&gt;
 !Right pixel&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |'''off'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |'''on'''&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If colors II and III seem backwards to experienced programmers, it is not a mistake; this is how the original DOS versions defined these colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
SMZX mode 2 was the first mode to allow full user control over the 256 color palette.  It is internally identical to SMZX mode 1, but instead of generating the new colors from a user-defined 16 color palette, it allows direct reading and writing of all 256 colors either through the '''set color # to # # #''' command or with the counters '''SMZX_Rn''', '''SMZX_Gn''', and '''SMZX_Bn'''.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG for the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
(Note that colors II and III are backwards here to compensate for the backwards definitions of colors II and III from the character data. In practice, this won't matter to most users.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
SMZX mode 3, which was added with the SDL port, uses a palette of 256 completely independent colors as opposed to the effective 16 &amp;quot;base&amp;quot; colors of modes 1 and 2. By default, the colors for each subpalette cXX are defined as:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Subpalettes 253 through 255 &amp;quot;wrap around&amp;quot; the palette, so e.g. subpalette 253 will contain colors 253, 254, 255, and 0.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Hardware details==&lt;br /&gt;
&lt;br /&gt;
Super MegaZeux modes 1 and 2 are derived from a quirk of VGA (Video Graphics Array) compatible video adapters. In the video adapters that support SMZX, enabling the 8-bit color flag (0x40) of the Attribute Mode Control register (port 0x3C0 register 0x10) will combine two adjacent 4-bit EGA palette indices into a single 8-bit VGA palette index. This flag is intended for mode 13h only; enabling this in 14p text mode is undefined behavior. Most graphics chips do not render this 8-bit color text mode hack &amp;quot;correctly&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: given the text mode character byte 0x2d:&lt;br /&gt;
&lt;br /&gt;
 ░░▓░▓▓░▓&lt;br /&gt;
&lt;br /&gt;
With the palette 0x4F, this text mode byte is typically expanded to 4-bit color indices (hex):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f&lt;br /&gt;
&lt;br /&gt;
When the 8-bit color flag is enabled, two adjacent 4-bit indices are combined in a big endian manner to create a single 8-bit index (hex):&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f&lt;br /&gt;
&lt;br /&gt;
These 8-bit indices are used to index the VGA palette. This is a &amp;quot;normal&amp;quot; SMZX mode implementation.&lt;br /&gt;
&lt;br /&gt;
===Variations===&lt;br /&gt;
&lt;br /&gt;
When combined with horizontal pixel panning (port 0x3C0 register 0x13), this combination usually behaves unexpectedly. For example, with a pixel panning value of 0x01 (shift left one pixel), and values ''x'' and ''y'' as 4-bit colors inherited from the neighboring characters, this same character combines into different colors:&lt;br /&gt;
&lt;br /&gt;
 x 4 4 f 4 f f 4 f y&lt;br /&gt;
&lt;br /&gt;
 x4  4f  4f  f4  fy&lt;br /&gt;
&lt;br /&gt;
Another complication is that 9-pixel wide text modes will switch combination &amp;quot;parity&amp;quot; every other character (extra pixels in brackets):&lt;br /&gt;
&lt;br /&gt;
 4 4 f 4 f f 4 f [4] 4 4 f 4 f f 4 f [4]&lt;br /&gt;
&lt;br /&gt;
 44  f4  ff  4f  [4]4  4f  4f  f4  f[4]&lt;br /&gt;
&lt;br /&gt;
Typically laptop adapters that perform forced 9-pixel or wider text mode scaling can have this behavior disabled with an Fn+function key combination.&lt;br /&gt;
&lt;br /&gt;
===Vendors===&lt;br /&gt;
&lt;br /&gt;
Chips &amp;amp; Technologies (all models that have been tested), NVIDIA adapters (from between some time in the '90s and some time in the late '00s), and the later VIA S3 Graphics &amp;quot;Chrome&amp;quot; adapters implement &amp;quot;normal&amp;quot; SMZX text mode as described above. No compatibility hacks are required for these vendors.&lt;br /&gt;
&lt;br /&gt;
ATI graphics cards (from some time in the mid '90s until 2006) shift their text mode to the right by one pixel and seem to combine the 4-bit colors in a ''little'' endian manner, i.e. &amp;quot;4 f&amp;quot; are combined into &amp;quot;f4&amp;quot;. To correct this, MegaZeux applies a horizontal pixel panning value of 0x01 and reverses the index nibbles of all SMZX colors when sending them to the VGA.&lt;br /&gt;
&lt;br /&gt;
''Some'' early Oak Technologies chips seem to combine the 4-bit colors in a little endian manner as well, but without the unusual pixel shift that ATI cards had. This needs more testing. MegaZeux currently has no method of detecting this.&lt;br /&gt;
&lt;br /&gt;
See the compatibility tables below for more info.&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5429&lt;br /&gt;
 | 1994&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129058113328265 Vyothric]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel i740&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@Vyothric/112129037636343700 Vyothric]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V2/DX&lt;br /&gt;
 | 1996&lt;br /&gt;
 | HP Brio 8314&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://misskey.resonite.love/notes/9qwod5kpd2 GreaseMonkey]&lt;br /&gt;
 | No doubling?&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9208</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9208"/>
		<updated>2024-03-15T20:32:21Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Incompatible hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V2/DX&lt;br /&gt;
 | 1996&lt;br /&gt;
 | HP Brio 8314&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://misskey.resonite.love/notes/9qwod5kpd2 GreaseMonkey]&lt;br /&gt;
 | No doubling?&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9207</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9207"/>
		<updated>2024-03-15T20:31:27Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Incompatible hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V2/DX&lt;br /&gt;
 | 1996&lt;br /&gt;
 | HP Brio 8314&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | GreaseMonkey&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9206</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9206"/>
		<updated>2024-03-15T19:46:46Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5426&lt;br /&gt;
 | 1993&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100827940981639 dukeboitans]&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Tseng Labs ET4000 AX (ISA)&lt;br /&gt;
 | 1989&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mas.to/@dukeboitans/112100818549265679 dukeboitans]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9205</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9205"/>
		<updated>2024-03-09T15:39:28Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9100&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | asie&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 7600 GS (AGP)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | asie&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cirrus Logic CL-GD5440&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | Doubles right pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 520&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG (Core i5-6200U)&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Mystique&lt;br /&gt;
 | 1996&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | asie&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce GTX 660&lt;br /&gt;
 | 2012&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9202</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9202"/>
		<updated>2024-03-05T17:30:06Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */ Added NVIDIA GeForce FX 5200&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce FX 5200 (AGP)&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112040355023624578 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | No doubling. (ATI detected)&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 940MX&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9200</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9200"/>
		<updated>2024-03-04T15:23:52Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */ Add kepstin's tests&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 7000 (AGP)&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034280088829489 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 9200 SE&lt;br /&gt;
 | 2003&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034114772189201 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage Mobility-P (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034067154516729 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Rage XL (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034187074718574 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200/400&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70, smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn, [https://tenforward.social/@kepstin/112034219820312089 kepstin]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4 MX420&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034159810882881 kepstin]&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 UniChrome Pro (VIA VT3344)&lt;br /&gt;
 | 2006&lt;br /&gt;
 | Neoware CA21 (VIA CN700)&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | 3dfx Voodoo 3 2000 (AGP)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034014921477716 kepstin]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | IBM ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox MGA Millenium&lt;br /&gt;
 | 1995&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://tenforward.social/@kepstin/112034329123345918 kepstin]&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 940MX&lt;br /&gt;
 | 2016&lt;br /&gt;
 | Acer Aspire E 15 E5-575G-53VG&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9197</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9197"/>
		<updated>2024-03-03T19:42:41Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatible hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X300&lt;br /&gt;
 | 2005&lt;br /&gt;
 | ThinkPad T43&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9196</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9196"/>
		<updated>2024-03-03T19:37:54Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Incompatible hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Mobility Radeon X1300&lt;br /&gt;
 | 2006&lt;br /&gt;
 | ThinkPad T60&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9195</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9195"/>
		<updated>2024-03-03T18:46:46Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Incompatible hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Matrox Millenium G200 (AGP)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | pagerorgy&lt;br /&gt;
 | No doubling.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9194</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9194"/>
		<updated>2024-03-03T18:31:15Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Yes&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9193</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9193"/>
		<updated>2024-03-03T18:17:53Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */ Add NeoMagic MagicGraph256AV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256AV (NM2200)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 380Z&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://pouet.chapril.org/@bartitsu59/112033087218073323 bartitsu59]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9192</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9192"/>
		<updated>2024-03-03T18:00:15Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */ Add SiS 530, Oak OTi037C&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 by NVIDIA, C&amp;amp;T, ATI, and possibly other chipsets. SMZX mode 1 was included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX. Mode 3 was invented for the SDL port and has no hardware equivalent.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. This causes MegaZeux to tweak the horizontal pixel shift register and reverse the nibble order of each color. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software. This enables its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette.&lt;br /&gt;
** Hardware SMZX in DOS does not support this and still draws the UI in SMZX mode.&lt;br /&gt;
** 8bpp software rendering also doesn't support this and will draw the UI in normal mode but with SMZX palette colors.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
===Compatible hardware===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with Working SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reverse nibbles?&lt;br /&gt;
 !Horizontal shift hack?&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 | Yes&lt;br /&gt;
 | ?&lt;br /&gt;
 | ati_fix&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T CT65548&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Toshiba Satellite 100CS&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | C&amp;amp;T F65554&lt;br /&gt;
 | 1997&lt;br /&gt;
 | Toshiba Satellite Pro 465CDX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 2 MX100/200&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | Terryn&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA GeForce 6200 (AGP)&lt;br /&gt;
 | 2005&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1901327031 BFeely]&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NVIDIA RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | ?&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | Oak Technology OTi037C&lt;br /&gt;
 | 1988&lt;br /&gt;
 | -&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | No&lt;br /&gt;
 | No&lt;br /&gt;
 | [https://cohost.org/asie/post/4858546-call-to-action-use#comment-7fc117fe-199a-4aca-9dfe-b87fa7234592 SpindleyQ]&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Incompatible hardware===&lt;br /&gt;
&lt;br /&gt;
The most common failure mode for SMZX in video adapters seems to be a &amp;quot;pseudo-SMZX&amp;quot; mode with a 320x350 resolution where, for every pair of text mode pixels, the left 4-bit color is selected instead of combining their respective 4-bit colors into an 8-bit color.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+Hardware with No SMZX Support&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !Reported by&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon HD 3450 (B629)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Displays regular text mode, first 16 colors of VGA palette. The colors are derived from SMZX colors X0h and everything is shifted left by 1 pixel, suggesting ati_fix is being applied. This card needs further testing.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel 852GMV&lt;br /&gt;
 | 2004&lt;br /&gt;
 | Dell Inspiron 1150&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel GMA 3100 (Intel G33)&lt;br /&gt;
 | 2007&lt;br /&gt;
 | Dell Inspiron 530&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | Intel HD Graphics 2000&lt;br /&gt;
 | 2011&lt;br /&gt;
 | Intel Core i5-2400&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD (NM2160)&lt;br /&gt;
 | 1998&lt;br /&gt;
 | IBM ThinkPad 560X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph256ZX (NM2360)&lt;br /&gt;
 | 1999&lt;br /&gt;
 | IBM ThinkPad 600X&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Lachesis&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | Paradise/Western Digital SVGA (unknown model)&lt;br /&gt;
 | 1994&lt;br /&gt;
 | Compaq LTE Elite 4/50CX&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | [https://github.com/joncampbell123/dosbox-x/issues/4764#issuecomment-1918121416 Jon Campbell]&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | S3 Trio64V&lt;br /&gt;
 | 1995&lt;br /&gt;
 | Compaq 4704&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | Elig&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | SiS 530&lt;br /&gt;
 | 1998&lt;br /&gt;
 | Compaq Presario 5184&lt;br /&gt;
 | smzxtest&lt;br /&gt;
 | [https://mastodon.social/@indigoparadox/112032243607415455 indigoparadox]&lt;br /&gt;
 | Doubles left pixel, first 16 colors of VGA palette.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9173</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9173"/>
		<updated>2024-01-01T22:17:27Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */ Clean up DOS mode explanations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
===Compatibility===&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only work on selected video hardware in DOS versions. Most DOS emulators, including DOSBox, do not support SMZX.&lt;br /&gt;
** Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required. Newer versions of MegaZeux attempt automatic detection.&lt;br /&gt;
** In MegaZeux 2.93 and above, the SVGA renderer can be used to draw SMZX in software, thus enabling its use on any SVGA-compatible graphics card, albeit at a performance cost compared to the EGA renderer.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette. (The main exception to this is 8bpp indexed software rendering, which still has graphical issues.)&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Support in Hardware&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device&lt;br /&gt;
 !Working MZX version(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !ati_fix?&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | ?&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD&lt;br /&gt;
 | 1998&lt;br /&gt;
 | ThinkPad 560X&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | -&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | nVidia GeForce 2&lt;br /&gt;
 | 2000&lt;br /&gt;
 | -&lt;br /&gt;
 | All&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | nVidia GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | All&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | nVidia RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | All&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9172</id>
		<title>Super MegaZeux</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Super_MegaZeux&amp;diff=9172"/>
		<updated>2024-01-01T22:14:58Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: /* Compatibility */ Add a few graphics cards tested in the pre-2.9x days.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Game&lt;br /&gt;
|title = Super MegaZeux&lt;br /&gt;
|image = And.png&lt;br /&gt;
|creator = [[MadBrain]], [[Akwende]], [[Exophase]]&lt;br /&gt;
|company = n/a&lt;br /&gt;
|released = n/a&lt;br /&gt;
|genre = [[MegaZeux|MegaZeux Fork]], regular feature since 2.69&lt;br /&gt;
|vault = n/a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Super MegaZeux''' (or '''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 included in [[MegaZeux#MZXak|MZXAk]], but not in any other MZX releases until MZX 2.69, which sported the original mode plus the more advanced mode 2. Mode 3 was introduced in [[MegaZeux#SDL Port|2.80]], and does not correlate to an actual hardware text mode (as MZX no longer actually relied on text mode).&lt;br /&gt;
&lt;br /&gt;
SMZX mode can be accessed by setting the '''SMZX_MODE''' counter to 1, 2, or 3. In the editor, the current SMZX mode can be changed with the Select Screen Mode dialog (F11).&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
SMZX Mode halves the horizontal screen resolution in favor of adding two colors per character, effectively making a color palette of 256 unique colors.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;pixel&amp;quot; in SMZX can be either color I (represented in MZX mode as two 'off' pixels), color II ('on' and 'off'), color III ('off' and 'on') ad color IV (both 'on').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 1===&lt;br /&gt;
SMZX mode 1, the original mode, generates two new palette colors as intermediates of the two normal-mode colors specified by the palette. This is the simplest Super MegaZeux mode to use, and is used in conjunction with a standard 16 color MZX palette. The example below uses the default palette for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 1&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Background of specified palette&lt;br /&gt;
 |42, 0, 0 (color 4)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |1/3 between BG and FG colors&lt;br /&gt;
 |49, 21, 21&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |2/3 between BG and FG colors&lt;br /&gt;
 |56, 42, 42&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Foreground of specified palette&lt;br /&gt;
 |63, 63, 63 (color 15)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 2===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 2&lt;br /&gt;
 !Palette color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |Uses the background color for both hex digits&lt;br /&gt;
 |Color #0x44 (68 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Uses the FG for the most significant hex digit and the BG for the least significant hex digit&lt;br /&gt;
 |Color #0xF4 (244 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Uses the BG for the most significant hex digit and the FG fore the least significant hex digit&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Uses the foreground color for both hex digits&lt;br /&gt;
 |Color #0xFF (255 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
If the color indexes for colors II and III seem backwards to experienced programmers, it is not a mistake; this is how they actually are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SMZX Mode 3===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Mode 3&lt;br /&gt;
 !Palette Color&lt;br /&gt;
 !Derived by&lt;br /&gt;
 !Example (c4F)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color I&lt;br /&gt;
 |The color in the palette specified by cXX&lt;br /&gt;
 |Color #0x4F (79 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color II&lt;br /&gt;
 |Color I plus 1&lt;br /&gt;
 |Color #0x50 (80 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color III&lt;br /&gt;
 |Color I plus 2&lt;br /&gt;
 |Color #0x51 (81 decimal)&lt;br /&gt;
 |-&lt;br /&gt;
 |Color IV&lt;br /&gt;
 |Color I plus 3&lt;br /&gt;
 |Color #0x52 (82 decimal)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As of MegaZeux 2.90, the color mappings of all 256 subpalettes in SMZX mode 3 can be customized either by using the '''SMZX_IDXx,y''' counter or by reassigning them in the SMZX [[palette editor]].&lt;br /&gt;
&lt;br /&gt;
===Compatibility===&lt;br /&gt;
&lt;br /&gt;
There are some minor and/or past issues with SMZX mode:&lt;br /&gt;
&lt;br /&gt;
* Modes 1 and 2 only worked on selected video hardware in DOS versions. DOSBox does not support SMZX.&lt;br /&gt;
* Prior to MegaZeux 2.90, the Super MegaZeux modes did not leave room in the palette for the reserved UI colors, and thus the UI borrowed the game colors. This resulted in the UI palette looking corrupted, especially in SMZX mode 3. As of MegaZeux 2.90, the UI is almost always drawn in normal mode with the protected palette. (The main exception to this is 8bpp indexed software rendering, which still has graphical issues.)&lt;br /&gt;
* Prior to MegaZeux 2.93, to support Super MegaZeux correctly on DOS versions of MegaZeux combined with certain graphics cards, the creation of an &amp;quot;ati_fix&amp;quot; file in the same directory as the MegaZeux executable was required.&lt;br /&gt;
* SMZX modes are not supported by the (fairly limited) Nintendo DS port.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |+SMZX Support in Hardware&lt;br /&gt;
 !Video Adapter&lt;br /&gt;
 !Year&lt;br /&gt;
 !Device&lt;br /&gt;
 !Working MZX version(s)&lt;br /&gt;
 !Last tested MZX version&lt;br /&gt;
 !ati_fix?&lt;br /&gt;
 !Notes&lt;br /&gt;
 |-&lt;br /&gt;
 | ATI Radeon 8500&lt;br /&gt;
 | 2001&lt;br /&gt;
 | -&lt;br /&gt;
 | ?&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | Yes&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | NeoMagic MagicGraph128XD&lt;br /&gt;
 | 1998&lt;br /&gt;
 | ThinkPad 560X&lt;br /&gt;
 | -&lt;br /&gt;
 | 2.93&lt;br /&gt;
 | -&lt;br /&gt;
 | Doubles left pixel, 16 colors.&lt;br /&gt;
 |-&lt;br /&gt;
 | nVidia GeForce 2&lt;br /&gt;
 | 2000&lt;br /&gt;
 | -&lt;br /&gt;
 | All&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | nVidia GeForce 4&lt;br /&gt;
 | 2002&lt;br /&gt;
 | -&lt;br /&gt;
 | All&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 | nVidia RIVA TNT2&lt;br /&gt;
 | 1999&lt;br /&gt;
 | -&lt;br /&gt;
 | All&lt;br /&gt;
 | 2.70&lt;br /&gt;
 | No&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Notable games that use SMZX mode==&lt;br /&gt;
* [[&amp;amp;]] by [[Lancer-X]]&lt;br /&gt;
* [[Celestial Altar]] by [[Lancer-X]]&lt;br /&gt;
* [[red]] by [[Lancer-X]]&lt;br /&gt;
* [[Ultima IV]] (port) by [[Lancer-X]]&lt;br /&gt;
* [[Bloodlands]] by [[Maxim]] uses Mode 1 in a novel way: to blur the screen when the player takes damage.&lt;br /&gt;
* [[Akwende]]'s Tetris, the pack-in game included with [[MegaZeux#MZXak|MZXak]] 1.0 and above&lt;br /&gt;
* [[Kaboink!]] by [[Logicow]]&lt;br /&gt;
* [[Hackers Can Turn Your Computer into a Bomb!]]&lt;br /&gt;
* [[Murder on the Yellow Express]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Team_AScii&amp;diff=7751</id>
		<title>Team AScii</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Team_AScii&amp;diff=7751"/>
		<updated>2011-08-27T13:13:03Z</updated>

		<summary type="html">&lt;p&gt;Asiekierka: changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OK, asiekierka's been missing from gtalk for nearly 9 days, so I'm going to have to say what I can here. --[[User:Iamgreaser|GreaseMonkey]]&lt;br /&gt;
&lt;br /&gt;
''(and here's how i will mark my additions -- asiekierka)''&lt;br /&gt;
&lt;br /&gt;
Basically, this MZX company started when [[GreaseMonkey]] wanted to team up with [[asiekierka]] for the [[Summer 2009 Dualstream Day of Zeux|Summer 2009 DsDoZ]], even after being told several times by asiekierka that it was probably not a good idea. Unfortunately, asiekierka was not available when the competition started, so GreaseMonkey had to go solo and managed to produce something which wasn't a smouldering pile of crap done in about 6 hours (see &amp;quot;Marooned&amp;quot; in the [[Winter 2008 Dualstream Day of Zeux|Winter 2008 DsDoZ]]), at the expense of nearly going full circle through the day (6:30am to 3:15am... this was actually achieved in the next DoZ).&lt;br /&gt;
&lt;br /&gt;
Then asiekierka contacted GreaseMonkey and decided to do a collab game, &amp;quot;Reporting on the DoZ&amp;quot;, parodying all the entries. asiekierka started a &amp;quot;company&amp;quot; called Team AScii and even made a logo ''(first in 80x25 then in 80x50 -- asiekierka)'' for it. Unfortunately, all that came of this game was a parody of the title screen in [[Lancer-X|Lancer's]] DoZ entry (having the music, then cutting the fuzzy background / music into TV white noise and then a test pattern).&lt;br /&gt;
&lt;br /&gt;
Uh, so that's roughly how Team AScii was formed. ''(yeah)''&lt;br /&gt;
&lt;br /&gt;
[[Forsaken Daylight]] was ''almost'' a Team AScii release (they changed their DoZ team name to &amp;quot;Team Betamax&amp;quot; after asiekierka's then-current obscession with video-tapes).&lt;br /&gt;
&lt;br /&gt;
Other than ''maybe'' that, there seems to be no Team AScii MZX releases ''(a few were planned but nothing was finished)'', although GreaseMonkey made a custom C + Lua Minecraft server and then eventually left Minecraft after Notch (the author) suggested trolling some 10-year-old on Skype ''(then came back in August 2011)'', leaving asiekierka effectively in charge of the Luacraft code.&lt;br /&gt;
&lt;br /&gt;
asiekierka modified a tool to bruteforce a master key on the Nintendo DSi so that it could work in a distributed network setting or something like that. ''(then marketed it wrong and got into a massive flamewar)''&lt;br /&gt;
&lt;br /&gt;
The [http://youtube.com/user/asciicharismatic YouTube channel] has some videos by asiekierka, although most of them are just uploads of stuff he's seen and wants archived / shown / whatever.&lt;br /&gt;
&lt;br /&gt;
But yeah, as of some point in February 2010, Team AScii is still running! ...somewhat. ''(Unofficially dead since late 2010)''&lt;br /&gt;
&lt;br /&gt;
So uh, yeah, there's my rant. -GM&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Asiekierka</name></author>
	</entry>
</feed>