Notes:
Disassemble to File. Auto Run Disc Images.
WinAPE - What´s New
Version 2.0 Alpha 8 21-May-2006
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.
Debugger
- Added the ability to select an area of memory in the disassembler (using SHIFT or dragging the mouse). This is used for the following item.
- Added a Disassemble menu option to both the disassembler pane and memory dump pane of the debugger, allowing disassembly of
Z80 code to either an assembler source tab, or a file.
Screenshots
- Fixed a bug introduced in 2.0 Alpha 7 where Screen shots in various formats had Red and Blue components swapped. This bug was introduced in 2.0 Alpha 7 as a result of upgrading image handling components.
Emulation
- Fixed a bug where a series of EI instructions allowed the
Z80 to interrupt at the wrong time. It appears a real
Z80 will not interrupt at any time during a sequence of EI, EI, EI until after the instruction after the last EI. Ie. EI, EI, HALT would crash the emulation if the interrupt routine did not re-enable interrupts and the interrupt occurred after the first EI.
Auto Run
- Added an option to the disc Open dialog for Drive A:, allowing the disc to be automatically run (using the Auto-Type feature introduced in 2.0 Alpha 7, in conjunction with some logic which reads the CP/M (AMSODS) directory structure).
The logic searches for the following files in order: disc, disc.bas, disc.bin, disk, disk.bas, disk.bin, menu, menu.bas, menu.bin, game, game.bas, game.bin. If none of these are found, it searches for DiscName, DiscName.bas, DiscName.bin. If none of these are found, it searches for *. Followed by *.bas, then *.bin, using the first match found. If no files are found and a valid CP/M boot sector exists, the |cpm command is executed.
Other
- Fixed a thread bug in an old DirectInput thread causing error messages on
WinAPE shutdown on some systems.
- Modified some DirectDraw surface locking routines to retry a number of times when a Restore is required. It is possible that some graphics card/processor combinations may destroy a surface a number of times when moving windows etc.
- Added the ability to specify a disc image name for Drive A: from the command line, and optionally a switch /A which allows the disc to Auto Run. For example to Auto Run Gryzor from the command line, you may use something like:
WinAPE Gryzor.dsk /A
Known Issues
- Changes to ASIC registers through the Gate Array occur approximately 6 pixels too early. On the real CPC Plus, changes to the palette using the GA (i.e. OUT instruction) occur 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 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.
- DirectDraw Surface.Lock errors were occurring on some machines in 2.0 Alpha 7. I have modified the code slightly, but this may not have fixed the issue, still waiting on information back from the users involved.
Demos Tested - Not Fully Working
Paradise Demo (PARADI-A.DSK, PARADI-B.DSK) - Part 3 - Loader Crashes - DSK image is corrupt/missing track 40.
Power System Megademo (PWMD-A.DSK, PWMD-B.DSK, PWMD-C.DSK) - Last part before end reports CRTC Type 1 when Type 0 is used. - Screen jumps in Chany Part (Part 3)
S&KOH Intro (Not on DSK) - HSYNC problem
Soul Almighty (SOUL-ALM.DSK) - Digisampled jumper seems to jump too much (VSYNC?)
Terrific Demo (TERRIF-A.DSK, TERRIF-B.DSK) - Disk image is corrupt/missing tracks 40 and 41.