Firmware
The machine's Sinclair BASIC interpreter is stored in ROM (along with fundamental system-routines) and was written by Steve Vickers on contract from Nine Tiles Ltd. The Spectrum's chiclet keyboard (on top of a membrane, similar to calculator keys) is marked with BASIC keywords, so that, for example, pressing "G" when in programming mode would insert the BASIC command GOTO.
The BASIC interpreter was developed from that used on the ZX81 and a ZX81 BASIC program can be typed into a Spectrum largely unmodified, but Spectrum BASIC included many extra features making it easier to use. The ZX Spectrum character set was expanded from that of the ZX81, which did not feature lower-case letters. Spectrum BASIC included extra keywords for the more advanced display and sound, and also supported multi-statement lines. The cassette interface was also much more advanced, saving and loading around five times faster than the ZX81 (1500 bits per second compared to 307). As well as being able to save programs, the Spectrum could in addition save the contents of arrays, the contents of the screen memory, and the contents of any defined range of memory addresses.
Read more about this topic: ZX Spectrum