Next Release - 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. 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.