2021-02-17 (updated 2021-02-24)
Models:
Olivetti L1 M20 ST (March 31, 1982)
Olivetti L1 S1000
Olivetti S6000
Olivetti L1 M30
Olivetti M40
Olivetti M50
Olivetti M60
Olivetti M70.

Olivetti based its first personal computers on a Zilog Z8000 architecture. It came with Microsoft BASIC with Assembler and PASCAL as options. It lasted a little over a year before Olivetti decided that the Z8000 architecture was not the most marketable option. But with over 50,000 sales, they did not abandon it entirely. They would actually release 8 models in this line. Every Olivetti computer from the 80s decade would be backwards compatible to run software from their Z8000 systems.

When it did not sell as well as they'd like, they ported CP/M (CP/M8000)to the series to expand the available software library. When it became clear that IBM-PC clones would dominate the market, they focused on making IBM compatible hardware. The M20 got an expansion card that allowed installing and running IBM PC-DOS and MS-DOS (and technically, CP/M-86 and UNIX as well). And they introduced their own IBM PC clones with backwards compatible cards so they could run Z8000 based software.

The M20 series does not actually have a hardware text mode. Text characters are created by manipulating pixels. This allows for multiple fonts of any size and text in any orientation and rotation. Kanji and Arabic are available. Software 80x25 or 64x16 were included.

Dual 5¼ floppy drives are the standard configuration. Initially 320K, 160K and 640K disks sizes were added later. Internal hard drives were also available.

The M20 had a Centronics compatible parallel port and an RS-232C serial port. The Contronics style port could provide power to peripherals and command an Olivetti printer to switch on or off.

The machine had only two internal expansion ports. But an IEEE-488 card allowed daisychaining up to 14 peripherals and two additional RS-232C ports. But the most attractive use of one of the ports would an Olivetti 100 meter wireless 1 Mbit/s LAN card, yah. An Omninet card was also available.

The initial design had 128K RAM with the possibility of expanding to 1MB. Later this was increased to 8MB. If a memory expansion uses Z8010 MMUs this could be 16MB. I don't know if such an expansion was ever produced.

Olivetti's monitor for the M20 was designed for horizontal and vertical orientation.

The 72-key keyboard has no function keys, TAB, DELETE, or BACKSPACE . It has S1, S2, Orange, and Blue keys instead. S1 and S2 are freely redefinable to any ASCII character. Orange and Blue are using in combination with 24 'redefinable' keys. Orange functions as a 'Command' key to, by default, quickly type the BASIC commands printed on the front of the 24 redefinable keys. Blue functions as a 'Control' key. By default, Blue+H is backspace and Blue+I is TAB. Just above the keys were orange and blue slots where users could insert a legend provided by a software publisher or insert their their own to key track of each key's current orange and blue functions.

The Z8000 uses eight 8-bit registers that can be configured to be 8-bit, 16-bit, 32-bit, and 64-bit registers by combining 2, 4, 8 or halving registers. Doing this in assembly code is easy. R0 to R15 are 16-bit registers. Use "R0" in an operation and it's 16-bit. RR# are 32-bit registers. Use "RR10" in an operation and two registers (R10 and R11) are instantly a single 32-bit register. No need for separate operations to change addressing modes, define, initialize, and/or populate the 'new' register and no need to waste clock cycles on all that. Quick and easy for the user and the CPU. RQ# for 64-bit registers. RL# to use the lower half of a register. RH# for the upper half. This extreme computational feature was one of the reasons Olivetti chose the Z8000.

Despite Olivetti's offering a native Z8000 CP/M option and (apparently) never advertising CP/M-86 compatibility, the M20 series was perceived by the press as having only a CP/M-86 option via Olivetti's x86 expansion cards.

Xenix was ported to the Z8000 architecture and presumably was used on Olivetti's Z8000 systems. But I have yet to confirm this.

The Olivetti M24 series are x86 IBM-PC clones (with Z8000 compatibility options). Games for the M24 series should not be entered in the M20 platform.

OLIVETTI M10 it a Tandy TRS-80 Model 100 clone. Games for the M10 should not be entered in the M20 platform.

It was possible to get tech M20 support from Olivetti as late as 2006.