The development of electronic data-processing systems by the mid-1950s began to hint at obsolescence for mechanical calculators, and the developments of miniature solid-state electronic devices ushered in new calculators for pocket or desk top that, by the late 20th century, could perform simple mathematical functions (e.g., normal and inverse trigonometric functions) in addition to basic arithmetical operations; could store data and instructions in memory registers, providing programming capabilities similar to those of small computers; and could operate many times faster than their mechanical predecessors. Various sophisticated calculators of this type were designed to employ interchangeable preprogrammed software modules capable of 5,000 or more program steps. Some desktop and pocket models were equipped to print their output on a roll of paper; others even had plotting and alphabetic character printing capabilities.