# E m u Z Win changes history

Version 2.7 Release 2.8 (10-Mar-2006):

[-] Last fixes in version 2.7 before starting developing version 2.8 (some bugs in the Debugger, Assembler window).

Version 2.7 Release 2.7 (4-Mar-2006):

[-] Core emulation fixed for all undocumented instructions (including BIT n,(HL)). Now ZEXALL test and other tests are executed exact as on real Spectrum machine. A selection of Z80 chip clone added into configuration. Thanks to Boo-boo, Wlodek, CHRV, Smt.
[-] Scorpion model multicolor fixed.

Version 2.7 Release 2.6 (2-Feb-2006):

[-] ZXAsm++ reworked and moved to a separate DLL (sources for ZXAsm++ are opened and packed with other stuff in add-ons archive).
[-] Some small fixes and improvements in the interface.

Version 2.7 Release 2.5b (21-Jan-2006):

[-] working in Windows9x fixed.
Version 2.7 Release 2.5 (7-Jan-2006):

[-] NetPlay menu fixed.
Version 2.7 Release 2.4 (24-Nov-2005):

[+] Light Gun and Gun Stick optical devices support added, both emulated via mouse (see Configuration).
[-] Small fixes in the Assembler and in the Debugger.

Version 2.7 Release 2.3 (16-Nov-2005):

[-] Calling Macro in the Assembler fixed.
Version 2.7 Release 2.2 (14-Nov-2005):

[-] Font in the Debugger fixed.
[-] Auto-completion in the Assembler editor fixed.
[-] RST instruction in the Disassembler fixed.
[-] Loading memory block (Load and Compare dialog) fixed.
[-] Unpressing RShift fixed (when LShift and RShift were mapped to some different Spectrum keys, pressing and releasing it together got in result that key correspondent to RShift left "pressed").
[-] In some cases when Pentagon was selected after resetting Spectrum, ROM image from S128 was loaded, fixed.

Version 2.7 Release 2.1 (13-Nov-2005):

[+] An option added "Caps on Arrow Keys", which allows to disable this behavior which is on by default. (Useful for games with a Cursor keys keyboard, which do not like Caps Lock therefore).
[-] Pressing Alt+'0'..Alt+'9' crashed the emulator if it was not in NetPlay mode. Fixed.
[-] In the Debugger, breakpoints on Port Write fixed (just were not implemented, but setting such breakpoint was crashing the emulator). Turning on/off separate breakpoint in the Breakpoints Dialog while running could crash the emulator, fixed too.
[+] Very special effect added, Equispaced Frames. It is intended for Anti-Slowdown War (sometimes game speed depends a lot of amount of objects to draw on screen, and in that case game become slower for a time). This effect allows to eliminate this behavior: all frames become equidistant, and in some cases game is running smoother. But sometimes speed become too fast, so do not forget to select another custom speed. And, for some games this mode should not be on while it is loading or showing menus, so to switch the mode quickly, key combination Alt+Q is reserved for turning this effect on/off.

Version 2.7 Release 2.0 (10-Nov-2005):

[+] An option added "Emulate Kempston on Numpad", which allows to disable this behavior which is on by default. (Useful for notebooks and for some Spectrum programs which do not allow keys defining when Kempston presence is detected).
[*] While saving Hobeta files from Disk Browser, undesired characters in file names are substituted with its hexadecimal code %xx, and an underline character is added to undesired file names (such as PRN.*).
[*] Faster a bit Disk Browser indication.
[-] "Jump to block" and "Stop if 48" commands in TZX load fixed.
[*] More exact implementation of command "STOP TAPE" in TZX.
[+] Auto-detection of two-sided tapes added while loading TAP or TZX from the ZIP archive. If answered "Yes", both sides are loaded concatenated.
[+] New option "Disable Sticky Keys (Accessibility feature) while running" added. Turned on by default.
[-] Assembler fixed for some rare errors (leading to infinite loop of the emulator though, bad). Thanks a lot to Derek for a definitive bug report!
[-] Map Builder fixed. (The error is from version 2.6 when memory allocation changed for Spectrum memory blocks, sorry).

Version 2.7 Release 1.12 (27-Sep-2005):

[-] Some fixes from version 1.7 to 1.12. Now I can remove mark Beta. Further working on the emulator are stopped now for a time. But if bugs were found, I'll fix it.

Version 2.7 Release 1.7 Beta (7-Sep-2005):

[-] Loading Pokes fixed.

Version 2.7 Release 1.6 Beta (5-Sep-2005):

[*] Scorpion ZS model supported mainly (service monitor works now, there are no yet SMUC+HDD, CMOS, programmatic turbo etc.).
[*] Magic Button for TR-DOS fixed. NMI to service ROM added (only for Scorpion model yet).
[*] Debugger fixed a bit (setting breakpoints at the same address in another bank, now execution breakpoints are determined only by the address, data address view in decimal fixed) and improved a bit (search in decimal bytes/words, show address of byte under mouse cursor, the same in load block dialog, color of found bytes changed a bit, registers are updated on each step when F7 or space is pressed instantly, other small changes there).
[*] Both hex and decimal view of the address in the Sprite Finder.
[*] ZX Assembler++: Many fixes (mainly with new extensions, proclaimed as C-- - like) and some improvements (local labels added, with configurable prefixes, GOTO [cond,]label pseudo-operator added). Compiling speed reduced and is about 5 times faster now. Therefore button Cancel added to stop compiling if necessary.
[*] Progress in status while loading and saving big snapshots.

Version 2.7 Release 1.0 Beta (24-Aug-2005):

[-] Debugger: editing registers fixed.
[-] Debugger GS: setting breakpoints fixed.
[-] LoadZ80 plug-in fixed (can be updated for earlier versions).
[-] Loading from ZIPs, containing several snapshots, fixed.
[-] FastLDIR and FastHALT emulation fixed (LSD and may be some other multicolor demos were slowed down).
[*] If emulation was paused when it was closed last time, it starts also paused.
[*] If open file dialog was opened from the full-screen (using F3), it is returning to the full-screen mode after loading the file (if success).
[*] Better sound quality when emulation speed is set to less then 50%.
[*] Faster starting.
[+] Configurable preventing of launching another instance of the application added.
[+] Threshold added for joystick configuration.
[+] A lot of improvements in the built-in Assembler (MACRO, PROC, STRUCT, ENUM, conditional compilation with IF ... ELSEIF ... ELSE ... EIF, conditional pseudo-instructions IFcond ... ELSE... EIF, LOOP...ELOOP/ELOOPB, other new directives FOR, DUP, DEFINE, =, INCLUDE , elements of С - -, syntax highlighting, etc., see documentation on built-in assembler).
[+] Video Recording (AVI) provided.
[+] Saving sound to WAVE provided via SaveWave plugin.
[+] Saving sound to MP3 provided via SaveMP3 plugin (a codec allowing such conversion should be installed, such as MPEG Layer-3 or LAME MP3).
[+] Issue2 and Issue3 support added (though not exact emulation but simulation).
[+] Blur Motion effect (super-smooth scrolls in domos) added for Direct-X full screen only (see in Configuration).
[+] Turbo-AY support added (by default turned off, since some demo can use ports in conflicting way).

Version 2.6 Release 1.6 Beta (28-Feb-2005):

[*] Faster working. Even faster working in 48K only when TR-DOS and Interface-I are off.

Version 2.6 Release 1.5 Beta (27-Feb-2005):

[-] GigaScreen fixed.
[+] A lot of additions in the Debugger : it is possible to set breakpoints on memory read/write, on port in/out, and to assign another actions for a breakpoint such as enable/disable breakpoint group, or call routine in the Spectrum memory, not only just stop. A special Breakpoint List window added to control all the breakpoints, to enable/disable it individually, by group or alltogether. Breakpoints now are saved in .EZX, and also can be saved to a separate file to load it later.

Version 2.6 Release 1.4 Beta (23-Feb-2005):

[*] Better Tape loading speed and sound while loading tape fast.
[-] LoadTZX plugin fixed for some types of blocks.
[+] Dirty save to .TAP file added (File|Record and Save Tape As... menu item, then F6 to stop recording). "Dirty" because only works when standard SA-Bytes ROM procedure is called. Therefore file created is normal .TAP file containing all saved blocks.
[+] ZX Printer support added.
[-] Small fixes in the Debugger.

Version 2.6 Release 1.3 Beta (19-Feb-2005):

