Skip to content
marshmllPublic

About

A MOS 6502 CPU emulator written in C++

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation


Logo

MOS 6502 Emulator - Codename "E6502"

A MOS 6502 CPU emulator built with C++
Explore the docs »

View Demo • Report Bug

Table of Contents
  1. About The Project
  2. Configurating and running
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgments

About The Project

E6502

The E6502 emulator is a MOS 6502 CPU emulator that runs its instructions sets, emulates it's addressing modes, flags and every other functional aspect of the processor.

The 6502 is a very famous and versatile processor, used in many known applications in the 70-80's, as NES and Atari.

The processor works with a 16 bit memory bus width, supporting max 64 KiB memory size, though it's full capacity is rarely used. The E6502 Emulator also implements a ROM emulation with configurable memory size.

E6502 implements all 56 official instructions with all addressing modes, and soon will be able to handle illegal (non-official) instructions/opcodes.

Built With

This project was built with:

  • C++

Configurating and running

This project has shell scripts to help building the project. It is recommended to use a Debian-based distro to run this project, although it is possible to build and use in any other platform that supports at leas C++ 17.

This manual covers only Debian-based GNU/Linux distros.

Prerequisites

Install these dependencies in your machine.

  • Git
    sudo apt-get install git
  • CMake
    sudo apt-get install cmake
  • G++
    sudo apt-get install g++

Running the project

  1. Run ./debug.sh or the ./release.sh script, if you want either the Debug or the Release mode build.
  2. Wait for the project to build. It may take a while.
  3. When the code is built, the shell script will automatically run the executable.

Creating your own ROM

In the rom folder, there is a sample of 6502 Assembly code and its compiled binary. To create your own ROM, it is recommended to use the vasm assembler with old style mode configured.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Top contributors:

contrib.rocks image

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Renan Andrade - Instagram - renandasilvaoliveiraandrade@gmail.com

(back to top)

About

A MOS 6502 CPU emulator written in C++

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages