2008-12-13 22:59:22 +00:00
|
|
|
|
|
|
|
====================================================================
|
|
|
|
SYMON - A 6502 System Simulator
|
|
|
|
====================================================================
|
|
|
|
|
2008-12-28 05:46:13 +00:00
|
|
|
NOTE: THIS IS PRE-RELEASE SOFTWARE UNDER ACTIVE DEVELOPMENT. IT IS
|
|
|
|
NOT YET FUNCTIONAL! IT IS NOT INTENDED TO BE USED BY ANYONE BUT
|
|
|
|
DEVELOPERS IMPLEMENTING CORE FUNCTIONALITY. When the software is
|
|
|
|
deemed ready for testing, it will be given a version number of "0.1".
|
|
|
|
|
|
|
|
====================================================================
|
|
|
|
|
|
|
|
Version: PRERELEASE
|
|
|
|
Last Updated: 27 December, 2008
|
2008-12-13 22:59:22 +00:00
|
|
|
Copyright (c) 2008,2009 Seth J. Morabito <sethm@loomcom.com>
|
|
|
|
|
|
|
|
See the file COPYING for license.
|
|
|
|
|
|
|
|
|
|
|
|
1.0 About
|
|
|
|
---------
|
|
|
|
|
|
|
|
Symon is a general purpose simulator for systems based on the NMOS
|
|
|
|
Mostek 6502 microprocessor and compatibles. Symon is implemented in
|
2008-12-28 05:46:13 +00:00
|
|
|
Java. It's core goals are accuracy, ease of development, clear
|
|
|
|
documentation, and extensive test suites for validating correctness.
|
2008-12-13 22:59:22 +00:00
|
|
|
|
2008-12-28 05:46:13 +00:00
|
|
|
The initial goal is to simulate a system with an NMOS 6502 or CMOS
|
|
|
|
65C02 central processor; one or more 6522 VIAs; and one or more 6551
|
|
|
|
ACIAs. More functionality may be considered as time goes on.
|
2008-12-13 22:59:22 +00:00
|
|
|
|
|
|
|
2.0 Usage
|
|
|
|
---------
|
|
|
|
|
|
|
|
2.1 Requirements
|
|
|
|
|
|
|
|
- Java 1.5 or higher
|
|
|
|
- Maven 2.0.x or higher (for building from source)
|
2008-12-28 05:46:13 +00:00
|
|
|
- JUnit 3.0 or higher (for testing)
|
2008-12-13 22:59:22 +00:00
|
|
|
|
2008-12-28 05:46:13 +00:00
|
|
|
(More to come!)
|
2008-12-13 22:59:22 +00:00
|
|
|
|
|
|
|
3.0 To Do
|
|
|
|
---------
|
|
|
|
|
2008-12-28 05:46:13 +00:00
|
|
|
- Finish core functionality.
|
|
|
|
- Implement remaining addressing modes.
|
|
|
|
|
2008-12-29 01:55:58 +00:00
|
|
|
COMPLETED ADDRESSING MODES:
|
2008-12-28 05:46:13 +00:00
|
|
|
o Implied
|
|
|
|
o Immediate
|
|
|
|
o Zero Page
|
|
|
|
o Accumulator
|
2008-12-29 07:14:32 +00:00
|
|
|
o Absolute
|
2008-12-29 01:55:58 +00:00
|
|
|
|
|
|
|
INCOMPLETE ADDRESSING MODES:
|
2008-12-28 05:46:13 +00:00
|
|
|
o Zero Page, X-indexed
|
|
|
|
o Zero Page, Y-indexed
|
|
|
|
o Relative
|
|
|
|
o Absolute, X-indexed
|
|
|
|
o Absolute, Y-indexed
|
|
|
|
o Indirect
|
|
|
|
o Indexed Indirect [ (Indirect ,X) ]
|
|
|
|
o Indirect Indexed [ (Indirect),Y ]
|
|
|
|
|
|
|
|
- Clean up JavaDoc.
|
|
|
|
- Implement CMOS 65C02 instructions and NMOS / CMOS mode flag.
|
|
|
|
|
|
|
|
|
|
|
|
4.0 Licensing
|
|
|
|
-------------
|
|
|
|
|
|
|
|
Symon is free software. It is distributed under the MIT License.
|
2008-12-29 07:14:32 +00:00
|
|
|
Please see the file 'COPYING' for full details of the license.
|