[-] For desktop with resolution 24 bit True Color, graphic output fixed.
[+] An option added in the configuration to ignore current desktop setting 24 bit True Color and to use in such case 32 bit DIB Bitmaps. This can make drawing faster in most cases when 24 bit True color is selected in desktop settings, so this option is on by default.
[-] Interface-1 (microdrive) did not work, fixed.
[-] General Sound fixed (Barbarian, G.Beret).
[-] A way to recognize left and right shift and control keys changed (previous one did not work in Windows9x, for mapping keys).
[+] An option added for General Sound: GS Double Frequency. This fixes some mods while playing (especially using player). Turned on by default (not affects other GS mods).
[+] A Debugger added for GS. Faster drawing in the debugger.
[*] When program is loaded from the Disk Browser (double-clicking it or pressing Enter key on it), now TR-DOS is forced enabled and turned on, and model Pentagon is selected if current model is not Pentagon or Scorpion or other Russian clone (ATM1/2, Profi, KAY). An option in configuration controlling this behavior renamed (Switch to Pentagon and force TR-DOS on (if necessary) when run from disk).

Version 2.6 Release 1.2 Beta (12-Feb-2005):

[*] Net Play developed more:
(+) Keyboard-separated games also are supported and it is possible to play the same game from several client PC's with running emulators.
(+) Automatic switching rules (for time-separated games) can now be set very easy, there are no programmer skill required at all to setup a scenario). Simple example of such scenario provided for BATTY, just load it and try.
(+) Compression (UCL and LZip) also are supported.
(+) Hidden Moves mode made hidden also for Direct-X full screen.
(+) Keyboard state now provided by the server rather then restoring it while "replaying" frames like in Action Replay.
(+) Separate top menu item Net added in the main menu, and hot keys to control connection without switching to Connection window (Alt-0 - pass moves to the next player, Alt-1 - to the first, etc. to Alt-8 and Alt-9 to request moves).
(+) Also some bugs fixed on connection/disconnection, so working with Net Play became more stable and speed of playing over network became more reliable. Now Net Play tested in a local network with two computers connected and works well in such case.
[-] Some possible problems with graphic output fixed, especially for Windows9x and low desktop resolutions. Working under 16 colors on real hardware can be still slow (case of 1 bit per pixel, 4 planes). But other modes work fast enough now. If 320x200x256 video mode requested for DirectX full-screen but the hardware can not satisfy this request,the next mode 640x400x256 is tryed.
[*] Smooth Scale graphic filter now requires only MMX, and not need SSE2 to be available (so it can work on Pentium II with MMX, at least).
[*] Configuration dialog redesigned a bit to fit in lowest resolution display (640x400).
[+] An option added 'Dynamic priorities' (in the Configuration), by default it is reset. It has effect in NT/2K/XP and controls treads priority on-fly achieving in some cases better performance (but setting permanent task priority can stop working).

Version 2.6 Release 1.1 Beta (6-Feb-2005):

[-] LoadZ80.dll fixed. This were affected RZX recording in many cases not allowing to record RZX correctly.
[-] Working under Windows9x fixed.
[-] Crashed in Open Dialog while holding arrow key pressed to move throw entire files list, fixed.
[-] A new bug fixed with keyboard remapping (key releases were not handled).
[*] Starting of the emulator a bit faster.
[+] NetPlay added. This is only the first release with NetPlay support, but it is already possible to connect between several clients and a server, watch what is playing on the server, and to play in time/divide mode. Chat also is working well.

Version 2.6 Release 1.0 Beta (30-Jan-2005):

A lot of changes. Most important are:
[+] Formats supported: RZX, SLT.
[+] Sound devices supported: Covox, Stereo-Covox, General Sound.
[+] Debugger: Undo/Redo.
[+] Key remapping improved.
[+] Scorpion Multicolor Timing added.
[+] Video: Smooth scale filter, new modes directly supported (16 or 256 colors video-cards, 320x200x256 colors full-screen mode, etc.)

Detailed list:
Core emulation:
[-] Fixes for some instructions.
[*] Core emulation totally reworked (self-modifying code used to achieve maximum of effectiveness, fast skip of short loops added).

Formats:
[+] SLT format support added (read).
[+] RZX (replay action) support added. Features:
- keyboard & Kempston joystick presses can be viewed on drawn keyboard whenever possible to restore it;
- Time 2 seconds Back/Fwd command available while playing back and allows to review desired portion of RZX playback several times when desired; also it available while recording (separate IRB with its own snapshot added, some emulators can not play such rzx-files though);
- It is possible to drop several RZX files onto the main window to replay it all one by one;

Models:
[+] Scorpion Timing added (Even M1).
[*] Now a certain Timing is selected automatically when a correspondent Model is selected.
[*] When EZX format loaded, model and timing stored where always used rather then to check other settings.
[*] 256 Colors games can now be played with Multicolor turned on, in any timing model available.
[+] Models +2, +2a, +3 added to Model menu. Toolbar button added to select model. Now the name of the currently selected model is a part of main window title (in [ brackets ] ).
[*] When loaded shapshot contains info on hardware model (Z80), such hardware is automatically switched to and correspondent timing applied if the emulator in the Multicolor mode.

Sound:
[+] Covox support added (port 251), and stereo-Covox on ports 79, 15.
[+] General Sound support added. For GS machine, its state is not backuped when Time 2 seconds back command is executed. A separate command added to reset GS machine (and it also can be reset together with main emulated machine with new command Reset All).

Video:
[+] Smooth Scale filter added (in Effects menu) and enabled by default. When scale factor is not integer this filter has effect and makes pixels of the same dimension while video rendering. This filter is compatible with all graphic modes including 256 colors mode but it is requiring desktop resolution at least 16bpp (64K colors).
[*] 16 colors and 256 colors desktop resolution supported natively (so the emulator works fast on host machine having small resolution display only). Support for special full-screen mode 320x200x256 added, including working 256 Colors games in this mode.
[*] 256 Colors games can now be played in full-screen with Direct-X.
[*] Shortcut key combination Alt+L can be used to switch showing Led status in full-screen Direct-X.
[*] Faster rendering for all graphic modes, effects and resolutions.

Debugger:
[+] A capability to Undo / Redo Spectrum states added. Any command executed in the Debugger (step in, step through, run, etc.) can be Undone and then Redone.
[*] Small changes in Registers panel layout.
[*] In additon to F7, "Step into" command also can be executed pressing Space, and in addition to F8, "Step throw" pressing Enter key.
[*] Main emulator's window toolbar [Pause] button uses now Debugger's [Trace] button image when Trace is on, and also can be used to stop tracing.
[+] Some additional items have added to logging while performing Trace operation: registers R, I, GFX Registers A, B, C, D, E, H, L (and if those are logged and memory byte also is logging, correspondent GFX memory also is logging).
[-] Working of conditional breakpoints fixed. For conditional BPs, these are handled independantly of memory banks and linked only to absolute memory address now.

Configuration:
[*] Ini-files can be used now, specifying the key /INI in command-line (see description above).
[*] Any PC Key/joystick button can be remapped now not only to any ZX Key (or two), but to any of 25 Emulator commands. (E.g.: Sound Volume Increase/Decrease, Save Screenshot, etc., see entire list in the Configuration). If a file Default.ekm is found in the starting directory, the default key remap is loaded from it at startup and on Reset All command. And when a snapshot/tape image is loaded, and a so-called .ekm remap file is found there, it is also is loaded together with a snapshot too.

Other:
[*] A capability added to Open dialog to auto-refresh when folder content is changed on disk.
[+] Additional text description is shown in preview part of the Open dialog for a selected item.
[*] Faster working of Open dialog.
[-] Small bug in Open dialog: when opened first time, button Forward was available and pressing it crashed the emulator.
[-] Small bug in Save Dialog: when filename typed manually with an extension, file was not saved.
[*] In the Disk Browser, non-existing files are not showing in the recent files list. If file is not available, load from recent list is abandoned, but previous disk in slot is not ejected. Loading disk from recent files list in slots 'B', 'C', 'D' does not loads more the same disk to slot 'A' too (bug).
[*] Pressing single Alt does not enter main menu now, but just temporary enables/disables mouse emulation (for all mouse types supported at the same time).
[*] Num[ + ] now increases speed to the next point among 1,2,...10,20,30,40,50,100,200,300,...%. Num[ - ] decreases speed to the previous one. Newly selected speed become new Custom Speed (switchable by Num[ * ] as before), if it is not 100%.
[-] Save File and Save File As commands both worked the same way always calling Save File dialog. Now fixed, and Save File saves a file without a dialog if called after Save File As.
[*] Much faster working when speed set to high value (above 300%) and with Multicolor off and some other expensive effects off too, top speed achived on my PC is about 3000% (30 times faster then on real machine) and sometimes even more (just to compare: it is Pentium-IV/3200MHz with hyperthreading/512M). Faster loading tape (in many cases).
[*] Options Flash load and Fast Tape are united to a single (Fast Tape). Flash load fixed (some tapes could not load when Flash load was turned on).
[*] Separate command Reset All added (Alt+F11 or Alt+toolbar button [Reset] click). It resets GS machine and tape emulation also, and reloads default key remapping (if exists).
[*] An option added to hide mouse cursor either in full screen or always (or not hide at all as earlier), see in Configuration | Joystick and Mouse.
[-] If the main window is set to be Stay on top/Semi-transparent, all other forms also become Stay on top, to allow accessing it.
[-] When the emulator started in paused stated (with command-line /PAUSED or when autosaved state loaded and correspondent option to start paused in such case is on), in non-multicolor, first attempts to resize window without resuming emulation could lead to fail further working (infinitive waiting, no responding from the application). Fixed.
[-] When tape loading is requested by a Speccy program, but there were no tape inserted, the emulator was crashed. Fixed.
[-] Saving option "Maximum border in full screen diect-X" fixed (it was checked on each time when emulator started).

