A CPU and device simulation framework focused on extensibility and flexibility of hardware layouts.
Mainspring is intendended to be included as a library and an examples directory has been included to show basic usage.
The framework comes with both traits and types to assist users with implementations of additional CPUs/Architectures as well as reference implementations. The framework tries to keep the Traits as generic as possible to prevent as few reference implementations from being imposed on the user as possible.
The MOS 6502 is the first cpu simulated in this example and is used heavily as the basis for most of the traits and examples. Basic usages and hardware layouts can be found in the examples directory.
This is a built to support the other projects I've implemented in the First Principles of Computing project and may be subject to API change.