v3.4 build 25/04/26
-------------------

Fixed when a DD or FD prefix precedes SCF or CCF then information about whether or not the previous instruction modified the flags is lost (thanks, TonyB)
Double-clicking register labels in the debugger moves the disassembly to that address
Renamed debugger's "savebastap" command to "savebas"
Added LINE parameter to debugger's savebas command
Fixed issue 2/3 keyboard behaviour (Rasputin no longer starts from its main menu with issue 3 keyboard selected on 48K machines)
Changed to a new late timings model for 48K/128K machines (thanks, TheMartian and zjoYkileR)
Added the ability to add a display or attribute breakpoint using the mouse pointer position on SpecEmu's display in one of two ways:
  (a) pause the emulator and then hold down the right mouse button whilst pressing and releasing the left mouse button, or
  (b) hold down the right menu context key and the right mouse button whilst pressing and releasing the left mouse button.
Dropping TRD/SCL files into non-client areas of SpecEmu's window (say the title bar) will offer to switch to Pentagon emulation if necessary.

v3.4 build 30/09/25
-------------------
Added "sound" command to the debugger. Select which AY channels are enabled such as "sound ab" or "sound ac"
Added "beep" command to the debugger to toggle the beeper on and off.
Improved tape mastering when paging is locked to bank 0 on 128K machines for 48K machine compatibility when loading.
Added "savebastap" command to the debugger to save the current BASIC program to a TAP image file. Usage: save bastape "prog name"

v3.4 build 31/08/25
-------------------

Fixed +3 contention issue when leaving 64K RAM mode. (thanks, r-lyeh)
Fixed Sinclair 1+2 joystick port behaviour on the Spectrum +2. (thanks, XoRRoX)
Clicking a register label, other than IM, in the debugger highlights its address in yellow in the memory viewer (suggested by XoRRoX)
Clicking the IM label in the debugger shows the disassembly for the current interrupt service routine in the current interrupt mode
Fixed a +3 disk controller bug affecting multisector transfers
Added an invert tape polarity option in tape options
Added options to create new ZX Spectrum +3 (180K/360K/720K) and new Beta Disk (160K/320K/640K) image files to the File menu
Added mouse position to character position to the Tools window (suggested by XoRRoX)
Added /bpc command line argument to add a conditional breakpoint (eg: /bpc "hl=5 a=#0d")
Added slowmo command to the debugger to slow down screen drawing and show how it's being updated (toggles on/off with the command or on reset/loading snaps)

v3.4 build 01/04/24
-------------------

Fixed Q flag behaviour for illegal instructions. (thanks, zjoYkileR)
Fixed +2 (and IF2 for 48K/128K machines) joystick behaviour. (thanks, XoRRoX, Ped7g, ZXGuesser, SevenFFF)

v3.4 build 20/03/24
-------------------

Tape flashloading now works properly with "Stop the tape if in 48K mode" TZX blocks. (thanks, Beginner)
Improved tape loading from WAV files. (thanks, Weiv for providing the Chase H.Q test file)
Fixed a zip extraction bug that could crash the emulator.

v3.4 build 05/03/24
-------------------

Fixed a crash that can happen when saving very large blocks to TAP files.
Fixed where loading a memory snapshot might not restore the correct 128K display.
Added some level of protection against broken TZX files.

v3.4 build 14/02/24
-------------------

Fixed an RZX recording bug. Unlikely to ever trigger it but really don't want to throw recordings away!
Holding ALT when dropping tape images will flip the tape polarity for polarity sensitive loaders
Fixed a potential issue with loading stripe colours when ROM flash loading is disabled
Snow effect setting now defaults to enabled on new installs
Some minor bug fixes

v3.4 build 03/02/24
-------------------

Fixed MEMPTR for interrupted INIR/INDR and OTIR/OTDR instructions. Thanks to ZjoyKiLer.
Pac-Man returns to the Tools menu (if you have the necessary ROMs).

v3.4 build 24/07/23
-------------------

