Abstract
Este proyecto busca realizar una emulación del ordenador Apple I de Apple, del año 1976. Este ordenador destacaba del resto, al ser el pionero en usar circuitos integrados sobre la placa madre y ser vendida únicamente ella, reduciendo los costes de su fabricación. Para lograr una emulación semejante al funcionamiento de la maquina original, se ha valorado su realización con distintas tecnologías, como Arduino, Raspberry o circuitos impresos, seleccionando finalmente su ejecución sobre una placa de desarrollo de FPGA, tecnología reprogramable y de fácil acceso. Con fin de conseguir este objetivo, se ha realizado un análisis de los componentes del Apple I, para replicar su trabajo usando un lenguaje de descripción de hardware (HDL) como es Verilog. Entre estos dispositivos se encuentra la Unidad Central de Procesamiento (CPU), la memoria del equipo (RAM y ROM) y los controladores de entrada y salida que disponía el sistema. En este trabajo, al enfocarse en varios aspectos del hardware del Apple I, se ha realizado una mejora de un proyecto ya existente, y disponible en GitHub. De esta manera, se ha incorporado varios dispositivos actuales, como puede ser un teclado USB o una salida de video de interfaz VGA. También, se ha buscado durante la realización de dichas mejoras, una implementación del casete original de la máquina original, en este caso, dentro de la memoria de la placa FPGA. Así, se indaga en el funcionamiento tanto de la máquina real como de la emulación realizada, comunicando sus aspectos más relevantes. Todo ello se ha desarrollado teniendo en mente, los aspectos medioambientales y sociales que supone este proyecto, entre los cuales destacan, un menor consumo de energía y la facilitación de esta tecnología y sistema al entorno actual, con la finalidad de mostrar los avances de la sociedad. Como punto final, se ha considerado de gran utilidad realizar varios anexos para entender con mayor precisión el funcionamiento de dicha máquina, y las peculiaridades del trabajo realizado, como pueden ser la instalación de un nuevo programa o una instalación sobre la placa FPGA seleccionada. Abstract: This project seeks to perform an emulation of Apple’s Apple I computer from 1976. This computer stood out from the rest, being the pioneer in using integrated circuits on the motherboard and being sold only it, reducing the costs of its manufacture. To achieve an emulation like the operation of the original machine, its realization has been valued with different technologies, such as Arduino, Raspberry or printed circuits, finally selecting its execution on a development board of FPGA, reprogrammable and easily accessible technology. In order to achieve this goal, an analysis of the components of the Apple I has been performed, to replicate its work using a Hardware Description Language (HDL) as is Verilog. These devices include the Central Processing Unit (CPU), the computer memory (RAM and ROM) and the input and output drivers that the system had. In this work, focusing on various aspects of Apple I hardware, has been done an upgrade of an existing project, and available in GitHub. In this way, several current devices have been incorporated, such as a USB keyboard or a VGA interface video output. Also, during the realization of these improvements, an implementation of the original cassette of the original machine, in this case, within the memory of the FPGA board, has been sought. Thus, the operation of both the actual machine and the emulation performed are investigated, communicating its most relevant aspects. All of this has been developed with the environmental and social aspects of this project in mind, among which are less energy consumption and the provision of this technology and system to the current environment, in order to show the progress of society. As a final point, it has been considered very useful to make several annexes in order to understand more accurately the operation of this machine, and the peculiarities of the work carried out, such as the installation of a new program or installation on the selected FPGA board.