WinAPE32 - What's New


Version 2.0a  4-Nov-2001

PLEASE NOTE: This release is an ALPHA release. Minimal testing and
             optimisation has been performed. Some features may not work
             as expected. There is a list of known issues at the end of
             this file.


Z80 Assembler
=============

- Find/Replace implemented.

- Colour text highlighting.

- Ability to double-click errors to go to the error line.

- Improved the Symbols window to display the file and line number,
  and to allow entries to be double-clicked to go to their source
  position in the editor.

- Fixed a bug limiting symbols to 16 characters. No limit now.

- Added support for % binary numbers in source (e.g. db %10101010,%0111)

- Fixed a bug allowing the defs instruction to use an undefined symbol.

- Improved import (read) support to allow editing of files included in
  other open files without a save required.


Debugger
========

- Removed BreakPoint from main debugger window. Disassembler now
  supports multiple breakpoints by right-clicking a line, or
  clicking in the grey area to the left of the line.


Memory Dump
===========
  
- Added selection for Secondary ROM mapping and extended ROM mapping.

- Added "Find", "Load", and "Save" functions.

- Included the ability to edit the data. Toggle between hex and ASCII
  with CTRL-TAB


Registers
=========

- Inclusion of ASIC information, ie. Hardware Sprite Position/Size,
  extended colour information, split screen info DMA state etc.

- Improved the "Row Highlight" option to also display the current
  render horizontal position. Could be useful for debugging CPC demos.


Disassembler
============

- Added selection for Secondary ROM mapping and extended ROM mapping.

- Added "Find" function, and "Follow Program Counter".

- Included the ability to set multiple breakpoints. Either right-click
  a line, or click in the grey area to the left of the line.


Snapshots
=========

- Broken in this version.


Emulation
=========

CRTC
----

- Complete rewrite of Z80 emulation to allow correct timing and multiple
  palette changes etc per scan line.

- Full support for CRTC, except interlace mode. Register 3 and 8 effects
  now possible.

- Added the ability to select the CRTC type.


Monitor
-------

- Accurate emulation of monitor Horizontal Synchronisation. Needs to be
  refined, but works.

- Improvements to monitor Vertical Synchronisation.


AY-3-8912
---------

- Logarithmic volume output implemented.


Keyboard
--------

- Extended support to 3 PC keys per CPC key rather than 2. This allows
  The joystick diagonal directions to be mapped to 7,9,1 and 3 on the
  PC numeric keypad.


uPD765A
-------

- Added support for ROMDOS D1 floppies under Windows 2000/NT.

- Added a "Treat Drive A: as single-sided" option. This was to allow the
  Divine demo to run, since it references other side numbers when reading
  the disc.

ASIC
----

- Soft-Scroll implementation done. Supports both horizontal and vertical.

- Sprite rendering engine rewritten to allow extremely accurate rendering.

- Added the ability to turn off CPC Plus hardware emulation.


Other
-----

- Centered the display in Full Screen mode.

- Added a "Half Size Display" option.

- Added a "Render Both Lines" option, allowing only alternate lines to be
  rendered when turned off.

- Added a "DirectX Stretch" option. This may improve support on machines
  with decent hardware stretching capabilities. It just slows it down to
  a crawl on my laptop.

- Added a VSYNC control to adjust the monitor Vertical Hold (some demos
  will scroll the display with the standard (0) setting, must have been
  created on a machine with the VHOLD slightly off).

- Added the ability to hide the mouse pointer while the mouse is over the
  main window.

- Added an option to select the colour depth used for full-screen mode.

- Changed the ROM selection page to use Combo boxes rather than having
  to double-click the entry.

- Added a "Disable all ROMs" and "Disable all but Lower, ROM 0 and ROM 7"
  option.


Known Issues
============

- Changes to ASIC registers occur approximately 6 pixels too early. On the
  real CPC Plus, changes to the palette, soft-scroll, sprite data and
  sprite position information occur approximately 6 pixels after the
  register is written (approximately 0.375us). Exact emulation of this
  has not been done since no CPC software currently requires this degree of
  accuracy, and emulation would probably result in a significant 
  degredation of performance.

- The Sound emulation is not re-initialised properly after it has been
  stopped. This may cause interference, hissing or other effects after the
  Settings dialog has been displayed while sound is playing.

- The ASIC does not allow a number of registers to be read. This does not
  affect any current CPC software, and needs to be analysed fully before
  being emulated.

- On occassion, a disk image can become corrupt. This seems to happen very
  very infrequently, and cannot be reproduced. A thorough analysis of the
  765 code will be done before the first Beta release of v2.0.

- There are some minor problems with the keyboard emulation. Very few games
  (all known are mentioned in the buglist.txt file) seem to have weird
  problems.



Any queries or other issues regarding WinAPE, please contact me:

Richard Wilson
--------------
Email: bitwise@iname.com