This is the Delphi / Pascal port of the C++ implementation for the MOS Technology 6502 CPU by Gianluca Ghettini. The code is written to be more readable than fast, however some minor tricks have been introduced to greatly reduce the overall execution time.

Download current version at GitHub

100% coverage of legal opcodes

decimal mode implemented

read/write bus callback

jump table opcode selection

Main features:

The port was written with minor changes to the original file: the run(N) function was replaced by a single Step() function – if you need to run more than one cycle, just put that function inside a loop.

The 6502 functional test (version 16-aug-2013) by Klaus Dormann is included.

A very basic C64 emulator is included. You need to download the BASIC ROM basic.901226-01.bin and the Kernal ROM kernal.901227-03.bin and put both files inside the ROMs folder. Install the commodore CBM.ttf font found in the VICE package.

The C64 Emulator uses a symbolic keyboard translation thus any keyboard layout should work.

This C64 emulator is just a very basic 6502/6510 emulation example and is not feature complete. Please take a look at VICE – Versatile Commodore Emulator instead.

Copyright (c) 2017 Gianluca Ghettini (C++ implementation)

Copyright (c) 2017 Dennis D. Spreen <dennis@spreendigital.de> (Delphi implementation)

Code released under the MIT license.