Reverted recent files list code changes (endless silly niggles, needs a proper coder)
Fixed a small timer resolution bug (Windows 10 v2004 and later, but you won't notice any difference)

v3.4 build 20/07/23
-------------------

Fixed recent files list issue (again, and hopefully better than the last "fix". might have to delete your .ini file)

v3.4 build 11/06/23
-------------------

z80 (v3) snapshots now only save 16K RAM under Spectrum 16K emulation

v3.4 build 09/06/23
-------------------

Fixed recent files list issue
Fixed issue 3 keyboard issue

v3.4 build 07/06/23
-------------------

Added "set intdiff n" command to set an offset value to add to a machine's interrupt period (0 - 128)
This offset is in addition to the late timings setting set in hardware options and the late timings flag saved in SZX (v1.4) snapshots.

v3.3 build 10/05/23
-------------------

Fixed a bug affecting menu checkmarking for "Break on leaving ROM space" and "Break on entering ROM space" options in some situations (thanks, Ref)
Fixed issue with ROM flash loading (thanks, Ms. Beginner)

v3.3 build 07/04/23
-------------------

Fixed the 128k snow effect to read from the correct upper contended page when active (thanks, Weiv, TheMartian, Richard Chandler et al)
Added "Set As Next Instruction" to disassembly menu
Implemented speaker to ear delay for ULA port writes with no tape input
Add "optime" conditional breakpoint parameter (opcode execution time of last opcode)
Added maximum opcode execution time to cmd parser's "ops" command (value resets at machine reset and after each "ops" command)
Increase disassembler's small font size from Courier New 6 to Courier New 7

v3.2 build 25/03/23
-------------------

Remove missing files from the recent files list on startup
Added RZX streaming - sections of RZX recordings can be streamed into new RZX recording

v3.2 build 11/03/23
-------------------

Updated OpenSE BASIC to v3.2.1 (thanks, Andrew Owen, source code and documentation at https://zxdesign.itch.io/opense)

v3.2 build 05/03/23
-------------------

Added SEM snapshot support (loading only)
Added SP (old type) snapshot support (loading only)

v3.2 build 18/02/23
-------------------

Fixed +3 floating bus (again)
Fixed a +3 port contention bug (thanks, azesmbog and Arjun Nair)

v3.2 build 06/12/22
-------------------

Fixed joypad emulation (had switched to new include files which had incorrect joypad structures)

v3.2 build 04/12/22
-------------------

Improved snow effect emulation (thanks, Weiv)
Fixed "tapeinvert" command (in command parser) to invert bit 6 of IN #FE only with tape input (thanks, cngsoft)
Added a list of some of the debugger's command parser commands into the Docs folder
Added a few examples for the conditional breakpoints into the Docs folder

v3.2 build 01/10/22
-------------------

Fixed AY noise frequency running at half clock speed. 20+ years to spot it..

v3.2 build 25/06/22
-------------------

Debugger's cycle-accurate display update option now only displays pixels up to the raster location in the current frame
Debugger's Run To conditions correctly override +3 floppy controller breakpoints
Fixed right-hand edge corner curves being slightly wrong in fullscreen mode
Fixed RETI/RETN interrupt behaviour (thanks, Floh, ZjoyKiLer, Tony Brewer, Ped7g, ZXGuesser)
Added some (useless, atm :p) conditional breakpoint "documentation" (see "Conditional Breakpoints.txt") (it won't help you..)

v3.2 build 28/03/22
-------------------

Fixed double clicking on breakpoint addresses not moving to that address in disassembly
Fixed not being able to remove simple breakpoints
Fixed being able to add one zero length conditional breakpoint
+3 emulation now uses an official v4.1 ROM

v3.2 build 24/03/22
-------------------

Added preliminary support for conditional breakpoints
Added support for Marko's useless CrazyBASIC mode!

v3.2 build 16/03/22
-------------------

Fixed snapshots sometimes not being added to recent files menu
Fixed Windows XP support

v3.2 build 11/03/22
-------------------

Fixed the OTxR block instruction interruption flag behaviour. Again. (thanks, azesmbog, Richard Chandler)
Added Zip file support

v3.2 build 21/02/22
-------------------

Fixed a bug affecting N flag in IND
Fixed a 128K screen timing issue (thanks, azesmbog)
Added support for INxR / OTxR block instruction interruption (thanks, David Banks, ZJoyKiler, Ped7g, Arjun Nair, evolutional)
Added workaround for SZX files with an incorrectly set HALT flag state

v3.2 build 31/12/21
-------------------

Added support for LDxR / CPxR block instruction interruption
Fixed HALT behaviour
Fixed screen flip timing during 7ffd out (thanks, Arjun Nair)
Fixed Kempston joystick interface behaviour when no joystick attached

v3.2 build 30/11/21
-------------------

Fixed another Options screen bug
Changed to what is apparently the authentic TK-90x ROM

v3.2 build 16/11/21
-------------------

Fixed a bug using the Options menu which could change the emulated machine even when the dialog is cancelled
Reworked the keyboard handling code

v3.2 build 27/10/21
-------------------

Fixed .sna snapshot loading.

v3.2 build 25/10/21
-------------------

Fixed a bug when saving .z80 snaps under certain circumstances (thanks, Arjun Nair)
Added PAC-MAN (+3) mode to the Tools menu (requires pacman.6e pacman.6f pacman.6h pacman.6j from the Midway ROM set in the pacman\roms\ folder)
Corrected the HALT behaviour

Thanks to Simon Owen for permission to use his +3 Pac-Man emulator! (http://simonowen.com/spectrum/pacemuzx/)

v3.2 build 01/10/21
-------------------

Fixed a bug corrupting the alternate AF register pair when reading .z80 snapshots
Fixed a bug affecting the index mark bit in Status register reads for Type 1 FD-179x controller commands.

v3.1 build 17/9/21
-------------------

Fixed Multiface 128/3 devices

v3.1 build 13/9/21
-------------------

Fixed a bug relating to contention when entering/leaving +2A/+3 64K RAM mode (thanks to Guesser)

v3.1 build 10/9/21
-------------------

Added an option to disable the end of RZX playback dialog

v3.1 build 20/11/20
-------------------

Fixed minor ULAplus bug

v3.1 build 27/2/20
-------------------

Fixed Kempston joystick emulation (thanks, hexaae)

v3.1 build 13/2/20
-------------------

Fixed the latest machine selection bug. (thanks, XoRRoX)

v3.1 build 9/2/20
-------------------

Fixed SNA saving (d'oh).
Fixed CBI-95 disk I/F (which also caused segfaults on exit, thanks Ast. A. Moore)

v3.1 build 1/2/20
-------------------

Fixed TAP loading.

v3.1 build 19/1/20
-------------------

Added a status bar to show more info
Added a x4 zoom option in the View menu

v3.1 build 24/12/19
-------------------

Fixed some tape loading bugs and accelerated some protection systems a little more with edge detection enabled.

v3.1 build 08/12/19
-------------------

Removed the bright black extra intensity
Remembers the last snapshot type selection when saving snapshots.
Added -z80v1 command line argument to always save 48K .Z80 snapshots as v1 files. Non-48K .Z80 snaps will always be v3.
To toggle between v1 and v3 48K .Z80 snaps use the z80v1 and z80v3 commands in the debugger's command parser.

v3.1 build 29/11/19
-------------------

Fixed a bug relating to 128K/+3 normal/shadow screen flipping timings.

v3.1 build 16/03/18
-------------------

Updated settings code to be more UAC friendly (thanks, polomint)
Added the +3 FDC's physical cylinder display to the debugger.
Fixed +3 disk autoloading.
Fixed a bug which prevented the LD A,I/R opcodes from working correctly when accepting an interrupt.
Added -sna128 command line argument to force 128K SNA files to be loaded into Spectrum 128K mode.
Updated zlib library to v1.2.11

v3.1 build 12/05/16
-------------------

Added -cbi95nmi command line argument which allows the CBI-95 magic button to override the Multiface NMI.


v3.1 build 21/11/15
-------------------

Fixed bug preventing Kempston joysticks on ports 31 and 55 from working simultaneously (thanks, MatGubbins)


v3.1 build 07/11/15
-------------------

Added support for up to 4 joypads with Kempston being mappable to port 31 or 55.
Fixed RZX playback for files with spurious data appended to the recording. (thanks, Daren Pearcy)
Allow use of 8K or 16K TR-DOS ROMs (thanks, Luzie)
Workaround for a possible segfault condition discovered in the szRight() function in masm32.lib


v3.1 build 26/07/15
-------------------

Updated memory map files to a more complete state. Details are in the Docs folder in the distro.


v3.1 build 25/05/15
-------------------

Added basic joystick support
A few minor bug fixes.
Updated to OpenSE BASIC v3.1.2 (Tools menu)
Updated zlib library to v1.2.8


v3.1 build 23/09/13
-------------------

Fixed an access violation with the "Enable dodgy televisions set" option enabled (thanks, Chris Cowley)


v3.0 build 03/06/12
-------------------

Added -snowcrash command line argument (128K/+2 machines become unstable executing contended memory code with snow effect enabled/active)


v3.0 build 25/05/12
-------------------

Updated to OpenSE BASIC v3.1.1 (Tools menu)


v3.0 build 29/04/12
-------------------

Updated to OpenSE BASIC v3.06 (Tools menu)


v3.0 build 27/04/12
-------------------

Fixed Spectrum +3 border timings. (thanks, Einar Saukas)


v3.0 build 06/04/12
-------------------

Added ULAplus support for the Timex screen modes.


v3.0 build 05/03/12
-------------------

Fixed Multiface emulation.


v3.0 build 01/02/12
-------------------

Fixed tape loading bug (hopefully!)
Made the AY filter a little less keen! (Cybernoid drums should be restored)
Some wise chap informed me that we've reached the year 2012 so the About dialog is fixed.
Debugger breakpoints are now highlighted in green rather than magenta.


v2.9 build 13/04/10
-------------------

Added Microdigital TK90-X emulation.
Added preliminary support for the CBI (beta) disk interface.


v2.9 build 09/04/10
-------------------

Added SE Basic (48k mode) into the Tools menu to try out the new ROM.
See http://sites.google.com/site/sebasic2/home for details.


v2.8 build 10/10/09
-------------------

Fixed a windowing problem on some video cards when DirectDraw acceleration is disabled.
Added a simple PC logging function to the debugger.


v2.8 build 04/10/09
-------------------

Added PC logging to the debugger for tracing execution paths.


v2.8 build 27/09/09
-------------------

Added command line switches: "-fullscreen", "-windowed" (or "window")
Switched from a combobox to a listbox in tape browser. Infoseek is now only available when windowed.

v2.8 build 14/08/09
-------------------

Re-enabled BEEPER output to be modified by MIC output (fixes speech in Cobra's Arc)


v2.8 build 03/08/09
-------------------

Added a breakpoints dialog to the debugger
Several minor bug fixes


v2.8 release
-------------------

- Added RZX rollback capability
- Added an experimental "ULA colour ramping" display option to mimic some ULA artifacts such as its four brightness intensities


Recent beta revisions:


v2.8 build 25/10/08
-------------------

- Added RZX record/playback


v2.7 build 27/09/08
-------------------

- Fixed some minor Quick Load file selector issues
- Fixed a window position startup problem (possibly; I couldn't reproduce it)


v2.7 build 24/09/08
-------------------

- Added the extra screen modes supported by the TC2048's ULA
- Newly created snapshots/tapes are added to the Recent Files list


v2.7 build 20/09/08
-------------------

- Added a Recent Files list
- Returned to using normal 128K-style AY port decoding for the Pentagon


v2.7 build 19/09/08
-------------------

- Added Covox sound hardware emulation for the Pentagon

v2.7 build 16/09/08
-------------------

- Uhm, fixed the mouse tracker...
  It only really works well with window sizes with the correct aspect ratio (100%/200%)


v2.7 build 15/09/08
-------------------

- Added a display/attribute address mouse tracker in Tool Window 1 (View Menu)


v2.7 build 08/09/08
-------------------

- Fixed a minor flags bug when saving to TAP files. Thanks to goodboy for pointing me to this error.

v2.7 build 16/08/08
-------------------

- Added Cheetah SpecDrum support
