Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
ZX Spectrum
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Hardware == === Technical specifications === [[File:Zx-colors.png|thumb|right|The ZX Spectrum's full [[Palette (computing)|colour palette]] ]] The [[central processing unit]] is a [[Zilog Z80]], an 8-bit [[microprocessor]], with a [[clock rate]] of 3.5 [[Hertz#SI multiples|MHz]]. The original model Spectrum has 16 KB of ROM and either 16 KB or 48 KB of RAM.{{sfn|Leigh|2018|p=70}} === Graphics === {{See also|ZX Spectrum graphic modes}} Video output is channelled through an [[RF modulator]], intended for use with contemporary television sets, to provide a simple colour graphic display. Text is displayed using a grid of 32 columns Γ 24 rows of characters from the [[ZX Spectrum character set]], or from a custom set. The machine features a colour palette of 15 colours, consisting of seven saturated colours at two levels of brightness, along with black.<ref name="Vickers">{{Cite book |last= Vickers |first= Steven |title= Sinclair ZX Spectrum BASIC Programming |url= http://www.worldofspectrum.org/ZXBasicManual/ |access-date= 23 August 2006 |year= 1982 |publisher= [[Sinclair Research Ltd]] |chapter= Introduction |chapter-url= http://www.worldofspectrum.org/ZXBasicManual/zxmanchap1.html |url-status= live |archive-url= https://web.archive.org/web/20060924115058/http://www.worldofspectrum.org/ZXBasicManual/ |archive-date= 24 September 2006 }}</ref> The [[image resolution]] is 256Γ192 pixels, subject to the same colour limitations.<ref name="SpectrumManualChapter16">{{Cite book |last= Vickers |first= Steven |title= Sinclair ZX Spectrum BASIC Programming |url= http://www.worldofspectrum.org/ZXBasicManual/ |access-date= 23 August 2006 |year= 1982 |publisher= [[Sinclair Research Ltd]] |chapter= Colours |chapter-url= http://www.worldofspectrum.org/ZXBasicManual/zxmanchap16.html |url-status= live |archive-url= https://web.archive.org/web/20060924115058/http://www.worldofspectrum.org/ZXBasicManual/ |archive-date= 24 September 2006 }}</ref> To optimise memory usage, colour is stored separately from the pixel [[bitmap]] in a low resolution, 32Γ24 grid overlay, corresponding to the character cells. In practical terms, this means that all pixels within an 8x8 character block share one foreground colour and one background colour. Altwasser received a patent for this design.<ref name="Altwasser">{{Cite patent |country=EP |number=0107687 |status = patent |title=Display for a computer |gdate=6 July 1988 |fdate=22 April 1983 |pridate=22 April 1982 |invent1=Richard Francis Altwasser |assign1=Sinclair Research Ltd }}</ref> An "attribute" consists of a foreground and a background colour, a brightness level (normal or bright) and a flashing "flag" which, when set, causes the two colours to swap at regular intervals.<ref name="SpectrumManualChapter16" /> This scheme leads to what was dubbed "colour clash" or [[attribute clash]], where a desired colour of a specific pixel could not be selected, but only the colour attributes of an 8x8 block. This became a distinctive feature of the Spectrum, requiring programs, especially games, to be designed with this limitation in mind. In contrast, other machines available at the same time, such as the [[Amstrad CPC]] or the [[Commodore 64]], did not suffer from this limitation. While the Commodore 64 also employed colour attributes, it utilised a special multicolour mode and hardware [[sprite (computer graphics)|sprites]] to circumvent attribute clash.<ref name="digitalfoundry">{{cite web|url=http://www.eurogamer.net/articles/digitalfoundry-face-off-zx-spectrum-vs-commodore-64|title=Face off β ZX Spectrum vs Commodore 64|website=[[Eurogamer]]|publisher=[[Future plc]]|location=[[Bath, Somerset|Bath]]|date=29 April 2012|access-date=28 August 2012|url-status=live|archive-url=https://web.archive.org/web/20120904041518/http://www.eurogamer.net/articles/digitalfoundry-face-off-zx-spectrum-vs-commodore-64|archive-date=4 September 2012}}</ref> [[File:MSX Computer Color Limit.gif|thumb|left|The effect of [[attribute clash]] on an [[MSX]], similar to a ZX Spectrum]] === Sound === Sound output is produced through a built-in beeper capable of generating a single channel with ten octaves.{{sfn|Wilkins|2015b|p=16}} It is controlled by a single {{code|EAR}} bit.<ref name="worldofspectrum-16-48">{{Cite book |title= 16K / 48K ZX Spectrum Reference |chapter-url= https://worldofspectrum.org/faq/reference/48kreference.htm#PortFE |publisher= |chapter= PortFE |access-date= 4 July 2023 |archive-date= 25 March 2023 |archive-url= https://web.archive.org/web/20230325133729/https://worldofspectrum.org/faq/reference/48kreference.htm#PortFE |url-status= live }}</ref> By toggling it on and off, simple sounds are generated. This speaker, capable of producing just one note at a time, was governed by the [[BASIC]] command 'BEEP', where programmers could manipulate parameters for pitch and duration.{{sfn|Wilkins|2015a|p=16}} Furthermore, the processor remained occupied exclusively with the BASIC BEEPs until their completion, limiting concurrent operations. Despite these constraints, it marked a significant step forward from the [[ZX81]], which lacked any sound capabilities. Resourceful programmers swiftly devised workarounds; its rudimentary audio functionality compelled developers to explore unconventional methods such as programming the beeper to emit multiple pitches.{{sfn|Wilkins|2015a|p=17}} Later software became available that allowed for two-channel sound playback. The machine includes an [[expansion bus]] [[edge connector]] and 3.5 mm audio in/out ports, facilitating the connection of a [[cassette recorder]] for loading and saving programs and data. The {{code|EAR}} port has a higher output than the {{code|MIC}} and is recommended for headphones, while the {{code|MIC}} port is intended for attachment to other audio devices as a [[line level|line-in]] source.<ref name="Vickers-19">{{Cite book |last= Vickers |first= Steven |title= Sinclair ZX Spectrum BASIC Programming |chapter-url= http://www.worldofspectrum.org/ZXBasicManual/zxmanchap19.html |publisher= [[Sinclair Research Ltd]] |chapter= BEEP |url-status= live |archive-url= https://web.archive.org/web/20141113055815/http://www.worldofspectrum.org/ZXBasicManual/zxmanchap19.html |archive-date= 13 November 2014 }}</ref> === Other integrated peripherals === The ZX Spectrum integrated elements from the ZX81. The keyboard decoding and cassette interfaces are nearly identical, although the latter was programmed for higher-speed loading and saving. The central ULA [[integrated circuit]] shares some resemblance with that of the ZX81, but it features a hardware-based television raster generator with colour support. This indirectly provides the new machine with roughly four times the processing power of the ZX81, as the Z80 is relieved of video generation tasks. An initial ULA design flaw occasionally led to incorrect keyboard scanning, which was resolved by adding a small [[Printed circuit board|circuit board]] mounted upside down next to the CPU in Issue 1 ZX Spectrums.{{sfn|Kean|1985b|p=127}} === Firmware === [[File:ZXspectrum mb.jpg|thumb|48K motherboard (Issue 3B: 1983, heat sink removed)]] The machine's [[Sinclair BASIC]] interpreter is stored in 16 KiB ROM, along with essential system routines. The ROM code, responsible for tasks such as [[floating point]] calculations and [[parser|expression parsing]], exhibited significant similarities to ZX81, although a few outdated routines remained in the Spectrum ROM.{{sfn|Nash|1984|p=217}} The Spectrum's keyboard is imprinted with BASIC keywords. To input a command in BASIC, many keywords require a single keyboard stroke. Other keywords require a change of keyboard mode by a few keystrokes.<ref name="Vickers-2">{{Cite book |last= Vickers |first= Steven |title= Sinclair ZX Spectrum BASIC Programming |url= http://www.worldofspectrum.org/ZXBasicManual/ |access-date= 19 September 2006 |year= 1982 |publisher= [[Sinclair Research Ltd]] |chapter= Basic programming concepts |chapter-url= http://www.worldofspectrum.org/ZXBasicManual/zxmanchap2.html |url-status= live |archive-url= https://web.archive.org/web/20060924115058/http://www.worldofspectrum.org/ZXBasicManual/ |archive-date= 24 September 2006 }}</ref> The BASIC interpreter is derived from the one used on the [[ZX81]]. A BASIC program for ZX81 can be entered into a ZX Spectrum with minimal modifications. However, Spectrum BASIC introduced numerous additional features, enhancing its usability. The [[ZX Spectrum character set]] was expanded compared to that of the ZX81, which lacked lowercase letters. Spectrum BASIC incorporated extra keywords for better graphics and sound functionality, and support for multi-statement lines was added. The built-in ROM tape modulation software routines for cassette data storage enable data transfers at an average speed of 171 [[bit rate|bits per second]] (bit/s), with a theoretical peak speed of 256 bit/s. The tape modulation is significantly more advanced than the ZX81, with approximately four times faster average speeds.<ref name="myprius">{{cite web|url=http://www.myprius.co.za/tape_storage.htm|title=Tape Data Storage|access-date=19 August 2012|url-status=live|archive-url=https://web.archive.org/web/20120415055937/http://www.myprius.co.za/tape_storage.htm|archive-date=15 April 2012}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
ZX Spectrum
(section)
Add topic