Initially MS-DOS and CP/M-86 also ran on computers not necessarily hardware-compatible with the IBM PC such as the Apricot and Sirius, the intention being that software would be independent of hardware by making standardised operating system calls to a version of the operating system custom tailored to the particular hardware. However, writers of software which required fast performance accessed the IBM PC hardware directly instead of going through the operating system, resulting in PC-specific software which performed better than other MS-DOS and CP/M-86 versions; for example, games would display fast by writing to video memory directly instead of suffering the delay of making a call to the operating system, which would then write to a hardware-dependent memory location. Non-PC-compatible computers were soon replaced by models with hardware which behaved identically to the PC's. A consequence of the universal adoption of detailed PC architecture was that no more than 640 kilobytes of memory were supported; early machines running MS-DOS and CP/M-86 did not suffer from this restriction, and some could make use of nearly one megabyte of RAM.