Version 2.5 Release 2.54 (8-Nov-2004):

[-] When 256-Colors game is loading in the EmuZWin running on Pentium without MMX supported, it is no more switching to 256 Colors mode (a game is loaded but in usual graphics mode, without GFX).
[-] Autonaming screenshot files fixed for case when save dialog turned off (images were saving to the same file).

Version 2.5 Release 2.53 (5-Nov-2004):

[*] A folder last time used to store screenshots (F5) now also stored in the registry.

Version 2.5 Release 2.52 (5-Nov-2004):

[-] Compatibility with Windows 95 restored (the emulator could not start at all under Windows 95, without any message). The EmuZWin still is compatible with Windows 95/98/ME/NT4/2000/XP/Longhorn.
[-] Speed synchronization fixed for case when no sound device is attached (there were about 200% speed always unless /NOMMTIMER key were specified).
[-] A problem fixed with pressing special key combinations such as Shift+' " ' and further releasing first Shift then special key ( e.g. ' " ' ): in result Spectrum key P left in "pressed" state and emulated machine received ' " ' infinitely until pressing P or ' " ' on keyboard.
[-] A problem fixed with pressing Ctrl + Shift in case when such combination is set to switch input language in the system (only last released key from those two were actually released in such case in Spectrum machine emulated, another (CapsShift or SymbolShift left still pressed until pressing it again).
[*] Small change in keyboard layout: now key ' ; ' is pressed without key Shift, but ' : ' with Shift, as it should.

Version 2.5 Release 2.51 (2-Nov-2004):

[-] GFX Editor fixed (Copy/Paste when view is less then 8 pixels, Multi-Column incorrect behavior).

Version 2.5 Release 2.5 (30-Oct-2004):

[-] DAA instruction fixed.
[-] Manual resize could crash the emulator, fixed.
[*] An option added AndMaskCF for 256 Colors mode emulation (AticAtac), to stop affecting this mode other 256 Color games (Knight Lore).
[*] GFX Editor improved a bit: less flickering and faster drawing.
[*] GFX Editor improved: Multi-Column edit mode added, to edit sprites, located in memory in columns rather then in lines.

Version 2.5 Release 2.4 (25-Oct-2004):

[-] When the background was changed in 256 Colors mode, it was not redrawn internally until something else were changed in Spectrum screen. Fixed, and now background (Bnn) is changed immediately.
[+] In the Palette Editor, Gamma editing added affecting entire palette.
[*] Small changes in 256 Colors mode emulation, to prevent GFX data loosing during sprite rotation (AticAtac).

Version 2.5 Release 2.3 post-fix (24-Oct-2004):

[-] Sprite Finder fixed (could crash the emulator scrolling to bottom in View All Banks mode in the GFX Editor).
[-] In GFX Editor, toolbar button Edit Palette could be unavailable under XP with Themes turned on.

Version 2.5 Release 2.2 post-FINAL (16-Oct-2004):

[-] A small pause added between TAP blocks while loading tape from .TAP image (otherwise some tape-disk copy progs could not work properly).
[*] Some improvements of file open dialog (Back/Forward in history, pressing char moves to a next file with correspondent name).
[*] Small change in work with joysticks: now these are captured only on switching joysticks on (Alt+J or Control | Joystick On), or if joysticks are set on permanently.
[-] A problem fixed with non-restoring usual mouse cursor when emulated prog uses mouse and reset Spectrum by itself (e.g. in result of Quit command in some disk commanders).
[-] Loading memory block in the Dubugger did not lead to update code listing immediately. Fixed.
[*] Small change in TR-DOS disk saving: now all the sectors are stored including containing all zeroes. There were possible problems with non-standard sized sectors.
[-] Loading files from Disk Browser via double-click or enter selected file in the catalog did not reset video page to 0. Fixed.
[-] Debugger was crashed when debugging step-by-step in 256 colors mode, fixed.
[-] A crush fixed which could occur when using Time 2 seconds back on some 256 colors games (with GFX Screen XOR buffer turned on, actually seems not used until now yet though).
[+] LoadFDI.dll, LoadTD0.dll are provided to load and save FDI, TD0 disk images (though TD0 is saved without compression).
[+] LoadZX.dll and LoadSP.dll are provided to load and save .ZX and .SP snapshots.
[*] Sprite Finder made available without switching to 256 Colors mode.
[-] Some fixes for 256 Colors mode emulation.
[+] Command line option /ESCEXIT added (if run with this option, ESCAPE exits the emulator immediately).

I assure Respected Users that development of new version does not stop, though and is slowed in view of my employment. I would not like to announce all the new features expected in version 2.6, but I enumerate it briefly: Covox, GS, RZX (possible), formats .UDI, .SLT, Net-Play. Estimated release of a version 2.6: December, 2004- February, 2005.

Version 2.5 Release 2.1 post-FINAL (3-Aug-2004):

[-] A bug in TR-DOS fixed: selecting absent disk and attempting to access it from spectrum program crashed the emulator.
[*] Small change in ports address decoding (mouse emulation even if not active were influenced INs from AY port FFFD). Sound in KAZ demo became better.
[*] Small change in AY emulation (demo DigiSID). Better AY+MIC mixing (Target Renegade 2).
[-] Problem fixed with not unloading LoadTRDOS.dll from memory when emulator finished.
[-] LoadZ80.dll fixed for case of old 48K only Z80 format (save and load).

Version 2.5 Release 2.0 FINAL (26-Jul-2004):

[-] Problem fixed with restoring AY chip state when .EZX-file loaded.
[-] When loading program which uses only MIC just after program using AY, sound (MIC) was a bit not correct. Fixed.
[*] More accurate changes in MIC sound while changing volume.
[-] When Configuration opened first time on the first page (Keyboard Mapping), the page was not correctly sized. Fixed.
[+] An option added in configuration: "Joystick on at start of emulator".
[-] When opening another file from anywhere while running program which uses mouse (AMX, Kempston or AY), mouse still did not released in full. Fixed.
[-] When switched to another app or to another interface dialog emulation of mouse was not stop. Fixed.
[*] Wait window with button Cancel added for Disassemble operation. While taking this long operation, IDLE priority set for the emulator process to allow other applications to work normally.
[*] Better Gigascreen: now the emulator desides more smart when to stop gigascreen effect.
[*] Better tape loading (TZX): now autostop/autostart works correctly at tone blocks (in most cases).
[*] Faster tape loading (TZX): most of frames are skept while loading with Fast Tape option on.

Version 2.5 Release 1.9 (24-Jul-2004):

[-] Problem with no responding to mouse/keyboard when 100% of processor utilizied and system just can not switch to thread handling mouse/keyboard, finally fixed.
[*] Better Tape Load noise.
[-] (Re-)Loading disk in Disk Browser affected AY sound emulating at this time. Fixed
[-] AY sound could be garbled just after (re-)opening state (.ezx) especially if there were no AY sound there. Fixed
[-] Loading disk in Disk Browser from ZIP could sometimes crash the emulator. Fixed
[-] When loaded TR-DOS multipart game or demo which loads its parts from the disk, it could not sometimes continue next part (unless using timestamps and trying continue again). Fixed
[-] Writing to TR-DOS disk fixed.
[-] Small fix (one more, yes) in AY Sound Emulation (Exact Sound Emulation). At least one game affected: POLE.CHUDES (TR-DOS game).
[-] Possible trouble fixed while loading Autosave.ezx file with incorrectly stored TR-DOS disk image there (now message shown about it, but all other info loaded OK. In earlier versions, this could crash the emulator and make system working unstable for some minutes).
[-] High Quality Magnification + Direct-X full screen + desktop resolution = True color - in such combination of conditions the emulator crashed switching from full screen to a window. Fixed.
[-] When sound on and speed 1% (with sound at 44KHz) or near, the emulator became not responding and locked the system for a long time. Fixed.

Version 2.5 Release 1.8 (21-Jul-2004):

[-] Some problems loading TZX-files fixed (could not possible to close Tape Browser while loading, or to stop emulator. Could not find next block to load).
[+] Tape Noise added (optional, and does not work on load if flash load/fast load are on).
[*] Small changes in smooth drawing. (Especially for case when sound off, but something changed for usual mode). Now increasing priority does nothing but increases smoothing in the synchronization (for speed 100% exactly 20ms are between frames).

Version 2.5 Release 1.7 (21-Jul-2004):

[-] Speed synchronization fixed for case when Exact Sound Emulation turned off.
[*] MIC sound made a bit quieter (when emulated via DirectX).
[-] MIC sound via PC Speaker restored (still for Windows 9x/ME only) and improved.
[+] An option added Another Chip which allows to change a bit AY sound in Exact Sound mode (worst it).AY sound quality improved for case of Exact Sound.
[+] A 3-state button added to the status bar of main emulator window near sound volume control to indicate/change stereo mode (ABC, ACB, Mono). Pressing in sound control but not on volume thumb moves this thumb at the position pressed changing sound volume directly.
[*] Global sound focus used with Direct-X Sound, so in most cases switching to another application will no more stop sound.
[+] Disk browser improved: it is possible now to open disks from ZIP-files (there are no check there if there are disks actually is in ZIP) and it is possible to re-open one of last 9 files (recent list provided).
[+] Debugger improved a bit: double click left mouse button in stack moves disassembly to a correspondent memory by an address found in the stack.
[-] Debugger fixed: P/V and X flags were exchanged visually.
[*] Tape Flash Load improved: if a block is loading with certain name, but blocks on the tape are not in the order required by the program, it is searched faster now.
[*] TR-DOS Load from Disk Browser (by double clicking file) improved: now it loads in most cases (USR 0 mode used, calling TR-DOS via RANDOMIZE USR 15616).
[+] Two options provided (in Miscellanous page of Configuration): 'Switch to Pentagon multicolor when load disk file' and 'Switch to appropriate multicolor when Model changed'. When loaded from .ezx-file, multicolor saved there is applied always.

Version 2.5 Release 1.6 (17-Jul-2004):

[-] Turning AY Sound off did not remove the sound at all (some rustle still were there). Fixed.
[-] Minor bug in AY Sound emulation fixed (really Exact Sound).
[+] An option added in Configuration: Disable screen saver while running.
[-] Emulator was crashed if hobeta-file was passed as a parameter in command-line. Fixed.
[-] Scrolling with keyboard keys in the Debugger in Decimal view - fixed.

Version 2.5 Release 1.5 (14-Jul-2004):

[-] There were no digital sound while emulating with speed greater then 200%. Fixed.
[-] There were no keyboard responce while emulating with speed higher some value (more then 400%). Fixed.
[-] Working with high speed (greater then 200%) was lowered down since all the frames were tried to be drawn even when Allow Skip Frames was on - fixed.
[-] Separate turning MIC sound off did not work - fixed.
[-] Worst smooth draw in full screen then in earlier releases - fixed.
[*] Processor usage for smooth draw lowered a half, but without reducing smooth effect.
[-] Worst speed syncronization on speed low then 100% - fixed.
[-] Incorrect syncronization after pause if sound off - fixed.
[-] When mouse (AMX/Kempston/AY) was emulating, F3 did not work - fixed.
[-] When mouse (AMX/Kempston/AY) was emulating, (re-)loading another file (tape, snapshot) did not release mouse and it still were emulated affecting loaded game/demo and disallowing using mouse by the usual way. Fixed.
[-] DirectX full screen mode now available on more hardware.
[+] XP themes manifest provided.
[-] Drawn Keyboard property On Top now works perfectly: it is on top of all the emulator windows itselves, but until another app becomes active.
[-] Turning to 8 bit per sample in sound options crashed the emulator. Now fixed.
[*] The option Exact Sound Emulation made available again in Configuration to allow turn it off for very slow machines. Now EmuZWin can be run with some options turned off even on Pentium-100 with 100% speed.

Version 2.5 Release 1.4 (10-Jul-2004):

[-] 256 colors mode not worked - fixed.
[-] Working in windowed mode when desktop is set to 256 colors fixed.
[-] Working under Windows 9x was failing - fixed.
[-] Starting in system without sound card installed was failing - fixed.
[-] In the Debugger, command Run To End Of Frame - fixed for non-multicolor modes.
[-] When Record and Save Sound dialog cancelled, no more ambigous dialog appear.
[+] Special SmoothTiming.dll added, which provides more smooth drawing.
[+] New function (menu Tools) added: Enter Poke(s) and also capabilities to save pokes as .POK-file and to edit pokes as text (from Pokes dialog). Keyboard, Map Builder and Pokes moved to the Tools menu (from the View menu).

Version 2.5 Release 1.3 (5-Jul-2004):

[*] Smooth draw made much more smooth in windowed mode. Drawing is smoother even if Smooth draw option turned off.
[-] Smooth draw also provided for case when sound is off.
[-] Restoring Sound On/Off state from registry fixed.
[+] Command-line option /FULLSCREEN added to run initially in full-screen.

Version 2.5 Release 1.2 (3-Jul-2004):

[+] An option added to control sound frequency (8 to 44KHz) and bits per sample (8 or 16) to use with DirectX sound.
[*] Exact Sound Emulation optimized a lot to work fast even on slow machines, and correspondent option removed from Configuration: now exact sound emulation used always until 200% of speed emulation. Better MIC sound emulation.
[*] High Quality Magnification optimized a lot, and works now in Full-Screen with Direct-X too. Since HQM works only with MMX/SSE2, it is not enabled on older machines.
[*] Skipping frames made more smart and effective, so Refresh Rate manual control no more needed: Refresh Rate menu item removed together with its submenu, but Allow Skip Frames left for manual control there.
[*] Smooth Draw improved a lot, and works now especially smooth in Full-Screen (both GUI and Direct-X).
[-] In the Debugger, loading memory block into ROM enabled too when Edit ROM option checked.

Version 2.5 Release 1.1 (16-Jun-2004):

[+] Flip Vertical now works also when Multicolor is off and High Quality Magnification is on.
[*] Some changes in Refresh frames control (in XP, only setting Refresh Rate to Maximum could help to make view more smooth and only sometimes, now this fixed).
[-] In Full-screen with Direct-X in some video resolutions led bar could appear at incorrect place - fixed.
[-] In Full-screen with Direct-X after increasing speed keyboard were not responding or responding very slow. Fixed.
[*] Option Allow Skip Frames works now better and tries to avoid skip frames whenever possible.
[+] An option Smooth Draw added both for GUI and Direct-X. It takes more CPU, but gives much smoother video emulation.
[+] For Full-screen with Direct-X, an option added: Synchronize with Vertical Blank. It has no effect if Smooth Draw or Allow Skip Frames options are turned on therefore.
[+] Hot keys added: Alt+H to switch High Quality Magnification on/off, Alt+G to swith Gigascreen effect on/off.

Version 2.5 Release 1.0 (10-Jun-2004):

Map Builder
[*] In the Map Builder, mouse DblClick, keyboard keys Enter and Escape switch to the main window (a toolbar button also added). In the main toolbar, optional button added: Add Room to Map (also switches to Map Builder, visible when Map Builder is visible only and Map Builder button also is visible on the main toolbar).
GFX Editor
[-] Gradient line and Select Rectangle tool working fixed for case when view direction is reverted to view memory from bottom to top.
[-] Magic & Fill tools are fixed for case when View Even/Odd bytes selected and for selecting in ROM area.
[-] Loading GFX-files (if a game was saved as .SNA or .Z80 snapshot with additional GFX files) fixed for case of 128K game: earlier, all separately saved GFX-banks were loaded, even which were stored in the main part correspondent to 48K image.
Loading & Saving
[+] While loading from .EZX, tape state (playing, position) restored more carefully (if saved in a new version too).
[*] Loading from tape improved: flash-load works a bit better, and flash- and fast tape load also applied when Tape Browser is visible (but still not, if a Debugger is visible).
[*] An option added Reset Tape Position when Spectrum reset (turned off by default).
[-] Problems with autostart tape while loading .TAP fixed.
[*] Reporting Tape loader signatures no more used.
[+] Saving a snapshot(!) in .TAP format provided via plugin.
[+] Saving sound in .OUT format now possible (as well as tracing any ports output as described in .OUT format specification).
Sound & Video
[-] AY Noise generation fixed.
[+] An option Double Loud Center Channel added in configuration (controls AY stereo).
[-] If there were no sound card installed, the Emulator could not start normally - fixed.
[-] Flip Vertical works correctly for all timing models now.
[*] High Quality Magnification Filter optimized a bit (for speed) and fixed (right and bottom lines eliminated). Saving High Quality Magnification state in a registry provided.
[+] An option View|Refresh|Allow Skip Frames added (turned on by default), which prevents slowing down the Emulator when a lot of operations should be done while rendering video output (e.g. in GigaScreen, High Quality Magnification, 256 Colors modes).
[+] An option Show Led Status in Direct-X full-screen mode added (off by default), which controls if to show speed in Direct-X full-screen. Now this option not depends on Show Status option, which has effect in windowed modes only.
[-] Direct-X mode fixed and optimized a lot (especially for multicolor).
Speed control
[-] Speed now fixed when sound is turned off or Direct-X sound not used.
[-] Selecting speed via Num[*] fixed in full-screen (this bug appeared in a previous release).
[*] Minimal possible custom speed is 1% now.
[+] An option Disable [desktop] animation effects while running added: to prevent sound "flicks" while minimizing/restoring windows while running the emulator. This option affects entire desktop but allows to hear continues music which otherwise is interrupted while working with other applications.
Debugger & Assembler
[-] Keys shortcuts for commands in the Debugger stopped functioning in a previous release. Fixed.
[+] In the Debugger, operation added Run To End Of Frame.
[*] The Debugger is improved a bit: now difference between TState counter is shown any way (by modulo on TStates-per-frame), even on Step Over command and after any stop on breakpoint, not only after Step Into command.
[*] The Debugger now shown and brought to front when break point occur.
[*] The Assembler is improved a bit: now 3rd step used if it is necessary (if a label of EQU-defined value is changed on 2nd step, this allow to define dependant EQUs in any place in a source).
Core & Hardware Emulation
[*] Menu item File|New renamed to File|Model and in most cases switching between models does not require now reset.
[+] Models added: Pentagon256/512, Scorpion256/1024, KAY256/1024, Profi256/512/768/1024, ATM1 512/1024, ATM-turbo2/turbo2+ 1024. For now, switching memory provided in most cases. Additional video-modes and working with additional ROM banks is not yet supported in full.
[-] Contention fixed for some instructions and for ports. Loading custom contention timing settings from a registry fixed (RAM bank 0 always became contended by error).
[*] Contention options changed: ULA Buffer now measered in TStates, parameter Border Granularity added (on Pentagon, default granularity is 1 TState, so Rage demo works now as it should).
[-] Working with +2A/+3 model with TR-DOS also turned on - fixed.

Version 2.4 Release 1.1b (24-Apr-2004):

[+] AY noise pitch control added to the Configuration.

Version 2.4 Release 1.1 (23-Apr-2004):

[+] High Quality Magnification Filter added (in Effects). Implemented for GUI modes (not planned for Direct-X), not working at the same time with Gigascreen or 256 Color, MMX and power processor are required.
[+] Another sound emulation algorithm with really exact sound (both AY and MIC). More sound options (AY Pitch, MIC On).
[+] Volume control in the status bar added (can be turned off in the Configuration).
[+] Custom Speed in percents added (from 48% to 10000%, actual top of speed depends on a host machine speed and current modes/effects selected). And now, Num[*] switches between last set Custom Speed (Alt+S) and 100% Speed (by default between 200% and 100% as earlier).
[-] Interface I and TR-DOS were not compatible in multicolor mode - fixed.
[-] Multicolor +3 timing fixed (tables were incorrectly initialized, could crash the emulator).
[-] Changes in port recognision: port 7FFD assumed if out XXFD and XX could not be treated as AY port (Eyeache2 demo).
[-] When ROM paths were reset in the Configuration, the emulator could not start properly. Fixed.

Version 2.4 Release 1.0 (18-Apr-2004):

[*] A lot of changes in AY sound emulation. Now it should be very close to real sound (very hope).
[-] Decoding ports fixed (sat.z80).
[+] In the Debugger, AY registers are added.

Version 2.4 Release 0.9 (17-Apr-2004):

[*] Better AY sound quality. More sound options.

[*] Some changes in the Debugger interface (select ROM page, IFF1/IFF2/IM panels placement changed).
[-] Compatibility Interface-I and TR-DOS provided.
[+] Keys Page Up and Page Down on 101/102 keys keyboard are assigned to emulated joystick buttons Up and Down too.
[+] ROMs now can be configured in Configuration dialog (path, offset in file for each kind of ROM).
[-] Some instructions (OUT (C),A, again :( ) compiled in the Assembler incorrectly. Fixed.
[+] In the Assembler, Jump Back in History button added (a history of positions before Find, Find Again and Find Label via Double Click commands).
[*] In the Assembler, operation Find Label via Double Click improved and now allows fast jumping to an address in a text obtained using disassembler with an option 'Code in Comments'.
[+] While disassembling, an option added 'Call/Jump References', which adds comments with references to given address from another ones (e.g.: ; CALL from addr1, addr2, ... ; JP from ...)
[-] In the Map Builder, manual dragging frames fixed.
[-] Resizing width in GFX Editor fixed (could lead to crash sometimes).
[-] Changing multicolor timing model on fly could sometimes crash the emulator, fixed.
[+] Two options are added for 256 Colors mode: DownMixPaper and UpMixPaper.

Version 2.4 Release 0.8 (7-Apr-2004):

[-] Instructions INIR/OTIR fixed.
[+] Interface-I Microdrive support added (8 slots).
[*] While loading TR-DOS files from the main menu File|Open item, it is now possible to define which drive to use to load to (A:..D:) as well as while loading .MDR file which slot to use to load to (Slot 1..Slot 8).
[-] Small fix in 256 Colors start converting Wizard: initially GFX Nullify function did not work.
[+] A capability added to discard entire GFX memory and turn off 256 Colors mode emulating at all from GFX Nullify dialog (in GFX editor).
[+] More options to adjust horizontal grid lines in GFX Editor (it is possible now to anchor it to a certain line and it scroll in such case together with vertical scroll of pixels).

Version 2.4 Release 0.7 (5-Apr-2004):

[-] Reсognizing AY presence fixed in some games/demos (AY input port recornision changed to allow other ports then FFFDh).
[*] All the dialogs last used directory saved now in the registry, not open file dialog only.
[-] Reloading from ZIP-archive fixed after loading another file.
[+] Optional grid added to GFX Editor.
[*] In the Assembler, leading '$' character allowed to define hexadecimal numbers and also leading '%' character (like in TASM - Telemark table-driven Assembler). These both are optional and can be turned off in Assembler Options (new) dialog.

Version 2.4 Release 0.6 (3-Apr-2004):

[+] Reading GFX files for 256 Colors mode directly from ZIP archive provided.
[*] A rule changed in the Assembler to define if a number is binary: 00101.B (a dot necessary, since B could be treated as a hexadecimal digit). Also, trailing .O added to define octal numbers and trailing .H or .D can be freely used for decimals and hexadecimals (though earlier rules still works for these two).
[-] In the GFX Editor, Fill and Magic Tool did not work in a backward direction mode selected. Fixed.
[*] In the GFX Editor, Fill and Magic Tool now fill on base of usual memory content if View GFX turned off and View Usual &Memory (16 colors) turned on only.
[+] In the GFX Editor, additional mode implemented: View All/Even/Odd Bytes. It is intended to colorizy easy games having sprites with mask stored near the sparite itself (in each odd byte e.g.)
[+] GFX Sprite Finder special window added.

Version 2.4 Release 0.5 (1-Apr-2004):

[+] Kempston Mouse, AMX Mouse and AY Mouse support added.
[+] GigaScreen effect support added.
[+] A small wizard added to start new 256 Colors project when a switch to 256 Colors mode selected for usual game.
[*] Maximizing now controlled in Proportional Resize mode to maximize staying proportional. Proportional Resize made default mode for a first launch of the emulator.
[*] Now Assembler understands binary numbers (e.g. 00010110B). Also, a directive FILE added to include external binary file. And, to allow defining where to search included files, a button Search Directories added to a toolbar.
[-] While loading 48K snapshots, video bank was never reset, so just after working in 128K mode it was possible that 48K snapshots stopped working (nothing was seen on screen). Fixed.
[+] A utility Bmp2RawBk256 added (in the additional archive), which allows to convert bitmaps to 256 Colors background file .bNN.

Version 2.4 Release 0.4 (27-Mar-2004):

[+] GFX Colors Replace/Exchange operation added in the GFX Editor.
[-] The instruction SLA (HL) fixed again :(.
[+] Fast go to label on double click on its reference in the Assembler added.
[+] Saving assembler text provided in EZX format as documented.
[+] A menu item Tools|LensLok added. It is enabled if the LensLok.exe found in startup directory, and just launches this utility.
[-] Letter 'Y' was drawn twice on the Keyboard, whereas 'I' was absent at all. Fixed.
[-] Just after switching to non-DirectX full screen mode spectrum screen could be not accurate centered over screen - fixed.
[+] A plugin interface and main menu items Record and Save Sound As and Stop Recording Sound/Video added to provide saving sound using external plugins. Also a plugin interface added which allows to play AY sound via external plugin, and correspondent changes made in the Configuration, where it is possible to select one of such plugins to output music.

Version 2.4 Release 0.3 (26-Mar-2004):

[*] Small changes in some instructions implementation in 256 Colors mode (for Three Weeks in Paradise).
[-] Arrows and other control keys pressing fixed in the Assembler window (there were problems when GFX Editor is shown).
[-] Working with Map Builder and saving its content fixed, while a game is in 256 Colors mode.
[*] Selection area changes now also are subjust to Undo/Redo in the GFX Editor.
[-] Magic Tool working fixed in the GFX Editor: it was filling selected area like Fill tool, though should not.

Version 2.4 Release 0.2 (25-Mar-2004):

[*] Small changes in some instructions implementation in 256 Colors mode (for Dizzy). Options Up/DownMixChangeBright changed from boolean to percents. An option OrderPaletteSignedBytes added to allow treating palette indeces ordered as signed integers from -128 to 127 rather then unsigned ones from 0 to 255 while comparing it in Leveled XOR/OR/AND operations.
[+] Fast trace mode added (checkbox update each 100 steps) in the Debugger Trace operation.
[-] Rare situation fixed: when playing in 256 Colors mode, after cancelling Open dialog it was not possible to continue playing in 256 Colors.
[+] Flashed attributes are taken into consideration in 256 Colors mode (now start menu in those 256 Color games which use it, work with flash).

Version 2.4 Release 0.1 (24-Mar-2004):

[+] 256 color games partial support added (MMX required). Now, those games can be loaded as usual SNA-files, and if so-named GFX-file is present in the folder, the emulator is switching to 256-colors mode automatically. Such games can be downloaded at: http://www.emulatronia.com/emusdaqui/spec256/download-eng.htm
[+] GFX Editor window, GFX Memory and GFX Registers panes added in the Debugger (can be shown via popup menu on main disassembly window). With GFX Editor, any (almost any, yes: games with vector grathics are not) can be made 256-color.

[+] File associations tab added to the Configuration. EZX files are associated ALWAYS as earlier, and a check made each time when the EmuZWin is started if this association is OK. Hobeta files (*.$B, *.$C) and all the other file types available to load via plugins are added to the list of files available for association always (but are not associated by default).
[*] Application icon changed :-)
[*] Toolbar icon click works now on left mouse button up rather then down (otherwise, left click was accepted also by another tray icon at that place).
[*] Main toolbar button Configuration made visible by default (initially).
[+] Autosave on exit / autoload autosaved on startup option added (turned on by default). Also, an option Start paused when autoloaded on startup added (turned off by default).
[+] Priority|High option added.
[+] One more new tape loading signature added.

Version 2.3 Release 1.99 (15-Mar-2004):

Fixes:
[-] Configuring toolbar buttons Disk Browser, Play/Stop Tape fixed.
[-] In the emulator, instruction SLA (HL) fixed.
[-] In the assembler, hexadecimals not starting with 0 but finishing 'H' are always treated as hexadecimal numbers (e.g. D000H).
[-] Problems are fixed with resizing to a size smaller then 256x192 (in Multicolor On mode,the emulator was crashed).
[-] Loading some TZX files fixed (those were loaded correctly in version 2.1, but in version 2.2 a parameter DoublePilot was stopped to pass to a plugin normally). And loading of some other TZX files which were not loaded at all fixed (La Abadia del Crimen).
[-] Extracting some files having long names or containing spaces from ZIP archives using PKUNZIP fixed. See also about new PkUnZip.dll plugin below.
[-] Pressing Shift+letter without releasing Shift key was a problem, fixed. Releasing numpad key while emulating joystick fixed (one released key could release other yet pressed).
[-] Applying multicolor timing settings when a file is opened, fixed. Settings for Pentagon multicolor timing are corrected.

Changes:
[*] ESCAPE pauses the emulator if it is not yet paused, and minimizes it to tray if it is already paused. So to minimize to tray, press ESCAPE twice.
[*] Status bar visibility is stored in the registry and restored in the next session from the last one.
[*] Cursor changed now to specially shaped on a position where it is possible to set / remove a breakpoint in the Debugger and Tape Browser, and when click will lead to change view memory address (Ctrl-click at the address in the disassembled code, click on a registry).
[+] FullScreen without DirectX mode added. In the Configuration, uncheck a box "Use DirectX in Fill-Screen", and going to full screen and back to normal windowed mode becomes extremely fast. This mode is recommended on fast machines and also if there are some problems using Direct-X in the EmuzWin on your PC.
[*] For DirectSound, smaller buffer used to produce sound. Sound for 50% and 200% speed made more crefully.
[*] Display magnification can be increased up to 4:1 using Alt+Num[+].
[*] On start, size and position is restored to the last known when the window was in normal state (not full screen and not maximized).
[*] Reporting new unknown tape loading signature procedure works more carefully to decide if this actually is a tape loading code or something else, before suggesting to send a e-mail with new unknown tape loading procedure. 2 new loading signatures are added to a list of known signatures.
[*] While loading tape, time stamper now does not work saving state each 2 seconds.
[*] EZX format now compressed using great DIUCL library (by Ralf Junker), which uses the same compression which is used in popular executables compressor UPX. Old saves are read with no problem, and it is possible to turn compression off for saving new EZX too.
[+] PkUnZip.dll plugin provided which allows to extract files from Zip archives more correct then using old pkunzip.exe utility. If this plugin is found in the emulator directory, it is used always, so no more necessary to provide a path to pkunzip.exe or download it from somewhere.
[*] Keyboard is redrawn.
[*] Stay On Top Transparent menu item moved to Effects.

Version 2.3 Release 1.7 (3-Mar-2004): Fixes:

[-] Urgent: Multicolor fixed.
[-] /PAUSED command line option fixed.

Version 2.3 Release 1.6 (2-Mar-2004): Fixes:

[*] Right mouse click on tray icon when the Emulator is minimized to tray, pops up a menu now (with Exit and Restore items) rather then just restore the program from the tray.
[*] All pressed keys are unpressed when time 2 seconds back or time 2 seconds forward command applied.
[*] When ENTER pressed in paused state, this also resumes the emulation.
[-] Main window caption assigning fixed when e.g. state was reloaded from drop-down menu.
[-] Loading Pokes fixed for games loaded from tapes or ZIP-archives.
[-] TR-DOS fixed: now index impulse generated periodically, so Speccy programs which use it to detect disk presence, should work. Loading another TR-DOS disk image (TRD, SCL, Set of Hobeta files) from the main menu/toolbar fixed. Fast Disk mode loading fixed, so DCU program detects disk normally in Fast Disk Mode. Disk works now much faster in Fast Disk mode when the Disk Browser is shown. Restoring the Disk Browser window position from the last session fixed. Selecting disk typing disk letter in a unit selection combo box now possible, all other char input is ignored in this field.
[-] Program crash was possible on exit, when Disk Browser was shown. Fixed.
[-] When "48 BASIC" menu item was selected in the Spectrum menu, following Reset were to 48 Basic again. Fixed.
[*] When Reset, ROM image does not restored now, so if you changed it (by assembling or manual editing), it is preserved. But if one of the items New|Spectrum128 / New|Spectrum48 / New|Custom ROM selected from the menu, the ROM is reloaded to selected one.
[-] In the Assembler, OUTI instruction fixed.Duplicating system labels fixed.
[*] In the Disassembler, symbol '-' replaced with '_' in system labels. A capability to switch on/off system and/or user labels added while selecting disassembling options.
[+] In the main toolbar, buttons added: Debugger and Multicolor (invisible initially).

Version 2.3 Release 1.5 (28-Feb-2004): Some small improvements:

[+] The TAB key can be used as the FIRE button for joystick, together with numpad keyboard keys as earlier.
[*] LoadSNA plugin now sets ROM page to ROM48 bank when 48K state is loaded (no needs to switch to 48K mode manually).
[+] A capability added to Disassemble a range of memory as code or data block (DEFB, DEFW or DEFB with ASCII strings) and to store result as text (resulting text is inserted into the Assembler listing and then can be saved, copied, etc.) Also, the Assembler is improved a bit to allow compiling text from the disassemble directly without changes (e.g., the second argument in brackets treated as a comment always, so INC (IX+40H,2357H) can be compiled normally as INC (IX+40H) ). And, the Assembler works much faster now. Also, a service command added (drop-down toolbar button) to set PC in the emulator/debugger to one of ORGed addresses.
[-] Some bugs are fixed in the Assembler (instructions OUT (C),A; INC/DEC (IX/IY+offset); LD IX/IY,word were not understanded/compiled correctly).
[+] A capability added to edit ROM directly or while assembling (a button Allow Edit ROM added in the debugger, and a question asked to switch this mode on while assembling).
[+] Time Stamper added. When it is turned on (File|Time Back|Time History Enabled, enabled by default), with one of key combinations from ALT+< / Alt+>, Alt+LEFT / Alt+RIGHT, Alt+NUM4 / Alt+NUM6 (the last two when numlock is on) or with correspondent toolbar buttons it is possible to shift time 2 seconds back/forward (a lot of time stamps to go back in time can be available, from several minutes to several hours in deep, depending on a certain game). This feature requires up to 40Mbytes of free space on your hard disk for temporary files, if enabled.
[*] Now screen redrawn immediately in multicolor mode too, when a state loaded in "paused" emulator.
[*] Icons in menu now resized to smaller size to fit place available.
[*] Main toolbar now is configurable: it is possible to define which buttons to show. Additional buttons added to the toolbar: Reset, Disk Browser, Full Screen, Configuration (by default, these four hidden), and also Time 2 seconds Back and Time 2 seconds Forward.
[*] Display size is changed now with Alt+Num[+]/Alt+Num[-], rather then just Num[+]/Num[-] as earlier.

Version 2.3 Release 1.3 (15-Feb-2004): Some bug fixes:

[-] In main window, View|Toolbar did not work
[-] Z80 load and save plugin fixed. Save did not work correctly at all (PC was written at place where SP should be stored, some bugs in compression algorithm implementation were found). Load fixed especially for case of loading 48K games in 128K mode.
[-] Bug fixed in Load Memory Block dialog (called from the Debugger): when [<>] button was pressed to find first difference, and blocks were identical, the emulator were getting caught in an endless loop.
[-] Some problems fixed with loading states having some dirty data in advanced fields (such as "tacts from the last int" in Z80).

Version 2.3 Release 1.1 Beta (8-Dec-2003): Multicolor support added (contended memory and ports, exact byte-aligned video output of the screen and the border, snow effect emulation, IN FF emulation, switching timing model between 48, 128, 128+2, 128+2A/+3, Pentagon and Custom on fly, adjusting timing configuration, saving/restoring it in EZX save format). Save screenshot capability added (File|Save screenshot, or F5). Map Builder added.
Here is a history of Alpha builds of the version 2.3:
1.0.B - storing MC settings in EZX format implemented, new chunk type 'MULT' added to the EZX format.
1.0.A - save screen shot (F5) added (plugins extendable). Load from ZIP using PKUNZIP fixed. Open recent list (up to 9 files) added. Crash on exit fixed (seems). Reanimate option added (by suggestion of Alex Medvedev).
1.0.9 - crash fixed (when debugger is closed and emulator works in MC). Snow effect controlled by the config now (and by default it is off for +2A/+3/Pentagon). Port recognision works now better (LD A,XX; OUT (FD) now works in most cases correctly).
1.0.8 - Loading TZX fixed in MC. Sealing of some ZX keys pressed with SHIFT+correspondent PC key (",:,+,<,>,{,},|) fixed. Open by F3 fixed for full-screen mode (now slow but mostly correct). IN FF for MC implemented. Bug Z80 with LD A,R / LD A,I (when IntSignal ON, but except after EI) - implemented (for MC). Also, snow effect (bug in ULA) implemented, now for for all Timing models including +2A/+3 (later will be configurable and by default off for +2A/+3).
1.0.7 - DirectX output (full screen mode), configs are reworked. Status bar added (leds in full screen) with speed % and FPS.
1.0.6 - fixed TR-DOS off with multicolor
1.0.5 - first (ugly) configuration for MC, View | Effects | Flip Vertical
1.0.4 - optimized MC for +2A/+3, some configurations added, Show Border Only (in the Debugger)
1.0.3 - optimized MC for 48, 128, +2
1.0.2 - menu settings for MC
1.0.1 - dirty multicolor (MC) mode

Version 2.2 Release 1.0 (3-Nov-2003):
[+]TR-DOS support added. Formats supported are TRD, SCL, Hobeta (.$?). Direct loading certain HoBeta-file (or file, selected in Disk Browser, ALT+D), Magic Button (ALT+M), boot from the disk A: (ALT+B). The Disk Browser has a set of utilities to work with TR-DOS-disks (creation, loading, saving disks; deleting and renaming files; squeeze; saving selecting files in HoBeta-format, adding HoBeta-files to the disk, including using drag'n'drop from the explorer). The EZX format is extended (chunks чунки DISK, BETA, PRVW are added), and interface with plugins is extended (compatibility is preserved with the existing).

[+]Some small changes in the interface. File|New|Spectrum48K now locks the emulator in emulating 48K machine only, until File|New|Spectrum128K or Custom ROM image, containing 128K ROM image. Double click with right mouse button does not switches to full screen mode, only double click with left mouse button (right mouse button is used to pause/resume emulation only). Configurations window can be called separately from the main menu or by key combination Alt+C. In the Debugger, disassembled code can be now scrolled with the mouse wheel or with the scroll thumb as usual. Tooltips in the Debugger's top toolbar can be turned off (right click in the toolbar). In the Open Dialog a button added to go up to the parent folder. Some icons are changed on toolbars.

[-]Serios corrections in the built-in Assembler (a lot of instructions were compiled incorrectly).

[+]A list of all available instructions is available now in Assembler window. Labels list is available in a separate window. User labels are shown in the debugger (which also became better).
[-]A lot of small fixes in the emulation. Debugger problem with F7/F8 keys (when pressed often) seems fixed.

V2.1 Release 8.0 (21-Sep-2003): Assembler fixed again.

V2.1 Release 7.0 (13-Sep-2003): Assembler fixed.

V2.1 Release 6.0 (17-July-2003): Assembler window added.

V2.1 Release 5.0 (15-Jun-2003): Some fixes and improvements in Debugger:
[+] Search by text, including case insensitive, added.
[-] Crash fixed when search window closed without setting any search pattern.
[-] Ctrl+F and other keys now work correctly in the Debugger.

V2.1 Release 4.0 (27-May-2003): Some small improvements:
[+] In windowed mode, main display can be easy dragged over desktop using left mouse button on the main display.
[*] For slow machines (detected as 386, 486 or Pentium, below then Pentium II or Pertium Pro) exact sound synchronization is turned off. A command line option /FAST added to ignore slow machine detection (all machines are treated as fast, since the sound synchronization is always on).
[+] Application priority can be changed between Normal/Above Normal using menu (useful to hear non-interraptable music in the background while a processor is very busy with other tasks).
[=] Going to full-screen mode when the main window is maximized and returning back to windowed mode fixed (if it was maximized, it restored first).
[-] Scrolling fixed in keyboard remapping (Configuration dialog).
[-] Direct Sound and Joysticks initialization begin now when main window is shown already. This makes startup faster a bit.
[=] Dropping ZIP-files on the main form fixed.

V2.1 Release 3.0 (27-May-2003): Tape loader improved: Flash load added, Auto Play/Stop tape option added. When Tape Catalog is visible, this does not prevent tape from fast loading as earlier. Append tape fixed and improvied (a little bit: -------- line added before block appended). SNA format handling changed a bit: when 48K sna loaded, last value popped from the stack, replaced there by 0000; when 48K state is saved and SP < 4002, 128K sna format forced. Pokes form fixed (bad scroll, bad images).

V2.1 Release 2.0 (26-May-2003): TZX loader improved, thanks to Alexander Medvedev for a bug report. Z80 loader fixed, thanks to Mark Woodmass for a bug report on it. About window and header both show version 2.1 now as it should. Some fixes and small improvements in debugger.

V2.1 Release 1.0 (24-May-2003): Full-screen mode added, with Direct-X used. (Alt+Enter, or double click on the main window). Right mouse click on the main window can be used to pause/resume the emulator. In full screen, menu and toolbar are not available, but all shortcut key combinations are still functioning. Opening any other window switches mode from full screen to normal one. Num[ + ] and Num[ - ] are used in full-screen mode to change scale for full-screen only. Options added: Interlaced in Full Screen (Alt+I) and Normal Refresh Rate in Full Screen (default true).
Real PC Joysticks support added. It is possible to use one or two joysticks (in latter case assigned to Kempston / Sinclair-I / Sinclair-II / Fuller Box / Cursor). Both joysticks can be remapped to ZX keys as usual, using Remapping Keys feature. Before using it, joystick(s) should be turned on (via Alt+J, or menu, or Configuration dialog).

V2.0 Final release F1.5 (20-May-2003): Sound buffer made larger, so sound becomes more stable when PC is busy with other tasks, or window is resized or moved over desktop.

V2.0 Final release F1.4 (19-May-2003): Append tape operation was broken, fixed. After stopping tape Play button was not enabled in some cases, fixed. Now it is possible to set break points on tape block load using mouse left click at the icon area. Long loading process (TZX can be cancelled now).
Pokes were not loaded from ZIP, fixed.
More safe: now toolbar and main menu are not available while decoding file selected to open (this are enabled again when tape load process started or snap-file is loaded). Also, PC keyboard is ignored while entering ZX key via keyboard window shown modal in Key remapping dialog.
More convenient: when Preview is on in the Open dialog, smiling face icon is shown in top-right corner indicating that POKes are available for a file (if any).

V2.0 Final release F1.3 (18-May-2003): Fast LDIR/LDDR/CPIR/CPDR emulation added (true by defaut, can be turned off for a certain game or by default, though it does not affect emulation accuracy at all).
Video output optimized more, and own stretching procedure used, which speeds up stretched output.
Pressing ALT resumed the emulator, fixed. Now any key press when keyboard window focused, pass focus to the main window in Keyboard Transparent mode.
Restoring main window position to (0,0) did not occur, fixed. Also if the main emulator window positioned above desktop for less then 30 pixels, it does not repositioned to the top on start.
When EZX was loading from ZIP, pokes and key and color remappings were not loaded from EZX itself, fixed.
Some small enchancements in the interface (own semi-transparent cursor over main window, collecting current folder and storing it in the registry when Open Dialog closed, Small Keyboard window mode).

V2.0 Final release F1.25 (15-May-2003): Slow video output under Windows 98 (when size was not 1x1) fixed.

V2.0 Final release F1.2 (15-May-2003): A bug with application crash on termination if another speed was used then 100% and another refresh rate was used then 50 frames/second, fixed. A bug with application failure if while working with configuration dialog (key remapping) a key was pressed, which might resume the emulation, so auto-resuming now is disabled while configuration window is visible.
Small improvement: emulation speed can be switched between 50% and 800% using Alt+Num[ * ], in addition to Num[ * ] used as earlier to switch between 100% and 200%. Small change: now toolbar button with "flare" sign is hold checked down when any speed selected greater then 100%.
Video output is much smoother now for case when display size is other then 1x1 or 2x2. Also, an option Proportional Size added (available via menu View|Proportional Size).

V2.0 Final release F1.1 (13-May-2003): Removing keyboard remappings (specifying empty values for PC key and for both ZX keys) was leading to crash, fixed. Loading POK-file when tape was not loading yet was lead to crash, fixed. Pressing keys 'P', 'O', 'K', 'T' was not leading to resume from paused state, fixed. Path to root folder accessed last in Open Dialog was not used as default on restart the emulator, fixed. Keyboard settings Transparent and Stay On Top were not restored perfectly on restart, fixed.
Note about "final" word. This means mainly that new features or serious changes are not planned, but bugs will be fixed as soon as possible.

V2.0 Final release F1 (11-May-2003): ZIP file support provided (pkunzip.exe used, not in the distributive).
Association with EZX-files added (done automatically when the emulator started each time).
Now EZX is loaded exactly in the same state as it was saved, e.g., it is possible now to continue loading tape if a state was saved while loading from the tape.
Tokens in block names are partially supported in Tape Browser window.
If Open Dialog is called while loading from tape, previewing screens of other snapshots does not clear tape content now, so if the Open Dilog cancelled, tape loading can be continued.
Position and size of Tape Catalog, Open Dialog, and position of Game Configuration windows also stored in the registry. Folders, selected in Open Dialog using Browse key or entered manually also stored in registry (maximum 10).
On Escape, the emulator now minimized to tray without animation (fast).
Key PAUSE also pauses now the application (but it is ignored to resume it).
Main window can not be increased now to triple size using key Num[ + ], if current desktop less then 768 pixels in height.
A lot of other small changes.

Beta release B10 (8-May-2003): Colors mapping added. Key mapping improved (loop, fixed, auto-up implemented, enter key name by pressing it added). Some bugs with pokes fixed. Some improvements for Debugger (e.g. code disassembled immediately when RAM or ROM bank changed manually). Small fix in Open dialog: preview now always refreshed if the dialog opened again.
Most impotant settings are stored now in the registry.

Beta release B9 (7-May-2003): Key mapping added. It is now possible to redefine keys for a game on the emulator level, and even define fixed, auto-up or looping keys. Keyboard layout window inmproved: now it can be "on top" of main form, transparent (in Win2K or XP), and drawing faster. EZX format changed a bit (chunk 'KEYS'), but this does not effect already saved states.

Beta release B8 (5-May-2003): Display refresh rate options added (accessible by menu): Max(50 frames/emulated sec), Normal (50 frames/real sec), Slower (25 frames/real sec), Rare (10 frames/real sec). With Slower refresh rate emulation is faster on slow machines. Sinclair II turned now off automatically whenever reading from port 1F (Kempston) detected.
Keyboard layout window positioning changed to fit desktop and to place near the main form when shown.
Pokes (.pok-files) support added, with automatic iconization (!).
Append of tape image fixed.
B8.a: Menu command File|Open Pokes... added. In the EZX, pokes are stored internally and loaded together with the file.
Crash on close fixed.

Beta release B7 (3-May-2003): Toolbar added, with tape loading progress bar. Tape loader now always starts from typing LOAD "" in 48K Basic automatically, rather then from 128K tape loader. Sound now synchronized more accurately (less or no artefacts while playing with 100%, 50% or 200% speed). Key option /NoMMTimer added to disable exact synchronization (worst). Some fixes in sound (both AY and MIC), tape loading, port recognition, interface, Z80 emulation. EZX format changed to provide later capability to load exact tape loading state, signature changed to prevent loading earlier saved EZX-files. You will need earlier version of EmuZWin to load older EZX files!

Beta release B6 (30-Apr-2003): AY sound improved a lot. Simplified port selection scheme added, it is turned on automatically when first time attempt to access incorrect port detected. Int generating fixed. Z80 format loader fixed (3.0 for case when it contins non-compressed memory banks) and saving to Z80 format added.

Beta release B5 (29-Apr-2003): Automated report tool added to provide me with feedback about finding unknowntape loader signatures. Drag files on the main window accepted. Some more fixes in sound.

Beta release B4 (28-Apr-2003): Fast tape load now is really FAST even for protected loaders (TZX). Automated report tool added to provide me with feedback about finding unknown loader signatures. Some fixes in sound. Command-line options added: /Sound8 and /SoundExclusive.

Beta release B3 (27-Apr-2003): Fixes in: AY sound emulation, OUTD/OTDR/OUTI/OTIR instructions, some interface improvements, a bit faster tape loading.

Beta release B2 (25-Apr-2003): SpeedLock1 and 2 loading fixed (TZX). IN FF implemented (required by some games for synchronization). AY sound emulation added.

Beta release B1 (22-Apr-2003): Video output optimized for 32bit and 24bit display color depth too (earlier versions worked good only with color depth 16bit).

pre-beta pre-release 10 (21-Apr-2003): Fixes to yesterday fixes, all (I hope) TZX files loaded normally.

pre-beta pre-release 9 (20-Apr-2003): Some more fixes, mainly in TZX format loading (but not yet completed).

pre-beta pre-release 8 (19-Apr-2003): Command line option /ROM= and File menu item File/New/Custom ROM Image added to simplify another ROM selection. Option /9x allows to select emulation mode the same as under Windows 9x (this affects memory usage and emulation algorithm). Option /PAUSED allows to start emulator initially paused. Some improvements of Debugger, some fixes in command emulation (flags, T-states). But speedlock-protected TZX-files still could not be loaded.

pre-beta pre-release 7 (16-Apr-2003): Emulating RLD/RRD instructions fixed, tact length for instructions having (IX+offset), (IY+offset) fixed. MIC sound become better since this change (I hope).
7.1: DAA instruction fixed.

pre-beta pre-release 6 (16-Apr-2003): Loading from TAP and partially from TZX fixed. Saving SNA under 9x/ME/XP fiixed. Debugger under 9x/ME/XP fixed (could not reset breakpoints, and those did not work). Key combination ALT+K added to call keyboard.

http://kol.thaddy.co.uk

mailto: bonanzas @ online.sinor.ru