To avoid big wastes of time, engineers developed EEPROMs, or Electrically Erasable PROM. The limit of this memories is that they need an UV (Ultra-violet) eraser, a device with an UV lamp where to put the chip for 30/40 minutes to reset the memory cells of the chip so that it can be programmed another time. So EPROMs (Erasable PROM) were invented: a particular kind of PROM that could be programmed several times. We could not use a PROM, too: too expensive for an hobbist. We could not use a ROM because we don’t have a silicon plant to do this job. This memory could be programmed in a laboratory, this cheaper instruments but, like the ROM, once it was programmed it could be never rewritten. Another kind of non-rewritable memory was PROM, that stands for Programmable ROM. The ROM could be programmed only once, by the manufacturer of the computer and only by a silicon plant because the information was stored at a logic level. Or, perhaps, writing was impossible after the initial programming. This memory was usually a ROM, a Read-Only Memory: a memory that could only be read, writing on it was impossible.
But a lot of time ago computers didn’t have a hard disk, but they had a NON-volatile memory where the manufacturer had stored the built-in software that was loaded at the start-up.
This is not a big problem because every time we power up the computer it will load again the operating system, usually from a hard disk. This means that once you turn off your computer it immediately loses whatever data that was stored in it. The RAM is a particular kind of memory that is volatile. Usually a modern computer is made of RAM, a lot of RAM. We surely need a place where to store this software, we need some memory.
But here we have just a simple CPU on a breadboard, at the moment! Without any kind of program nor any system to store the software in. It’s an easy task, with a modern computer: you power up your machine, wait for the OS to be loaded, then insert some kind of mass media device and run your software. When you load up any software in your computer you are giving the CPU a list of “instructions” to be executed to obtain some kind of result. What is a computer built for? It’s basically a machine designed to execute commands, the software programs. Having a functional computer isn’t so difficult. Once I chose the CPU and checked that it was OK, I started thinking about my next step.