The software emulation of the MOS 6502 microprocessor
Aaltonen, Jussi-Pekka (2023)
Aaltonen, Jussi-Pekka
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202304054800
https://urn.fi/URN:NBN:fi:amk-202304054800
Tiivistelmä
While processor technology has advanced greatly during the past 40 decades, the basic working principle of processors has not changed drastically during this time. However, the more efficient processors have made it possible to build computers and other devices that that principle has become more and more obscure for the end user or even a programmer.
The aim of this thesis was to create a learning material for people new or unaccustomed to processor technology and how processors work in general by examining and explaining the functionality of a simple 8-bit processor from the end of the 1970s. The thesis is divided in two parts – the theory part, which consists of a written learning material and the practical part consisting of an application that allows one to examine how and when the contents of registers in the processor and the memory connected to it change when the processor is given machine language instruction.
The written part is based on information from various literary and online sources, and application was written in C++ using a variety of source material describing the functionality of the processor. Once finished, the application was tested with a well known and widely used test suite created for the processor. As a result the reader can use the knowledge gained from the written part to create custom programs to run on the emulator.
The aim of this thesis was to create a learning material for people new or unaccustomed to processor technology and how processors work in general by examining and explaining the functionality of a simple 8-bit processor from the end of the 1970s. The thesis is divided in two parts – the theory part, which consists of a written learning material and the practical part consisting of an application that allows one to examine how and when the contents of registers in the processor and the memory connected to it change when the processor is given machine language instruction.
The written part is based on information from various literary and online sources, and application was written in C++ using a variety of source material describing the functionality of the processor. Once finished, the application was tested with a well known and widely used test suite created for the processor. As a result the reader can use the knowledge gained from the written part to create custom programs to run on the emulator.