Misplaced Pages

Memotech MTX

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

MTX512: £ 315 (equivalent to £1,343 in 2023)

#683316

127-576: The Memotech MTX500 and MTX512 are a range of 8-bit Zilog Z80A based home computers released by the British company Memotech in 1983 and sold mainly in the UK, France, Germany and Scandinavia . Originally a manufacturer of memory add-ons for Sinclair machines, Memotech developed their own competing computer when it was perceived the expansion pack business would no longer be viable. The Memotech machines were technically similar to, although not compatible with,

254-513: A Centronics printer port , two joystick ports, a proprietary Z80 bus edge connector (which doubled as a cartridge port), 2400 baud cassette ports (mic and ear), RF for use with a TV, composite monitor outputs and an audio jack. An "uncommitted" generic I/O port was available but there was no external connector; this was supplied from a DIL socket on the motherboard. There was one internal expansion slot that could accept two expansion cards via daisy chaining . An optional "communications" board

381-593: A MOS Technology 8502 . Zilog was later producing a low-power Z80 suitable for the growing laptop computer market of the early 1980s. Intel produced a CMOS 8085 (80C85) used in battery-powered portable computers, such as the Kyocera -designed laptop from April 1983, also sold by Tandy (as TRS-80 Model 100 ), Olivetti, and NEC. In following years, however, CMOS versions of the Z80 (from both Zilog and Japanese manufacturers) would dominate this market as well, in products such as

508-427: A Zilog Z80A CPU running at 4 MHz which could only address a maximum of 64KB at any one time, larger amounts of RAM were accessed through bank switching . The machine featured TMS9918 or 9928 graphic chips, providing a 256 x 192 resolution, 16 color display and up to 32 sprites . A SN76489A sound chip generated 3 voices plus a pink noise channel with a 6 octave range. The system interfaces offered were

635-619: A light pen . With the addition of the FDX peripheral, the MTX resembled a desktop PC configuration but the system logic was mostly contained within the keyboard and the FDX unit was principally a storage add-on. A variant of the FDX called the HDX was produced, that was sold with a 5 - 20 MB hard disk combined with a single 5.25" floppy drive. A small SDX disk controller peripheral was also manufactured that allowed connection of external floppy drive units. A version

762-654: A 16-bit address register HL. In the 8080, this pairing was added to the BC and DE pairs as well, while HL was generalized to allow use as a 16-bit accumulator, not just an address register. The 8080 also introduced immediate 16-bit data for BC, DE, HL, and SP loads. Furthermore, direct 16-bit copying between HL and memory was now possible, using a direct address. The Z80 orthogonalized this further by making all 16-bit register pairs, including IX and IY, more general purpose, as well as allowing 16-bit copying directly to and from memory for all of these pairs. The 16-bit IX and IY registers in

889-476: A European second-source manufacturer SGS . The design was also copied by several Japanese, Eastern European and Soviet manufacturers. This won the Z80 acceptance in the world market since large companies like NEC , Toshiba , Sharp , and Hitachi started to manufacture the device (or their own Z80-compatible clones or designs). The Z80 continued to be used in embedded systems for decades after its introduction, with ongoing advancements. The latest addition to

1016-632: A PC for firmware updates; for example, a digital audio player might be updated to support a new file format . Some hobbyists have taken advantage of this flexibility to reprogram consumer products for new purposes; for example, the iPodLinux and OpenWrt projects have enabled users to run full-featured Linux distributions on their MP3 players and wireless routers, respectively. ROM is also useful for binary storage of cryptographic data, as it makes them difficult to replace, which may be desirable in order to enhance information security . Since ROM (at least in hard-wired mask form) cannot be modified, it

1143-504: A bit line to a word line. Consequently, ROM could be implemented at a lower cost-per- bit than RAM for many years. Most home computers of the 1980s stored a BASIC interpreter or operating system in ROM as other forms of non-volatile storage such as magnetic disk drives were too costly. For example, the Commodore 64 included 64 KB of RAM and 20 KB of ROM containing a BASIC interpreter and

1270-405: A byte and two T-states for each occurrence. This naturally makes the index register unavailable for any other use, or else the need to constantly reload it would negate its efficiency. Read-only memory Read-only memory ( ROM ) is a type of non-volatile memory used in computers and other electronic devices . Data stored in ROM cannot be electronically modified after the manufacture of

1397-524: A company can simply order a large batch of fresh PROM chips and program them with the desired contents at its designers' convenience. The advent of the metal–oxide–semiconductor field-effect transistor (MOSFET), invented at Bell Labs in 1959, enabled the practical use of metal–oxide–semiconductor (MOS) transistors as memory cell storage elements in semiconductor memory , a function previously served by magnetic cores in computer memory . In 1967, Dawon Kahng and Simon Sze of Bell Labs proposed that

SECTION 10

#1732856150684

1524-405: A copyright on their assembly mnemonics, a new assembly syntax had to be developed for the Z80. This time a more systematic approach was used: These principles made it straightforward to find names and forms for all new Z80 instructions, as well as orthogonalizations of old ones, such as LD BC,1234 . Apart from naming differences, and despite a certain discrepancy in basic register structure,

1651-473: A day later, Faggin and Ungermann were kicking around ideas based on "integrated logic" when Ungermann said "how about Zilog?" Faggin immediately agreed, stating they could say it was the "last word in integrated logic". When they met the next day and both immediately recalled it, the company had its name. The first samples were returned from Mostek on March 9, 1976. By the end of the month, they had also completed an assembler -based development system . Some of

1778-500: A high-level design, adding several concepts of his own. In particular, he used his experience on NEC minicomputers to add the concept of two sets of processor registers so they could quickly respond to interrupts . Ungerman began the development of a series of related controllers and peripheral chips that would complement the design. Through this period, Shima developed a legendary reputation for being able to convert logic concepts into physical design in realtime; while discussing

1905-462: A low-cost product like this would not be able to compete with a design from a company with its own production lines, like Intel. They then began considering a more complex microprocessor instead, initially known as the Super 80, with the main feature being its use of a +5 V bus instead of the more common −5, +5 and 12 V used by designs like the 8080. The new design was intended to be compatible with

