Tweaked ZX Spectrum graphics modes


Introduction

The ZX Spectrum originally have 256x192 resolution with 8 unique colours (all have normal and bright variant - except the black, which has only one shade) on 32x24 attribute cells. This means, that only one background and one foreground colour can be used in the 8x8 size attribute area. In addition, the foreground and background colors have to be the same attribute.

Passing the time some innovative techniques were born to improve the graphics abilities of the ZX Spectrum, they will be introduced right now.

Please send any corrections or suggestions to the e-mail address.


Magyarul/In Hungarian · Angolul/In English · Galéria/Gallery


Multicolor Czech Republic Slovakia Spain Russia United States Poland Portugal Great Britain Brazil Italy

alternative names: Hi(-)colo(u)r, Timex Hi(-)Colo(u)r, FLI (Flexible Line Interrupt), IFLI (Improved FLI), MT (Multitech) Multicolo(u)r,
DMA Multicolo(u)r, HW (Hardware) Multicolo(u)r, Timex Multicolo(u)r, Extended Colo(u)r,
Rainbow Processor mode (Colour Draw), 14 column Hi-color, ZXodus Engine, BIFROST Engine, NIRVANA Engine (bicolo(u)r)

The essence of Multicolor mode is get away from the usual 8x8 attribute size (only one background - Paper and one foreground - Ink size can be used in that area) with different programming tricks, and let the Spectrum be able to handle smaller sizes like 8x1 (MT, DMA, HW, Timex Multicolor, Extended Color), 8x2 (IFLI), 8x4 (FLI), 4x1, 4x2 etc.).

Multicolor effects needed to timed each Spectrum models separately, meaning this method is exceptionally difficult. But the result is more lively and colourful screen.

But the processor of the ZX Spectrum is not powerful enough to keep whole screen refreshed. That's why multicolor 8x1 only works in a smaller screen area, and full screen is only possible using multicolor 8x2 (unless you use special hardware).

Such example is the Rainbow color mode of Colour Draw painting programme written by the Czech Jan (Art) and Jakub Flaska (Matlas) in 1994 which was capable to handle it up to 16 columns. The number of rows can be beetwen 1-24 with 8x1 attributes, so the Multicolor area can be 128x8-192. At the moment limit is raised to 20, so 160 pixels.

The development of the Spanish Miguel Angel Rodriguez Jodar is the 14 column Hi-color mode. Shortly: in the centre of the picture in 14x24 characters area (112x192 pixel) uses 8x1 attributes. The rest of the screen is the regular Spectrum 8x8 mode.

In 2011 came out the ZXodus Engine from the English Andrew Owen, which was extended it to 18 columns, but paired only with 18 rows using the Timex 8x1 Multicolor mode.

The Brazilian Einar Luciano Gattoni Saukas was released his BIFROST* Engine in 2012, which was allowed again 8x1 attributes in 18x18 cells, so all of those modes are 144x144 pixel sized. In addition they are software mode compatible with all Spectrums (48K, 128K, 128K+2, 128K+2A, 128K+2B, 128K+3) with flicker-free picture. Previous uses 8,5K, last one uses 6,5K memory, and using the CPU at 82% and 70% level.

BIFROST*2 is similar to the previous ones, has 20x20 grid, so in 160x160 pixels can work, which using the power of processor 75%.

The next two engines have variable size, just like the Rainbow color mode, so some CPU and memory resources can be saved. Sauka's NIRVANA Engine (aka bicolour) can use nearly the whole screen, with 22x30 grid and has a slightly worse 8x2 graphics (240x176). The number of rows can vary from 1 to 22 (8-176 pixels), the processor and memory usage are 8,5K and 80% when using the maximum size. Beside the previously mentioned Spectrums was released a Pentagon port from Denis Grachevtől (ex-Masters Company Ltd, RetroSouls). Flickering also eliminated.

NIRVANA+ Engine only left out the upper 1 character line with its 8x2 mode in order to easier software development, so works in maximum 32x23 area (256x184). It demands the same memory as the previous, and CPU usage was grown only with 2%. Of course, here also the possibility to use only 1 character row, 8 pixels high multicolor area.

To provide multicolor 8x1 in full screen, some hardware Multicolor devices were developed (alternatively named DMA Multicolor, Multitech Multicolor), that take off the task of image processing from the Spectrum's CPU. It is the feature of Timex Sinclair 2048, 2068, 20128 as well some Pentagons. In Europe, was realised by the Data Gear electronic circuit, first appeared as the part of MB-02+ disc interface. Uses 12k memory. Alessandro Dorigatti also emulated it in the V6Z80P's ZX Spectrum core.

