Skip to content

Cycle-accurate WDC 65C02S emulator as a single portable C header

License

Notifications You must be signed in to change notification settings

ziplantil/w65c02s.h

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==== w65c02s.h -- cycle-accurate WDC 65C02S emulator in portable C =============

This is a single header-only library (w65c02s.h in include/).

==== Features ==================================================================
* Portable C (C89, only freestanding headers in main library code)
* Supports all W65C02S instructions (6502, CMOS, Rockwell bit, WAI+STP)
* High accuracy, down to memory read/write level
* High performance, optimized well by compilers
* C++ compatible
* (If enabled by flag) Can stop mid-instruction when running cycle by cycle

==== Tests =====================================================================
* Passes both the 6502 functional test and 65c02 extended opcodes
  tests by Klaus Dormann

==== Errata ====================================================================
* Cycle/bus accuracy and interrupt timing may not yet be perfect.
* All accesses to the same CPU must be done by the same thread.
  Multithreaded access on the same CPU will result in undefined behavior.

==== Building ==================================================================
* Single-header library. Define W65C02S_IMPL and include in ONE file.
* Since this header can be configured by defines, you should probably ever
  include it in only that one file.
* See docs/defines.md for defines.
* test/ contains testing programs (like monitor, build with make monitor).

==== License ===================================================================
w65c02s.h by ziplantil

To the extent possible under law, the person who associated CC0 with
w65c02s.h has waived all copyright and related or neighboring rights
to w65c02s.h.

You should have received a copy of the CC0 legalcode along with this
work.  If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.

==== API =======================================================================
See docs/api.md.

About

Cycle-accurate WDC 65C02S emulator as a single portable C header

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published