2032-458: A method using only the 8080-model registers. The Z80 also introduced a new signed overflow flag and complemented the fairly simple 16-bit arithmetics of the 8080 with dedicated instructions for signed 16-bit arithmetics. The 8080-compatible registers AF, BC, DE, HL are duplicated as a separate register file in the Z80, where the processor can quickly (four t-states, the least possible execution time for any Z80 instruction) switch from one bank to

2159-411: A new role as a medium for mass storage or secondary storage of files. Mask ROM is a read-only memory whose contents are programmed by the integrated circuit manufacturer (rather than by the user). The desired memory contents are furnished by the customer to the device manufacturer. The desired data is converted into a custom photomask /mask layer for the final metallization of interconnections on

2286-455: A proposed feature, he would often interrupt and state how much room that would take on the chip and veto its addition if it was too large. The first pass at the design was complete by April 1975. Shima had completed a logic layout by the beginning of May. A second version of the logic design was issued on August 7 and the bus details by September 16. Tape-out was completed in November and converting

2413-422: A regular encoding (common with the 8080) is that each of the 8-bit registers can be loaded from themselves (e.g. LD A,A ). This is effectively a NOP . New block transfer instructions can move up to 64 kilobytes from memory to memory or between memory and I/O peripheral ports. Block instructions LDIR and LDDR ( l oa d , i ncrement/ d ecrement, r epeat) use HL to point to the source address, DE to

2540-501: A relative address ( JR instead of JP ) using a signed 8-bit displacement. Only the zero and carry flags can be tested for these new two-byte JR instructions. (All 8080 jumps and calls, conditional or not, are three-byte instructions.) A two-byte instruction specialized for program looping is also new to the Z80: DJNZ ( d ecrement j ump if n on- z ero) takes a signed 8-bit displacement as an immediate operand. The B register

2667-511: A specific part of the device, instead of the entire device. This can be done at high speed, hence the name "flash". All of these technologies improved the flexibility of ROM, but at a significant cost-per-chip, so that in large quantities mask ROM would remain an economical choice for many years. (Decreasing cost of reprogrammable devices had almost eliminated the market for mask ROM by the year 2000.) Rewriteable technologies were envisioned as replacements for mask ROM. The most recent development

SECTION 20

#1732856150684

2794-518: A system not using interrupts) it can be used as simply another 8-bit data register. The instructions LD A,R and LD A,I affect the Z80 flags register, unlike all the other LD (load) instructions. The Sign (bit 7) and Zero (bit 6) flags are set according to the data loaded from the Refresh or Interrupt source registers. For both instructions, the Parity/Overflow flag (bit 2) is set according to