Anyway, Multicolor effects generally can be connected with Pentagon demos.

Updated: 2015. December


Timex Multicolor (8x1)
Nirvana+
DMA Multicolor laced (8x1)



Multitech Monochrome Czech Republic Slovakia

The 15 colours palette of Spectrum combined together with Multicolor provides representation of realistic greyscale pictures, if removing the colours from the TV set.

This method is often connected with the Multicolor abilities of MB-02+ and Data Gear, but certainly well useable with any other kind of hardware.

The picture converting method was improved by 8Bit Company with Multitech Glory 2.0 name, theoretically with better picture quality. The change is imperceptible in the practice however.

Updated: 2015. July


IFLI GreyTV (8x2)



Gigascreen Russia Portugal Poland

alternative names: Doublescreen, DualScreen, Gigablend

This mode means the fast change of two specially prepared images on the screen.

Normally realised by software way, but some Pentagon models capable to handle on hardware level. The similar also stands for the Timex 2048. The hardware method is also mentioned as Gigablend mode.

On software level, of course is noticeable the blinking, although not as nasty as the soon to be introduced 3color mode.

Can display up to 127 colours (int((15^2)/2)+15), which is the result of mixing the colours of the two pictures. And there is a monochromatic version also.

Updated: 2015. April


Gigascreen



DithVIDE, BZither Czech Republic Slovakia

Means the combination of Gigascreen and dithering. The name reffers for dithering, which used during the conversion of true colour graphics.

Altogether 127 colours can displayed in this mode.

DithvIDE is Zilogator's (Pavel Cimbal), and BZither Milos 'baze' Bazelides' invention.

Update: 2015. July


BZither



Multigigascreen Russia

alternatív elnevezés: MCX

The Multigigascreen is also a hybrid screen-mode, which combines the Multicolor and Gigascreen by software way. It works with 8x1, 8x2 and 8x4 attributes and uses 83 colours. This also works on the part of screen only and also can be applied to the whole screen (maximum to 22 characters width, the remained two columns will be standard Spectrum screen format).

The first game, which used this mode was Hexagonal Filler (2004). The converter of this mode is Con18, and an MCX named viewer is also available. The mentioned programs are the works of Alone Coder (AlCo - Dmitry Bystrov), so he is the creator of this mode.

In 2009 was released multiArtist, a Windows-based painting program to made MCX graphics. The first multigigascreen demo, Mescaline Synthesia also came out in this year.

Updated: 2015 July


Multigigascreen
Programable Palette Russian

alternative names: Optional Palette, 4096 Color Palette

This extension is available for Pentagon 1024 SL 2.2 and ATM Turbo2+ at present, but in theory, it can be made for every ZX Spectrum machine. The inventor is Dmitry Dmitriev (ddp) and released in 2009.

The method is based on the ATM Turbo 2+'s 64 colours palette. The essence of operation, that we can send 0..7 values through the #FE port, on #F6 from 8 to 15. This means 16 unique colours, but with mixing with #FF port, the result is 64 colours very similarly to Gigascreen. In addition, when mixing two 64 colours Gigascreen palettes, the result is 4096 colours Gigascreen with using an another port.

The circuit, which is suitable for Pentagon is built around the Altera EPM7128 FGPA, and its firmwares downloadable from the website. The circuit for ATM Turbo 2+ even simpler, only needs to two chips and a D/A converter.



3color Russia

alternative names: Tricolor, Multichrome, RGB-3, Interchrome, 8col, 8C

This mode is consist of fast changing three black backgrounded single coloured (red, green and blue) images.

Rather annoying mode, after 10-15 minutes definitely hurts the eyes the 16.6 Hz frequenczy flickering, although on TV-set is less noticeable the flashing. On ATM Turbo and '16col capable' Pentagon SL2.x's flickering is eliminated with the appriorate software. Mainly used for viewing PC/Amiga graphics.

Hard disk or DMA circuit necessary for realistic output, since alternating the three pictures requests 345Kb/sec data transfer.

Number of maximum colours are 8 and there is no attribute clash.

Updated: 2015. July


3color (error diffused)



512x192 United States Poland Portugal Russia Great Britain Italy

alternative names: Hi-res, Timex Hi-res, Highres Monochrome

In the classic times, was used mainly for producing 64x24 and 80x24 character screen at Timex Sinclair computers. Two special graphics programs and the Basic64 as well some CP/M versions were used it.

