mirror of
https://github.com/mnaberez/py65.git
synced 2025-01-06 13:31:08 +00:00
Note 65Org16 simulation module
This commit is contained in:
parent
a991a7862c
commit
96bbe8b7e8
31
CHANGES.txt
31
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!
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user