2921-416: A technical level the gains have been achieved by increasing parallelism both in controller design and of storage, the use of large DRAM read/write caches and the implementation of memory cells which can store more than one bit (DLC, TLC and MLC). The latter approach is more failure prone but this has been largely mitigated by overprovisioning (the inclusion of spare capacity in a product which is visible only to

3048-544: A total of $ 10 million for the entire industry being spent in all of 1975 (equivalent to $ 57 million in 2023). Someone from Exxon contacted the still-unnamed company, and arranged a meeting that eventually led to them providing an initial $ 500,000 funding in June 1975 (equivalent to $ 2.8 million in 2023). With funding being discussed, and a design to be built, Shima joined in February 1975. Shima immediately set about producing

3175-428: A variable base address (as in recursive stack frames ) and can also reduce code size by removing the need for multiple short instructions using non-indexed registers. However, although they may save speed in some contexts when compared to long/complex "equivalent" sequences of simpler operations, they incur a lot of additional CPU time (e.g., 19 T-states to access one indexed memory location vs. as little as 11 to access

3302-406: A variety of other devices. In particular, many microprocessors have mask ROM to store their microcode . Some microcontrollers have mask ROM to store the bootloader or all of their firmware . Classic mask-programmed ROM chips are integrated circuits that physically encode the data to be stored, and thus it is impossible to change their contents after fabrication. It is also possible to write

3429-521: A week in order to meet the tight schedule given by the financial investors. The Z80 offered many improvements over the 8080: The Z80 took over from the 8080 and its offspring, the 8085 , in the processor market and became one of the most popular and widely used 8-bit CPUs. Some organizations such as British Telecom remained loyal to the 8085 for embedded applications, owing to their familiarity with it and to its on-chip serial interface and interrupt architecture. Likewise, Zenith Data Systems paired

3556-436: Is NAND flash , also invented at Toshiba. Its designers explicitly broke from past practice, stating plainly that "the aim of NAND flash is to replace hard disks ," rather than the traditional use of ROM as a form of non-volatile primary storage . As of 2021 , NAND has nearly completely achieved this goal by offering throughput higher than hard disks, lower latency, higher tolerance of physical shock, extreme miniaturization (in

3683-407: Is common practice to use rewritable non-volatile memory – such as UV- EPROM or EEPROM – for the development phase of a project, and to switch to mask ROM when the code has been finalized. For example, Atmel microcontrollers come in both EEPROM and mask ROM formats. The main advantage of mask ROM is its cost. Per bit, mask ROM was more compact than any other kind of semiconductor memory . Since

3810-550: Is decremented, and if the result is nonzero, then program execution jumps relative to PC; the flags remain unaltered. To perform an equivalent loop on an 8080 requires separate DEC and conditional jump (to a two-byte absolute address) instructions (totalling four bytes), and the DEC alters the flag register. The index register (IX/IY, often abbreviated XY) instructions can be useful for accessing data organised in fixed heterogenous structures (such as records ) or at fixed offsets relative

3937-510: Is in context unless carefully commented. Thus it is advisable that exchange instructions be used directly and in short discrete code segments. The Zilog Z280 instruction set includes JAF and JAR instructions which jump to a destination address if the alternate registers are in context (thus officially recognizing this programming complication). As on the 8080, 8-bit registers are typically paired to provide 16-bit versions. The 8080 compatible registers are: The new registers introduced with

Memotech MTX - Misplaced Pages Continue

4064-587: Is often referred to as the "alternate register set" (by some, the "primed" register file since the apostrophe character is used to denote them in assembler source code and the Zilog documentation). This emphasizes that only one set is addressable at any time. However, the 8-bit accumulator A with its flag register F is bifurcated from the "general purpose" register pairs HL, DE and BC. This is accomplished with two separate instructions used to swap their accessibilities: EX AF,AF' exchanges only register pair AF with AF', while

4191-413: Is only suitable for storing data which is not expected to need modification for the life of the device. To that end, ROM has been used in many computers to store look-up tables for the evaluation of mathematical and logical functions (for example, a floating-point unit might tabulate the sine function in order to facilitate faster computation). This was especially effective when CPUs were slow and ROM

4318-415: Is still applied to images of newer games distributed on CD-ROMs or other optical media. ROM images of commercial games, firmware, etc. usually contain copyrighted software. The unauthorized copying and distribution of copyrighted software is a violation of copyright laws in many jurisdictions, although duplication for backup purposes may be considered fair use depending on location. In any case, there

4445-452: Is stored, usually Flash memory ) and RAM. ROM and RAM are essential components of a computer, each serving distinct roles. RAM, or Random Access Memory, is a temporary, volatile storage medium that loses data when the system powers down. In contrast, ROM, being non-volatile, preserves its data even after the computer is switched off. IBM used capacitor read-only storage (CROS) and transformer read-only storage (TROS) to store microcode for

4572-551: Is the ZX81 , which lets it keep track of character positions on the TV screen by triggering an interrupt at wrap around (by connecting INT to A6). The interrupt vector register , I , is used for the Z80 specific mode 2 interrupts (selected by the IM 2 instruction). It supplies the high byte of the base address for a 128-entry table of service routine addresses which are selected via an index sent to

4699-536: Is typically only possible a certain number of times. The term "ROM" is sometimes used to refer to a ROM device containing specific software or a file with software to be stored in a writable ROM device. For example, users modifying or replacing the Android operating system describe files containing a modified or replacement operating system as " custom ROMs " after the type of storage the file used to be written to, and they may distinguish between ROM (where software and data

4826-414: Is used as the byte counter. The Z80 can input and output any register to an I/O port using register C to designate the port. (The 8080 only performs I/O through the accumulator A, using a direct port address specified in the instruction; a self-modifying code technique is required to use a variable 8080 port address.) The last group of block instructions perform a CP compare operation between

4953-507: Is used to store the basic bootstrapping firmware for the processor, as well as the various firmware needed to internally control self-contained devices such as graphic cards , hard disk drives , solid-state drives , optical disc drives , TFT screens , etc., in the system. Today, many of these "read-only" memories – especially the BIOS / UEFI – are often replaced with EEPROM or Flash memory (see below), to permit in-place reprogramming should

5080-561: The EXX instruction exchanges the three general purpose register pairs HL, DE and BC with their alternates HL', DE' and BC'. Thus the accumulator A can interact independently with any of the general purpose 8-bit registers in the alternate (or primed) register file, or, if HL' contains a pointer to memory, some byte there (DE' and BC' can also transfer 8-bit data between memory and accumulator A). This can become confusing for programmers because after executing EX AF,AF' or EXX what were previously

5207-718: The Amstrad NC100 , Cambridge Z88 and Tandy's own WP-2. Perhaps a key to the initial success of the Z80 was the built-in DRAM refresh, at least in markets such as CP/M and other office and home computers. (Most Z80 embedded systems use static RAM that do not need refresh.) It may also have been its minimalistic two-level interrupt system, or conversely, its general multi-level daisy-chain interrupt system useful in servicing multiple Z80 IO chips. These features allowed systems to be built with less support hardware and simpler circuit board layouts. However, others claim that its popularity

Memotech MTX - Misplaced Pages Continue

5334-574: The BBC Micro conquering the education market and the IBM PC making inroads into becoming a standard for business. The prospect of a very large contract with the Soviet Union was on the horizon by 1985 and a Russian version of the machine was designed, complete with a bright red case. This could have been the saviour of the range but ultimately the deal fell through and Memotech entered bankruptcy. The company

5461-577: The CP/M operating system and Intel's PL/M compiler for 8080 (as well as its generated code), would run unmodified on the new Z80 CPU. Masatoshi Shima designed most of the microarchitecture as well as the gate and transistor levels of the Z80 CPU, assisted by a small number of engineers and layout people. CEO Federico Faggin was actually heavily involved in the chip layout work, together with two dedicated layout people. According to Faggin, he worked 80 hours

5588-640: The Electrotechnical Laboratory in 1972, went a long way to solving problem 4, since an EEPROM can be programmed in-place if the containing device provides a means to receive the program contents from an external source (for example, a personal computer via a serial cable ). Flash memory , invented by Fujio Masuoka at Toshiba in the early 1980s and commercialized in the late 1980s, is a form of EEPROM that makes very efficient use of chip area and can be erased and reprogrammed thousands of times without damage. It permits erasure and programming of only

5715-657: The Game Boy and TI-83 series . The Z80 was the brainchild of Federico Faggin , a key figure behind the creation of the Intel 8080. After leaving Intel in 1974, Faggin co-founded Zilog with Ralph Ungermann . The Z80 was released in July 1976. With the revenue from the Z80, the company built its own chip factories . Zilog licensed the Z80 to the US-based Synertek and Mostek , which had helped them with initial production, as well as to

5842-488: The HRX that could display close to true colour (2, or 262,144 colours) images at 256x256 pixel resolution and enabled frame capture from a video camera. This video mode was well beyond that typically offered on personal computers of the era. The attached MTX computer delivered image manipulation features such as scale, rotate, blur, sharpen, edge detection and contrast adjustment. It could also overlay painted vector graphics onto

5969-450: The Intel 8080 , it offered a compelling alternative due to its better integration and increased performance. As well as the 8080's seven registers and flags register, the Z80 had an alternate register set that duplicated them, two 16-bit index registers and additional instructions including bit manipulation and block copy/search. Initially intended for use in embedded systems like the 8080,

6096-616: The KERNAL operating system. Later home or office computers such as the IBM PC XT often included magnetic disk drives, and larger amounts of RAM, allowing them to load their operating systems from disk into RAM, with only a minimal hardware initialization core and bootloader remaining in ROM (known as the BIOS in IBM-compatible computers). This arrangement allowed for a more complex and easily upgradeable operating system. In modern PCs, "ROM"

6223-496: The MSX standard, making use of the same CPU and video chip . The machines were particularly distinguished from other microcomputers available at the time by the generous maximum memory ceiling. The 500 and 512 models could be expanded internally up to 512K, an unusually large amount of RAM in 1983 for a computer aimed at home use. The MTX range saw the addition of the RS128 in 1984 which

6350-512: The floating gate of a MOS semiconductor device could be used for the cell of a reprogrammable ROM, which led to Dov Frohman of Intel inventing erasable programmable read-only memory (EPROM) in 1971. The 1971 invention of EPROM essentially solved problem 3, since EPROM (unlike PROM) can be repeatedly reset to its unprogrammed state by exposure to strong ultraviolet light. Electrically erasable programmable read-only memory (EEPROM), developed by Yasuo Tarui, Yutaka Hayashi and Kiyoko Naga at

6477-536: The memory device . Read-only memory is useful for storing software that is rarely changed during the life of the system, also known as firmware . Software applications, such as video games , for programmable devices can be distributed as plug-in cartridges containing ROM . Strictly speaking, read-only memory refers to hard-wired memory, such as diode matrix or a mask ROM integrated circuit (IC), that cannot be electronically changed after manufacture. Although discrete circuits can be altered in principle, through

SECTION 50

#1732856150684

6604-418: The 1960s, both ROM and its mutable counterpart static RAM were implemented as arrays of transistors in silicon chips; however, a ROM memory cell could be implemented using fewer transistors than an SRAM memory cell, since the latter needs a latch (comprising 5-20 transistors) to retain its contents, while a ROM cell might consist of the absence (logical 0) or presence (logical 1) of one transistor connecting

6731-406: The 8080); the four remaining codes are used extensively as opcode prefixes : CB and ED enable extra instructions, and DD or FD select IX+d or IY+d respectively (in some cases without displacement d) in place of HL. This scheme gives the Z80 a large number of permutations of instructions and registers; Zilog categorizes these into 158 different "instruction types", 78 of which are the same as those of

6858-430: The 8080, as the Z80 sometimes indicates signed overflow where the 8080 would indicate parity, possibly causing the logic of some practical 8080 software to fail on the Z80. ) This new overflow flag is used for all new Z80-specific 16-bit operations ( ADC , SBC ) as well as for 8-bit arithmetic operations, while the 16-bit operations inherited from the 8080 ( ADD , INC , DEC ) do not affect it. Also, bit 1 of

6985-495: The 8080, but add many of the nice features of the Motorola 6800 , including index registers and improved interrupts . While still being set up, the industry newsletter Electronic News heard of them and published a story on the newly formed company. This attracted the attention of Exxon Enterprises, Exxon 's high-tech investment arm. At the time, in the midst of the recession, there was very little venture capital available, with

7112-645: The 8085 with the 16-bit Intel 8088 in its first MS-DOS computer, the Zenith Z-100 , despite having previous experience with its pioneering Z80-based Heathkit H89 and Zenith Z-89 products. However, other computers were made integrating the Z80 with other CPUs: the Radio Shack TRS-80 Model ;16 with a Motorola 68000 , the DEC Rainbow with an 8088, and the Commodore ;128 with

7239-510: The CPU during an interrupt acknowledge cycle; this index is simply the low byte part of the pointer to the tabulated indirect address pointing to the service routine. The pointer identifies a particular peripheral chip or peripheral function or event, where the chips are normally connected in a so-called daisy chain for priority resolution. Like the refresh register, this register has also sometimes been used creatively; in interrupt modes 0 and 1 (or in

7366-412: The Intel 8080 (allowing operation of all 8080 programs on a Z80). The Zilog documentation further groups instructions into the following categories (most from the 8080, others entirely new like the block and bit instructions, and others 8080 instructions with more versatile addressing modes, like the 16-bit loads, I/O, rotates/shifts and relative jumps): No explicit multiply instructions are available in

7493-592: The Memotech 500 model, and required the optional communications board to which it attached with a ribbon cable . It was sold with either one or two 5.25" floppy disk drives installed and contained a SASI interface supporting up to four drives in total. The system also supported older 8" floppy drives. Four RAM disk cards (referred to as silicon disks) could be added within the FDX chassis, each with up to 8 MB of storage, providing 32 MB of solid state storage in total. These cards could emulate drives accessible by CP/M with

7620-466: The ROM chips, and the presence or absence of these features will represent either a 1 or a 0 bit, depending on the ROM design. Thus by design, any attempts to electronically change the data will fail, since the data is defined by the presence or absence of physical features or structures that cannot be electronically changed. For every software program, even for revisions of the same program, the entire mask must be changed, which can be costly. In mask ROM,

7747-461: The Z80 and 8086 syntax are virtually isomorphic for a large portion of instructions. Only quite superficial similarities (such as the word MOV, or the letter X, for extended register) exist between the 8080 and 8086 assembly languages, although 8080 programs can be translated to 8086 assembly language by translator programs . The Z80 uses 252 out of the available 256 codes as single byte opcodes ("root instruction" most of which are inherited from

SECTION 60

#1732856150684

7874-567: The Z80 are fairly conventional, ultimately based on the register structure of the Datapoint 2200 . The Z80 was designed as an extension of the Intel 8080, created by the same engineers, which in turn was an extension of the 8008 . The 8008 was basically a PMOS implementation of the TTL-based CPU of the Datapoint 2200. The 2200 design allowed 8-bit registers H and L (High and Low) to be paired into

8001-469: The Z80 are primarily intended as base address-registers, where a particular instruction supplies a constant offset that is added to the previous values, but they are also usable as 16-bit accumulators, among other things. A limitation is that all operand references involving IX or IY require an extra instruction prefix byte, adding at least four clock cycles over the timing of an instruction using HL instead; this sometimes makes using IX or IY less efficient than

8128-424: The Z80 are: The refresh register , R , increments each time the CPU fetches an opcode (or an opcode prefix, which internally executes like a 1-byte instruction) and has no simple relationship with program execution. This has sometimes been used to generate pseudorandom numbers in games, and also in software protection schemes. It has also been employed as a "hardware" counter in some designs; an example of this

8255-518: The Z80 family is the eZ80 , which was offered alongside successor chips. Zilog announced the discontinuation of the Z80 in April 2024 after nearly five decades of production. At Fairchild Semiconductor , and later at Intel , physicist and engineer Federico Faggin had been working on fundamental transistor and semiconductor manufacturing technology. He also developed the basic design methodology used for memories and microprocessors at Intel and led

8382-450: The Z80 support and peripheral ICs were under development at this point, and many of them were launched during the following year. Among them were the Z80 CTC (counter/timer), Z80 DMA (direct memory access), Z80 DART (dual asynchronous receiver–transmitter), Z80 SIO (synchronous communication controller), and Z80 PIO (parallel input/output). The Z80 was officially launched in July 1976. One of

8509-539: The Z80's combination of compatibility, affordability, and superior performance propelled it to widespread adoption in video game systems and home computers during the late 1970s and early 1980s, fueling the personal computing revolution. Products it was used in include the Osborne 1 , Radio Shack TRS-80 , ColecoVision , ZX Spectrum and the Pac-Man cabinet; in later years it remained used in portables, best known for use in

8636-467: The Z80. However, this would likely be erroneous code on the 8080, as DAA was defined for addition only on that processor. The Z80 has six new LD instructions that can load the DE, BC, and SP register pairs from memory, and load memory from these three register pairs—unlike the 8080. As on the 8080, load instructions do not affect the flags (except for the special-purpose I and R register loads). A result of

8763-546: The addition of bodge wires and the removal or replacement of components, ICs cannot. Correction of errors, or updates to the software, require new devices to be manufactured and to replace the installed device. Floating-gate ROM semiconductor memory in the form of erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) and flash memory can be erased and re-programmed. But usually, this can only be done at relatively slow speeds, may require special equipment to achieve, and

8890-464: The alternate (primed) registers are now the main registers, and vice versa. The only way for the programmer to tell which set(s) are in context (while "playing computer" while scrutinizing the assembler source text, or worse, poring over code with a debugger) is to trace where each register swap is made at each point in the program. Obviously if many jump and calls are made within these code segments it can quickly become difficult to tell which register file

9017-452: The byte at (HL) and the accumulator A. Register pair DE is not used. The repeating versions CPIR and CPDR only terminate if BC goes to zero or a match is found. HL is left pointing to the byte after ( CPIR ) or before ( CPDR ) the matching byte. If no match is found the ;flag is reset. There are non-repeating versions CPI and CPD . Unlike the 8080, the Z80 can jump to

9144-574: The character Lisa played by Kelly LeBrock . The MTX500 was fitted as standard with 32 KB of user RAM , while the MTX512 had 64KB, and the RS128 had 128KB. An additional 16KB of dedicated video RAM was also present. By contrast, many other machines of the era used a non-trivial fraction of the advertised total memory for video display and the RAM available to the user was less than it may have seemed. All machines had

9271-423: The contents of a Laser ROM by using a laser to alter the electrical properties of only some diodes on the ROM, or by using a laser to cut only some polysilicon links, instead of using a mask. By applying write protection , some types of reprogrammable ROMs may temporarily become read-only memory. There are other types of non-volatile memory which are not based on solid-state IC technology, including: Although

9398-660: The cost of an integrated circuit strongly depends on its size, mask ROM is significantly cheaper than any other kind of semiconductor memory. However, the one-time masking cost is high and there is a long turn-around time from design to product phase. Design errors are costly: if an error in the data or code is found, the mask ROM is useless and must be replaced in order to change the code or data. As of 2003 , four companies produce most such mask ROM chips: Samsung Electronics , NEC Corporation , Oki Electric Industry , and Macronix . Some integrated circuits contain only mask ROM. Other integrated circuits contain mask ROM as well as

9525-498: The current state of the IFF2 flip-flop. Although the Z80 is generally considered an eight-bit CPU, it has a four-bit ALU , so calculations are done in two steps. The first Intel 8008 assembly language was based on a very simple (but systematic) syntax inherited from the Datapoint 2200 design. This original syntax was later transformed into a new, somewhat more traditional, assembly language form for this same original 8008 chip. At about

9652-463: The data is physically encoded in the circuit, so it can only be programmed during fabrication. This leads to a number of serious disadvantages: Subsequent developments have addressed these shortcomings. Programmable read-only memory (PROM), invented by Wen Tsing Chow in 1956, allowed users to program its contents exactly once by physically altering its structure with the application of high-voltage pulses. This addressed problems 1 and 2 above, since

9779-415: The design directly. Faggin thought this would mean they could never compete even if they set up their own lines, and the agreement fell through. He then turned to Mostek, who agreed to a term of exclusivity while Zilog got their lines set up, and were eventually given the second source agreement. After considering many names for the new company, and finding them so unmemorable they could not recall them even

9906-479: The design. Sometime later, Shima was told by an engineer within NEC that the traps had delayed their copying efforts by six months. The successful launch allowed Faggin and Ungermann to approach Exxon looking for funding to build their own fab. The company agreed, and Zilog built a production line very rapidly. This allowed them to capture about 60 to 70% of the total market for Z80 sales. With their own line running, Mostek

10033-566: The destination address, and BC as a byte counter. Bytes are copied from source to destination, the pointers are incremented or decremented, and the byte counter is decremented until BC reaches zero. Non-repeating versions LDI and LDD move a single byte and bump the pointers and byte counter, which if it becomes zero resets the P/V ;flag. Corresponding memory-to-I/O instructions INIR , INDR , OTIR , OTDR , INI , IND , OUTI and OUTD operate similarly, except that B, not BC,

10160-453: The drive controller) and by increasingly sophisticated read/write algorithms in drive firmware. Because they are written by forcing electrons through a layer of electrical insulation onto a floating transistor gate , rewriteable ROMs can withstand only a limited number of write and erase cycles before the insulation is permanently damaged. In the earliest EPROMs, this might occur after as few as 1,000 write cycles, while in modern Flash EEPROM

10287-418: The endurance may exceed 1,000,000. The limited endurance, as well as the higher cost per bit, means that Flash-based storage is unlikely to completely supplant magnetic disk drives in the near future. The timespan over which a ROM remains accurately readable is not limited by write cycling. The data retention of EPROM, EAROM, EEPROM, and Flash may be time-limited by charge leaking from the floating gates of

10414-481: The first customers was a buyer who, unknown to Zilog, worked for NEC. At the time, the Japanese electronics companies were well known for taking US chip designs and producing them without a license. The Zilog team had worried about this, and Faggin had come up with the idea of adding transistors that would be subtly modified to operate differently than a visual inspection would suggest. Shima added six of these "traps" around

10541-506: The flags register (a spare bit on the 8080) is used as a flag N that indicates whether the last arithmetic instruction executed was a subtraction or addition. The Z80 version of the DAA instruction (decimal adjust accumulator for BCD arithmetic) checks the ;flag and behaves accordingly, so a (hypothetical) subtraction followed later by DAA will yield a different result on an old 8080 than on

10668-721: The form of USB flash drives and tiny microSD memory cards , for example), and much lower power consumption. Many stored-program computers use a form of non-volatile storage (that is, storage that retains its data when power is removed) to store the initial program that runs when the computer is powered on or otherwise begins execution (a process known as bootstrapping , often abbreviated to " booting " or "booting up"). Likewise, every non-trivial computer needs some form of mutable memory to record changes in its state as it executes. Forms of read-only memory were employed as non-volatile storage for programs in most early stored-program computers, such as ENIAC after 1948 . (Until then it

10795-562: The formerly independent sections under the direction of Les Vadasz, further diluting the microprocessor's place in the company. That year, the 1973–1975 recession reached a peak and Intel laid off a number of employees. All of this led to Faggin becoming restless, and he invited Ungermann out for drinks and asked if he would be interested in starting their own company. Ungermann immediately agreed, and as he had less to do at Intel, left in August or September, followed by Faggin, whose last day at Intel

10922-469: The full 16-bit address space to be used for RAM. The Memotech series featured an aluminium case and full-size 79-key keyboard with mechanical full-travel keys. This was a distinctive feature as many competing home computers of the time used a cost-reduced chiclet , membrane or rubber keyboard that was difficult to type on. An MTX variant of the BASIC language interpreter was supplied on ROM as standard, which

11049-466: The image. The HRX adapter was supplied as a separate chassis containing the video interface ADC / DAC circuitry, additional RAM and a controller. An HRX system was priced at £4,500 (in 1984) and would form the basis of Memotech's later video wall business. Zilog Z80 The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early computing. Launched in 1976 and software-compatible with

11176-442: The integrated circuit, although fuse re-growth was once a problem in some systems. The contents of ROM chips can be extracted with special hardware devices and relevant controlling software. This practice is common for, as a main example, reading the contents of older video game console cartridges . Another example is making backups of firmware/OS ROMs from older computers or other devices - for archival purposes, as in many cases,

11303-422: The intent of accelerating software performance versus running software from mechanical disks. In contrast to modern SSDs , these disks were volatile , meaning the data was lost when power is removed. An optional colour 80 column x 24 row video card could also be added to the FDX unit, a display mode which was often perceived as important for running popular business software such as WordStar and SuperCalc , but

11430-631: The introductory 2.5  MHz , via the well known 4 MHz (Z80A), up to 6 MHz (Z80B) and 8 MHz (Z80H). The NMOS version has been produced as a 10 MHz part since the late 1980s. CMOS versions were developed with specified upper frequency limits ranging from 4 MHz up to 20 MHz for the version sold today. The CMOS versions allowed low-power standby with internal state retained, having no lower frequency limit. The fully compatible derivatives HD64180 / Z180 and eZ80 are currently specified for up to 33 MHz and 50 MHz, respectively. The programming model and register set of

11557-499: The invention of the integrated circuit came mask ROM . Mask ROM consists of a grid of word lines (the address input) and bit lines (the data output), selectively joined with transistor switches, and can represent an arbitrary look-up table with a regular physical layout and predictable propagation delay . Mask ROM is programmed with photomasks in photolithography during semiconductor manufacturing . The mask defines physical features or structures that will be removed, or added in

11684-429: The machine to be a viable business proposition. At this time, the soon to be dominant MS-DOS was only at the beginning of its ascent and CP/M was a widely popular platform for software releases. The FDX ( F loppy D isk Expansion) was a data storage peripheral with space for expansion cards. The device could be used with any of the machines in the range but at least 64 KB of RAM was needed, necessitating an upgrade for

11811-475: The memory cell transistors. Early generation EEPROM's, in the mid-1980s generally cited 5 or 6 year data retention. A review of EEPROM's offered in the year 2020 shows manufacturers citing 100 year data retention. Adverse environments will reduce the retention time (leakage is accelerated by high temperatures or radiation ). Masked ROM and fuse/antifuse PROM do not suffer from this effect, as their data retention depends on physical rather than electrical permanence of

11938-548: The memory chip (hence the name). Mask ROM can be made in several ways, all of which aim to change the electrical response of a transistor when it is addressed on a grid, such as: Mask ROM transistors can be arranged in either NOR or NAND configurations and can achieve one of the smallest cell sizes possible as each bit is represented by only one transistor. NAND offers higher storage density than NOR. OR configurations are also possible, but compared to NOR it only connects transistors to V cc instead of V ss . Mask ROMs used to be

12065-417: The most inexpensive, and are the simplest semiconductor memory devices, with only one metal layer and one polysilicon layer, making it the type of semiconductor memory with the highest manufacturing yield (the highest number of working devices per manufacturing run). ROM can be made using one of several semiconductor device fabrication technologies such as CMOS , nMOS , pMOS , and bipolar transistors . It

12192-405: The movement of jumper plugs to apply write-enable signals, and special lock/unlock command codes. Modern NAND Flash can be used to achieve the highest write speeds of any rewritable ROM technology, with speeds as high as 10 GB / s in an SSD. This has been enabled by the increased investment in both consumer and enterprise solid-state drives and flash memory products for higher end mobile devices. On

12319-858: The need for a firmware upgrade arise. However, simple and mature sub-systems (such as the keyboard or some communication controllers in the integrated circuits on the main board, for example) may employ mask ROM or OTP (one-time programmable). ROM and successor technologies such as flash are prevalent in embedded systems . These are in everything from industrial robots to home appliances and consumer electronics ( MP3 players , set-top boxes , etc.) all of which are designed for specific functions, but are based on general-purpose microprocessors . With software usually tightly coupled to hardware, program changes are rarely needed in such devices (which typically lack hard disks for reasons of cost, size, or power consumption). As of 2008, most products use Flash rather than mask ROM, and many provide some means for connecting to

12446-426: The original Z80 (being 1 clock slower than in the 8080/8085); nonetheless, they are about twice as fast as performing the same calculations using 8-bit operations, and equally important, they reduce register usage. It was not uncommon for programmers to "poke" different offset displacement bytes (which were typically calculated dynamically) into indexed instructions; this is an example of self-modifying code , which

12573-407: The original Z80, though registers A and HL can be multiplied by powers of two with ADD A,A and ADD HL,HL instructions (similarly IX and IY also). Shift instructions can also multiply or divide by powers of two. Different sizes and variants of additions, shifts, and rotates have somewhat differing effects on flags because most of the flag-changing properties of the 8080 were copied. However,

12700-459: The original chips are PROMs and thus at risk of exceeding their usable data lifetime. The resultant memory dump files are known as ROM images or abbreviated ROMs , and can be used to produce duplicate ROMs - for example to produce new cartridges or as digital files for playing in console emulators . The term ROM image originated when most console games were distributed on cartridges containing ROM chips, but achieved such widespread usage that it

12827-483: The other; a feature useful for speeding up responses to single-level, high-priority interrupts. A similar feature was present in the 2200, but was never implemented at Intel. The dual register-set is very useful in the embedded role, as it improves interrupt handling performance, but found widespread use in the personal computer role as an additional set of general registers for complex code like floating-point arithmetic or home computer games. The duplicate register file

12954-418: The parity flag bit P of the 8080 (bit 2) is called P/V (parity/overflow) in the Z80 as it serves the additional purpose of a twos complement overflow indicator, a feature lacking in the 8080. Arithmetic instructions on the Z80 set it to indicate overflow rather than parity, while bitwise instructions still use it as a parity flag. (This introduces a subtle incompatibility of the Z80 with code written for

13081-443: The relative speed of RAM vs. ROM has varied over time, as of 2007 large RAM chips can be read faster than most ROMs. For this reason (and to allow uniform access), ROM content is sometimes copied to RAM or shadowed before its first use, and subsequently read from RAM. For those types of ROM that can be electrically modified, writing speed has traditionally been much slower than reading speed, and it may need unusually high voltage,

13208-535: The same memory using HL and INC to point to the next). Thus, for simple or linear accesses of data, use of IX and IY tend to be slower and occupy more memory. Still, they may be useful in cases where the "main" registers are all occupied, by removing the need to save/restore registers. Their officially undocumented 8-bit halves (see below) can be especially useful in this context, for they incur less slowdown than their 16-bit parents. Similarly, instructions for 16-bit additions are not particularly fast (11 clocks) in

13335-517: The same time, the new assembly language was also extended to accommodate the additional addressing modes in the more advanced Intel 8080 chip (the 8008 and 8080 shared a language subset without being binary compatible ; however, the 8008 was binary compatible with the Datapoint 2200). In this process, the mnemonic L , for LOAD , was replaced by various abbreviations of the words LOAD , STORE and MOVE , intermixed with other symbolic letters. The mnemonic letter M , for memory (referenced by HL),

13462-418: The screen could be defined that operated independently and the user could switch between them for different tasks. The output of a program could be directed to one user defined window and then the output of a different program to another window. The Memotech did not use a mouse, window size and position on the screen was controlled using commands. While the concept had been previously invented, windowing support

13589-583: The smaller System/360 models, the 360/85 , and the initial two System/370 models ( 370/155 and 370/165 ). On some models there was also a writeable control store (WCS) for additional diagnostics and emulation support. The Apollo Guidance Computer used core rope memory , programmed by threading wires through magnetic cores. The simplest type of solid-state ROM is as old as the semiconductor technology itself. Combinational logic gates can be joined manually to map n -bit address input onto arbitrary values of m -bit data output (a look-up table ). With

13716-438: The tape into a production mask required two more months. Faggin had already started looking for a production partner. By this time, Synertek and Mostek had both set up the depletion-mode production lines that could be used to produce the design. Having talked to Synertek previously, Faggin approached them first. However, the president of Synertek demanded that the company be given a second source license, allowing them to sell

13843-455: The typed response, the Noddy program then advances to another card. From this software such as simple databases, an expert system or text adventure games could be constructed. Noddy cards could also be integrated with BASIC. The name of the software is a reference to British slang, meaning simple or trivial. The Memotech supported "virtual screens" which were a form of primitive window . Areas of

13970-409: The value should be used as a memory address (as mentioned below), while the 8086 syntax uses brackets instead of ordinary parentheses for this purpose. Both Z80 and 8086 use the + sign to indicate that a constant is added to a base register to form an address. Note that the 8086 is not a complete superset of the Z80. BX is the only 8086 register pair that can be used as a pointer. Because Intel claimed

14097-478: The work on the Intel 4004 , the Intel 8080 and several other ICs. Masatoshi Shima was the principal logic and transistor-level designer of the 4004 and the 8080 under Faggin's supervision, while Ralph Ungermann was in charge of custom integrated circuit design. In early 1974, Intel viewed their microprocessors not so much as products to be sold on their own but as a way to sell more of their main products, static RAM and ROM . A reorganization placed many of

14224-407: Was Halloween 1974. When Shima heard, he asked to come to the new company as well, but having no actual product design or money, they told him to wait. The newly formed and unnamed company initially began designing a single-chip microcontroller called the 2001. They met with Synertek to discuss fabrication on their lines, and when Faggin began to understand the costs involved it became clear that

14351-490: Was a rarer feature, but was seen in the BASIC of some other contemporary machines such as the BBC Micro and Camputers Lynx . A machine code monitor was included called Front Panel that could be used for debugging programs. Monitors were popular in the 1970s as a method of interacting with computers but were a less common standard feature when the Memotech was released. A novel proprietary programming language called MTX Noddy

14478-440: Was a similar machine but with more memory. The machines achieved only modest sales, not assisted by the unfortunate timing of being released shortly before a period of reducing interest in UK home micro purchases through 1984, when a number of other British micro manufacturers entered financial difficulties. The MTX was selling into a highly competitive space, with the much cheaper Sinclair ZX Spectrum finding favour with home users,

14605-530: Was a user expectation in the mid 80s for a home computer. The BASIC had extended graphics commands and also integrated support for turtle graphics in the style of the Logo language used in education. A Z80 assembler /disassembler was also included. The source and object versions of machine code programs occupied the same space in RAM allowing for storage within less memory. Machine code could also be mixed arbitrarily with BASIC to enhance software performance. This

14732-423: Was also available that had a 3.5" drive integrated. These units did not require the communications board and plugged into the left side edge connector. A Memotech monitor was made available around the time of the FDX launch together with a branded cassette deck and a Memotech printer with the part number DMX80, which was a rebadged Panasonic model. A high resolution graphics adapter was available in 1984 called

14859-455: Was an uncommon feature for a personal computer in 1983. The Macintosh and subsequent Microsoft Windows that popularised the windowing user interface style would not be released until later years. The MTX could run the CP/M operating system and a license for CP/M 2.2 was included with the purchase of the optional FDX and HDX disk peripherals. Use of CP/M enabled compatibility with a large library of existing software applications and enabled

14986-474: Was available for use with the internal slot, which added two 19,200 baud RS-232 interfaces and an interface for the FDX disk peripheral. Networking was supported over RS-232 via the communications board and up to 255 MTX machines could be connected with the MTX "Node/Ring" system. All models had 24KB of ROM accessible in the first 16KB of address space . The extra 8KB of ROM was available through bank switching. The ROM could be switched out entirely, allowing

15113-479: Was available in ROM that was a card based information retrieval system somewhat similar in concept to HyperCard . A set of cards can be filled with arbitrary information using an integrated text editor (the user can type anywhere on the screen) and then saved for later retrieval by name. A simplified Noddy programming language aimed at novices allows the cards to be linked together with logic steps based on if/else statements. The user can be asked questions and based on

15240-567: Was cheap compared to RAM. Notably, the display adapters of early personal computers stored tables of bitmapped font characters in ROM. This usually meant that the text display font could not be changed interactively. This was the case for both the CGA and MDA adapters available with the IBM PC XT. The use of ROM to store such small amounts of data has disappeared almost completely in modern general-purpose computers. However, NAND Flash has taken over

15367-454: Was due to the duplicated registers that allowed fast context switches or more efficient processing of things like floating-point math compared to 8-bit CPUs with fewer registers. (The Z80 can keep several such numbers internally, using HL'HL, DE'DE and BC'BC as 32-bits registers, avoiding having to access them from slower RAM during computation.) For the original NMOS design, the specified upper clock-frequency limit increased successively from

15494-456: Was given the go-ahead to start sales of their own versions, the MK3880, which provided a second-source for customers which Intel lacked. At the time, a second-source was considered extremely important as a start-up like Zilog might go out of business and leave potential customers stranded. Faggin designed the instruction set to be binary compatible with the 8080 so that most 8080 code, notably

15621-546: Was lifted out from within the instruction mnemonic to become a syntactically freestanding operand , while registers and combinations of registers became very inconsistently denoted; either by abbreviated operands (MVI D, LXI H and so on), within the instruction mnemonic itself (LDA, LHLD and so on), or both at the same time (LDAX B, STAX D and so on). Illustration of four syntaxes, using samples of equivalent, or (for 8086) very similar, load and store instructions. The Z80 syntax uses parentheses around an expression to indicate that

15748-408: Was not a stored-program computer as every program had to be manually wired into the machine, which could take days to weeks.) Read-only memory was simpler to implement since it needed only a mechanism to read stored values, and not to change them in-place, and thus could be implemented with very crude electromechanical devices (see historical examples below). With the advent of integrated circuits in

15875-425: Was not natively supported by the MTX system. A novel feature was multiple monitor support, which was rare for a 1980s personal computer. The MTX internal video could be output simultaneously with the FDX video output. This enabled e.g. a program listing to be displayed on one monitor with the output of the program on another. The card also offered teletext character compatibility, a 160 x 96 graphics mode and supported

16002-531: Was regular practice on nearly all early 8-bit processors with non- pipelined execution units. The index registers have a parallel instruction to JP (HL) , which is JP (XY) . This is often seen in stack-oriented languages like Forth , which at the end of every Forth word (atomic subroutines comprising the language) must jump unconditionally back to their thread interpreter routines. Typically this jump instruction appears many hundreds of times in an application, and using JP (XY) rather than JP THREAD saves

16129-463: Was subsequently relaunched and the final version of the machine was the MTX512 Series 2 released in 1986, produced mainly as a way of using up stocks of parts before the business moved on to other ventures. The MTX512 (together with the FDX floppy drive peripheral) is remembered for an appearance in the 1985 comedy movie Weird Science where it had a central role in the plot, being used to conjure

#683316