diff --git a/CHANGES.txt b/CHANGES.txt index ce2e0f6..18eb2f8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,6 @@ 0.11-dev *Next release* + - Added a new 65Org16 MPU simulation written by Ed Spittles. 0.10 (2011-08-27) @@ -8,7 +9,7 @@ 0.9 (2011-03-27) - - Fixed two monitor tests that were broken under Windows. Thanks + - Fixed two monitor tests that were broken under Windows. Thanks to Oscar Lindberg for reporting this. - Removed use of defaultdict to fix compatibility with Python 2.4. @@ -30,29 +31,29 @@ - Applied patch by Ed Spittles that fixes the behavior of the BREAK and UNUSED flags in the processor status register. Closes #16. - - Added ">" as a monitor shortcut for the fill command for + - Added ">" as a monitor shortcut for the fill command for consistency with VICE. - + 0.7 (2009-09-03) - When using the monitor, the nonblocking character input at $F004 should now work on the Microsoft Windows platform. - - Fixed that relative branch calculations would not use the correct + - Fixed that relative branch calculations would not use the correct start address when assembling in the monitor. Closes #10. - - The processor status register ("p" or "flags") can now be changed + - The processor status register ("p" or "flags") can now be changed in the monitor using the "registers" command with an argument of "p", such as "registers p=00". - - MPU objects now return a two-line string as their __repr__ with - the processor status register displayed as binary for readability. + - MPU objects now return a two-line string as their __repr__ with + the processor status register displayed as binary for readability. - The processor status register is now initialized to 0 on reset. Previously, its unused bit (bit 5) was set to 1 on reset. - Applied patch from Ed Spittles to change the CMP algorithm so that - it no longer fails Rob Finch's test suite. Closes #8. + it no longer fails Rob Finch's test suite. Closes #8. - Added a new interactive assembly mode to the monitor. Entering the the assemble command with a statement such as "a c000 lda #0" works @@ -80,8 +81,8 @@ - Fixed that ADC would not properly set the Overflow (V) flag. The overflow calculation that is now used originated from XGS: Apple - IIGS Emulator (cputable.h). Originally written and Copyright - (C)1996 by Joshua M. Thompson. Copyright (C) 2006 by Samuel A. + IIGS Emulator (cputable.h). Originally written and Copyright + (C)1996 by Joshua M. Thompson. Copyright (C) 2006 by Samuel A. Falvo II. http://bitbucket.org/kc5tja/lib65816/src/tip/src/cputable.h Closes #3. @@ -109,7 +110,7 @@ - Added a new 65C02 MPU simulation started by Oscar Lindberg. It is now mostly complete. - + - Added a new "mpu" command to the monitor. It will switch between the NMOS 6502 and CMOS 65C02 simulations. @@ -131,19 +132,19 @@ any range of memory ("disassemble c000:c010"). If labels have been defined, the disassembly will show them in the operands. - - Added a new "assemble" command to the monitor. It can assemble a - single instruction at an address ("assemble c000 jsr $ffd2"). + - Added a new "assemble" command to the monitor. It can assemble a + single instruction at an address ("assemble c000 jsr $ffd2"). Labels in the operands are also supported ("assemble c000 jsr charout"). - Moved the character I/O area from $E000 to $F000 for compatibility with - the EhBASIC binary saved from Michal Kowalski's Windows-based simulator. + the EhBASIC binary saved from Michal Kowalski's Windows-based simulator. In a future version of Py65, the I/O area will be configurable. - When running a program in the monitor, a read to $F004 will now do a non-blocking read from STDIN. If no character is available, a null byte ($00) will be returned. - - Fixed a bug where a CMP instruction could crash the simulator due to + - Fixed a bug where a CMP instruction could crash the simulator due to an undefined variable. - EhBASIC 2.09 now runs in the simulator! diff --git a/README.markdown b/README.markdown index 445fe31..5da182c 100644 --- a/README.markdown +++ b/README.markdown @@ -7,23 +7,23 @@ microprocessors. It has the following goals: written in the Python programming language for productivity, while similar programs are written in C for performance. - - Enable simulations to be created for systems where it might have - otherwise not been practical, such as homebuilt computers. + - Enable simulations to be created for systems where it might have + otherwise not been practical, such as homebuilt computers. - Rigorously unit test all of the components. While the tools provided - by Py65 may not always be perfect, their behavior is verified through + by Py65 may not always be perfect, their behavior is verified through tests so unexpected results are minimized. - + ## Installation - -Py65 packages are [available](http://pypi.python.org/pypi/py65) on the -Python Package Index (PyPI). You download them from there or you can + +Py65 packages are [available](http://pypi.python.org/pypi/py65) on the +Python Package Index (PyPI). You download them from there or you can use `easy_install` to automatically install or upgrade Py65: $ easy_install -U py65 -Alternatively, you can [download](http://github.com/mnaberez/py65/downloads) -a package from GitHub in `.tar.gz` or `.zip` format. After extracting the +Alternatively, you can [download](http://github.com/mnaberez/py65/downloads) +a package from GitHub in `.tar.gz` or `.zip` format. After extracting the package, use the following command to install Py65: $ python setup.py install @@ -42,6 +42,12 @@ The following devices are simulated at this time: than others. This simulation is based on the W65C02S from the Western Design Center (WDC). + - `mpu65Org16` simulates the 65Org16, a 6502-like microprocessor with a 16-bit + data bus and 32-bit address bus. This microprocessor is a project of the + [6502.org community](http://forum.6502.org/viewtopic.php?t=1824) and a + [Verilog core](https://github.com/BigEd/verilog-6502/wiki) for it has been + implemented. + ## Monitor Py65 includes a console-based machine language monitor (sometimes also called @@ -53,7 +59,7 @@ simulations that you build. Its features include: - Ability to load, dump, and fill memory. - - Simple assemble and disassemble capability, including support for labels + - Simple assemble and disassemble capability, including support for labels and labels with offsets. ## Documentation @@ -65,11 +71,11 @@ published to [http://py65.readthedocs.org/](http://py65.readthedocs.org/) These people are responsible for Py65: - - [Mike Naberezny](http://github.com/mnaberez) is the original author of + - [Mike Naberezny](http://github.com/mnaberez) is the original author of Py65 and is the primary maintainer. - - - [Oscar Lindberg](http://github.com/offe) started the 65C02 simulation - module and contributed greatly to its implementation. - - [Ed Spittles](http://github.com/biged) helped with testing and provided - many useful issue reports and patches. + - [Oscar Lindberg](http://github.com/offe) started the 65C02 simulation + module and contributed greatly to its implementation. + + - [Ed Spittles](http://github.com/biged) wrote the 65Org16 simulation module + and provided many useful issue reports and patches.