In Russia, the Byte clone was supported at hardware level, and for Pentagons, Vladimir Getmanets (V.M.G. or VMG) was developed it in Ukraine. The articles about it released in On-Line #79-80 (1997) and Deja Vu #06 (1998.). Again, all supporting software are end user programs. This mode again uses 12K memory.

A special MadROM was written for support this resolution with built-in commander.

From its names easy to guess, gives monochrome display. In the new age, the v2.3 core of V6Z80P is supporting the Timex compatible mode, the core was written by the Italian Alessandro Dorigatti for the English computer.

Frissítve: 2015. július



Pentagon OverSCan (POSC) Russia

alternative names: Overscan mode, 384x304

It is the typical extension of Pentagon SL2.xs, which expands the screen onto the border. All another specifications are the same as the regular 256x192 mode.

It is very memory and CPU consuming, as the screen is divided into 9 slices. That's why only used by user programs, because scrolling is very slow.

Its developer, Alone Coder was released it in 1999, and the final version was done by KSA-7G (Sergej Anatolevic Koluzanov) in 2004. Original was published in ZX-Guide #02 diskmag, the moddig in the AlCoNews #32.

It is used by ACEdit, ANSI viewer, LISTER80 (source code: ZX-Guide #02), VIEW384 (source code: Info Guide #08).

This is not used standard anymore, so the 6th bit of the #eff7 port is free to use.

Updated 2015. July


Pentagon OverScan


256x384

alternative names: Interlace

Truly said, this is not a new graphics mode, but rather an ULA trick, which is based on manipulating the half screens appearing on TV, and the Spectrum created half screens (odd and even lines). Combined with the 128K Spectrum's shadow screen, we can double the virtual resolution.

Attribute clash is still present, although not so serious, as on original Spectrum screen. In this case, rectangles are constructing the screen with one fore- and one background colour.

Available colour numbers is the same as at the standard resolution.

It is a simple machine code trick, not so complicated and also not processor hungry.

Looked on television, not so hurty the vibration, than through a monitor.

It is the creation of the Spanish Miguel Angel Rodriguez Jodar.



256x384 (color dithered)


512x384

alternative names: Timex/Pentagon Hi-res Interlaced

Timex Sinclair 20128 (or 2128) is an expansion for the 2048 machines. This one is a hardware 128K emulator. The Timex originally already had two videopages, for which added the two another from the 128K Spectrum, so altogether we have four videopages. In that way goes the 512x384 resolution.

Said, that some tuning-Pentagons are also capable to produce this mode.



512x384


16C

alternative names: 16col, color-per-pixel, 4Bpp (4 bit per pixel)

Opposed of its name, this Pentagon extension uses certainly the 15 colours of Spectrum. Was released in 2005 by again Alone Coder. It was inherited the method from the former strongest Spectrum clone, the ATM Turbo.

Its novelty, that any dots of the screen can be any kind of colour, very similar to EGA screen.

The real sensation, that not only viewers and illustrated adventure games, but arcades also run smoothly in this mode even on 3,5MHz. The question of attributes clash solved. Has greyscale subversion too.



16C



Flash colo(u)r Ukraine Russia

alternative names: 128 colo(u)rs

This novelty was arrived from Ukraine, and utilizing the mostly unused place of Flash attribute to get 46 colour palette. On black background (the Paper only can be that colour) altogether 128 shades of colours can achieved, among them the brown and orange, which was an old dream of Spectrum users.

The idea was came from A-GRAPh (Andrej Pozdnjakov), and the implementation of circuit was made by VG Studio for the Pentagons. The constructors are said, that in theory can be adapted to any clones. First publications were released in Faultless #09 (1998), Rush #01 as well Miracle #03 (1999.) diskmags.

Adopting it to Scorpions was released by Cardinal (aka Playgear - Denis Ivanovic Latysev,) in Deja Vu #0A in 2000 from Russia.

Unfortunately it was not popular at all, only Burial Graphics Editor has Flash Colour palette, and Crime Santa Claus uses it on the title screen, as well a demo picture in Miracle #03.

But it was the pioneer of ULAplus mode

Frissítve: 2015. július.


Doublebright

Doublebright mode based on the similar technoilogy like the previous, the flashing attribute was banished, and a second bright signal was insterd. Originally the Paper and Ink have a common bright value. Now they can wear different bright attributes in this mode. Pentagons, SpeccyBob and Spectrum +3s supporting.



Doublebright


ULAplus Great Britain Italy Australia Spain

alternative names: 64 Colours, ULA+, 64 Colour RGB Mode, ULA+ 64 color mode

The idea of realization of ULAplus goes back to 2000. At that time begins to made the specifications the English Andrew Owen (Cheveron) during the development of ZX Spectrum SE clone. And then in 2009 Chris Smith - who lives in Wales- during the reverse engineering of ULA (when developing the Harlequin clone) takes the attention of Andrew, that there is room for the realization in the new version of ULA. On the IRC, Nikki suggested to use different palettes for Paper and Ink. So it was possible to use 64 colours instead of 32. The 9 bit RGB palette using the 256 colours of MSX2. Again ULAPlus compatible is the series production optimized version of ZX Spectrum SE, the Chloe 280SE, and its downgraded version, the Chloe 140SE.

The basic idea is the same as with the Russian FlashColor and DoubleBright. It uses to display the extra colours the unused attributes of Flash and Bright. With the CPU intensive palette changing method, can be displayed 256 colours, and with combining a normal and 64 colours one, 260 can be achieved. The Timex 2048 version works with 8x1 attribute cells, which gives even more lively pictures. Colour clash is still present.

As ULAplus is an open standard, more people took part in the development. The Italian Alessandro Dorigatti was realized the idea first as FGPA cores. Alessandro Poppi was used his code in ZX-Badaloc Reloaded. Dorigatti's own ZX Spectrum cores could be loaded into ZX-One, Turbo Chameleon 64, V6Z80P és MCC clones. Jeff Braine is developing the ZX Prism clone with ULAplus support in Australia. The Spanish Miguel Angel Rodriguez Jodar is working on an open FGPA core. Mark Smith is planning to made the SLAM+48 and SLAM+128 named compatible circuits built around the Xilinx XC95288XL CPLD.

Updated: 2015. July

64 Colours



HAM256 Great Britain

The HAM256 mode is based on the software combination of ULAplus and palette changing. Thus can be achieved to display all the 256 colours, not only 64. Its developer is the previously mentioned Andrew Owen.

In a 8x256 pixel row only 32 colours can be seen at once, but the palette can be changed in every rows. The 32 colours limit instead of 64 is because the CPU intensive method.

As it seen, it is much more similar to the Atari ST's Spectrum512 mode than Amiga's HAM mode. But the Spectrum256 name was already in use.

The ZX Spectrum mode works with 8x8 attribute cells, the Timex is 8x1.

Updated: 2015. July


HAM256 (8x1)



Spectra interface extra graphics modes Great Britain
The Spectra interface of Paul Farrow supports 32 new graphics modes, which can be achieved without modifying the Spectrum. The size of the screen is always remain 256x192 pixels, but above that, numerous variants are exists.

The size of attribute can be either 8x8 (Full cell, row), 8x4 (Full cell, quad line), 8x2 (Full cell, dual line), 8x1 (Full cell, single line), 4x8 (Half cell, row), 4x4 (Half cell, quad line), 4x2 (Half cell, dual line), 4x1 (Half cell, single line). Half Cell mode is simply a doubling of the colour resolution in the horizontal direction comparing to full cell.

Number of colours may vary to from 64 (extra colour mode) to the conventional 8 or 15 colours (standard colour mode, double or single attribute). The increased number of colours also can applied to the area of border (enhanced border mode vs. standard border mode).

Similar to the 128K Spectrum's shadow screen is the double buffering mode. During one screen is displayed while the another is drawn. So flicker-free displaying is possible.

The single attribute byte mode uses the traditional Flash method. In the double attribute byte mode the flash attributes of paper and ink used separately.

The detailed description of each modes in the attached table. -> Download

Updated: 2012. September 15.


Double attribute extended colours (8x1)



Radastan and chernandezba's graphics modes Spain Australia
Miguel Angel Montejo Raez (Radastan)'s 16-color color-clash-free 128x96 Radastan Mode was realized with double-sized pixels. This 4-bit screen uses 6144 bytes, the palette consists of the 64 colours of ULAPlus. Among the modern clones ZX-Uno and ZX Spectrum Next are using it.

Cesar Hernandez Bano's (chernandezba) screens have similar features (as it is based on the previous one), but with 256x96 (mode 5-12K), 128x192 (mode 7-12K) and 256x192 (mode 9-24K) resolutions - called ZEsarUX modes, named after the author's emulator in which was first realized. It was integrated some months later into the ZX Prism clone. The emulator is supporting the Radastan Mode as well.

Added: 2017. July 18.