1
0
mirror of https://github.com/mnaberez/py65.git synced 2024-11-18 00:06:08 +00:00
py65/CHANGES.txt
2012-01-07 18:18:55 -08:00

167 lines
5.9 KiB
Plaintext

0.12-dev *Next Release*
0.11 (2012-01-07)
- Added a new 65Org16 MPU simulation written by Ed Spittles.
- The monitor now accepts command line arguments. See
``py65mon --help`` for usage. Contributed by Ed Spittles.
- The monitor's load command can now fetch URLs.
- Python versions earlier than 2.6 are no longer supported.
0.10 (2011-08-27)
- Fixed long-standing bugs in relative branch calculations in the
assembler and disassembler. Based on a patch by Ed Spittles.
0.9 (2011-03-27)
- 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.
- Decimal mode bugs have been fixed. Thanks to Ed Spittles who
ported Bruce Clark's tests to find failures and then rewrote
the decimal handling code.
0.8 (2010-03-08)
- Fixed deprecation warnings on Python 2.6
- We no longer bundle ez_setup to bootstrap setuptools installation.
- Restoring the processor status register from interrupt now correctly
set the BREAK and UNUSED flags to be high. Thanks to Ed Spittles
for reporting this.
- 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
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
start address when assembling in the monitor. Closes #10.
- 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.
- 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.
- Added a new interactive assembly mode to the monitor. Entering the
the assemble command with a statement such as "a c000 lda #0" works
as before. Entering "a c000" will start the interactive assembler
at that address. Entering "a" alone will start it at the current
program counter.
- Applied patch from Ed Spittles so that SBC now properly sets the
Overflow (V) flag. This fixes a failure in Rob Finch's test suite.
Closes #6.
- Applied patch from Ed Spittles so that SBC now properly sets the
Carry (C) and Zero (Z) flags. This fixes failures caught by Ed's
own tests (see http://forum.6502.org/viewtopic.php?p=8854#8854).
Closes #15.
- A new "save" command has been added to the monitor that will save
a range of memory to a binary file.
0.6 (2009-08-11)
- Added monitor shortcut "a" for "assemble".
- Fixed that ASL would not properly set the Z flag. Closes #7.
- 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.
Falvo II. http://bitbucket.org/kc5tja/lib65816/src/tip/src/cputable.h
Closes #3.
0.5 (2009-08-06)
- Fixed signatures of getc/putc callbacks in monitor that were broken
when the ObservableMemory interface changed in 0.3. Closes #1.
- Fixed that ROL would not properly set the Z flag. Closes #2.
0.4 (2009-06-06)
- Added ez_setup.py to bootstrap setuptools installation.
0.3 (2009-06-03)
- Added shortcuts for monitor commands such as "m" for "memory". These
are mostly the same as the VICE monitor shortcuts.
- The terminal width can now be changed in the monitor using the new
"width" command. Some commands, like "mem", will wrap to this width.
- Fixed a bug where BRK would increment PC by 3 instead of 2. Thanks
to Oscar Lindberg.
- 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.
- A new "devices" module has been added to organize device simulations.
- The mpu6502 and mpu65c02 devices have been reorganized internally to
use Python decorators to build their lookup tables based on an
idea by Oscar Lindberg.
- A new "utils" module has been added with various utility functions.
- The ObservableMemory interface has been changed for clarity.
- Python 2.4 or later is now required.
0.2 (2008-11-09)
- Added a new "disassemble" command to the monitor. It can disassemble
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").
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.
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
an undefined variable.
- EhBASIC 2.09 now runs in the simulator!
- Documented all remaining monitor commands. In the monitor, use the
command "help command" for help on any command.
0.1 (2008-11-21)
- First release.