Win Ape 32 - Bug List and Features not yet implemented


Version 1.5b	22-Mar-1999

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

- "limit" command does not work exactly as MAXAM. MAXAM appears to
  use a different limit when writing code to a file.

- "Find/Replace" not yet implemented

- Possibility of including coloured text to higlight comments,
  reserved words etc.

- Possibly replace "write direct" to be the default, define extra
  parameters for write direct to allow secondary ROM selection for
  plus machines and extended ROM select register usage (ie ROM >= 128).



Debugger
========

- Visibility of windows under DirectX full screen mode needs to be
  addressed. Improved in version 22-Mar-1999

- Initial position of Windows to be validated on first view (after mode
  change) so window does not appear outside the bounds of the display.

- Need to display extra information for Plus machines, this could include
  secondary ROM mapping, ASIC unlock, interrupt pending state. Some
  of this may be better on the Registers window.
  22-Mar-1999 - Done. Need secondary ROM mapping register and Interrupt Control/
                Status (on debugger window).



Stack Dump
==========

- Need to verify that the current SP is being followed properly.



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

- "Find" dialog to be implemented.

- Edit mode to be included.

- Maybe include a "Load Data" and "Save Data" function.



Registers
=========

- Inclusion of ASIC information, ie. Hardware Sprite Position/Size,
  extended colour information, split screen info DMA state etc. This
  could be done with a separate window probably.
  22-Mar-1999 - Done. Used and "ASIC" button to extend the form up/down.
                Displays palette, sprite info, Programmable Raster Interrupt
                scan line (PRI), Split Screen Scan line (SSS), Split Screen
                scan address (SSSA), Soft Scroll control (SSC), Interrupt
                vector (IVR), DMA Control/Status register (DCSR) and
		DMA status for each channel (enabled, position, pause pre-
                scaler). Hints provide RGB values for palette, and current
                pause counter, loop counter and loop address for DMA.
  1-Apr-1999  - Also included ASIC unlock state, ASIC RAM state and
                Secondary ROM mapping information.


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

- As for memory dump, needs find dialog and extended ROM selection



Emulation
=========

CRTC
----

- Complete rewrite of Z80 emulation to allow correct timing and multiple
  palette changes etc per scan line. This will allow very accurate CRTC
  emulation to be performed. Probably Version 2+.

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

- DirectSound implementation of AY-3-8912 emulation routines.
  22-Mar-1999. All done except hardware envelope routines.

  1-Apr-1999. Complete rewrite using code derived from MAME YM-2149
              emulation routines. Envelopes now implemented. Minimal
              aliasing effects on higher frequencies.


Keyboard
--------

- Keyboard mapping currently maps both function keys and joystick to
  PC numeric keypad. Need to remap and use NumLock key to swap etc.
  29-Mar-1999. Done. Added keyboard definition & load/save options to
               the Setup form. Created a button for the setup form.


uPD765A
-------

- Device IO under Win 95/NT doesn't work at all (Microsoft's fault)

- .ARC file support bug causes screen corruption & reset

- ZIP file support. Implemented with one of two methods:
  1.  Replace standard Win 95 file selection with one that allows drill
      down through ZIP file directory entries.
  2.  Add an extra dialog if a ZIP file is selected.

- Possibly split the DISK selection dialog into a number of separate
  dialogs (eg. One for Drive A, one for Drive B)

- Given the above two problems it may be a good idea to write my own
  file selection dialog box and include the ability to select floppy
  drives and formats.


ASIC
----

- Need to implement soft-scroll emulation


Other
-----

- Timing problem if emulation of frame > 20ms, frames cut from emulation
  cause emulation to run > 50FPS, need to test for debug/pause, and use
  a cumulative timing algorithm to average the frame rate.
  22-Mar-1999. Initial improvements for non-DirectSound emulation work well.
               Initial implementation of DirectSound buffer timing still
               require some debugging. Sometimes runs > 100% (probably due
               to buffer looping causing position to be compared incorrectly).
  1-Apr-1999.  Found and fixed buffer timing problem. Added a sound timing
               adjustment facility to INI file. "Sound Frame Delay"


Software problems
-----------------

Prehistorik II
 - Vertical screen flicker
     Can't fix without NOP timing

3D Stunt Rider
 - Colours at side of track wrong

Zap't'balls Advanced
 - Moving menu display incorrectly
 - Code entry dodgy

Footballer of the Year (Cracked by me)
 - Keyboard problem. Seems to occur on MTMW also. Does it work on a
   real CPC? (I don't have one)

Garfield - Big Fat Hairy Deal
 - Text at bottom of screen chopped in half

Into the Eagles Nest
 - Movement bug. Character appears to jump from one place to another

Knightmare
 - High pitched buzz in background of intro music

Last Ninja 2
 - Sounds with periods up to 5 cause high pitched buzz, continues into
   the game

Live and Let Die
 - Joystick right direction doesn't appear to work

Mission Elevator
 - Black screen when game started

Matchday II
 - Thinks a key is always pressed

Clever & Smart
 - Loading music dodgy?? Haven't tested since I did some more fixes

Manhattan '95
 - Answering (O)ui to Presentation question gives "Memory Full" error.
   Does this work on a real CPC?

Nodes of Yesod
 - Musice sounds weird at start

Nosferatu the Vampyre
 - Colours appear wrong at start, too much black?


