(С) by Vladimir Kladov, 2003-2004
I represent my ZX-Spectrum 128 and 48 emulator for Windows 95/98/ME/NT/2K/XP.
Still now, it is always possible to download most fresh version via following link: http://bonanzas.rinet.ru/EmuZWin.zip .Size of the archive is 533K. Additionally, it is possible to download archive, containing plugin sources, documentation on plugins creation etc. at: http://bonanzas.rinet.ru/zx/EmuZWin_Addons.zip
If you wish, you can download previous versions too:
v2.0: http://bonanzas.rinet.ru/EmuZWin20.zip
265K
v2.1: http://bonanzas.rinet.ru/EmuZWin21.zip
286K
v2.2: http://bonanzas.rinet.ru/EmuZWin22.zip
349K
v2.3: http://bonanzas.rinet.ru/EmuZWin23.zip
463K
At this time EmuZWin is one of the fastest and correct among other windowed emulators. It emulates Spectrum-128K/48K, TR-DOS (mostly), supports most popular snap-formats (SNA, Z80), TR-DOS formats (TRD, SCL, Hobeta), loading from the most popular tape formats (TAP, TZX and other), saving screenshots (SCR, BMP, PNG) and this list can be extended writing plugins. There is very convenient feature in the EmuZWin: reprogramming keyboard (it is possible to define which Spectrum keys are pressed by certain PC keys). The EmuZWin also has very power built-in debugger/disassembler and also built-in assembler too.
In version 2.3, MULTICOLOR support added for Spectrum48, 128, 128+2, 128+2A/+3 and Pentagon. Also, custom timing models can be adjusted, and timing model can be changed on fly. In the multicolor mode, EmuZWin works fast as well in non-multicolor mode.
In version 2.4, Support for 256 colors games added. All existing games (12) from the Web-site http://www.emulatronia.com/emusdaqui/spec256/index-eng.htm are supported, and some additional modes provided to allow GFX-ing other games. A power GFX-editor embedded which allows to turn almost any sprite-made game to 256-colors one.
PC Speaker can be used for sound output only under Windows9x/ME, and sound quality in such case is absolutely disgust (but still sufficient to recognize puck-puck in most games). By default DirectX used, and AY sound is emulated only throught DirectX, with normal quality.
Video output in window mode uses GUI only, Direct-X used only in full-screen mode (and it is possible to use full-screen without Direct-X too). Under Windows98 the EmuZWin runs on Pentium100MHz in a window with speed about 70-100% in comparison to speed of original Spectrum, and in full screen mode with 100-200% speed (and it is possible to change refresh rate to 25 frames/sec or to 10 frames/sec to make emulation even faster).
Kempston Joystick, Sinclair I (only with real joystick), Sinclair II
and Fuller Box joysticks - both real
and emulated on the num pad of the PC keyboard (work when Num Lock is
turned on). Additionally drawn keyboard can
help to enter Basic commands. Also it allows to fix some keys pressed down while playing
game (right mouse click on a key). Also, this keyboard can be useful while reprogramming keyboard for a game.
Pokes are loaded automatically from pok-file, named exactly as Spectrum file loaded, but with extension .pok. This file can be located anywhere in the directory where loaded file is from, or in any nested subdirectory (all subdirectories are listed recursively), or in ZIP-archive. Icons for trainers are assigned automatically when possible. If pokes are available after loading the state, a "smile" icon is appear on the toolbar (it is hidden if a tape is still reading), and opening pokes window at that time does not allow applying pokes anyway. It is possible to load external pok-file (File|Open Pokes...). In EZX format, pokes are stored in the EZX-file itself.
In version 2.3, MAP BUILDER added, which
allows to... build maps :). Hope, this feature will be useful for adventure/quest games.
Working with the most formats (load and save snap-formats, load tape formats, load and save disk images) implemented via plugins, and the own format EZX supported natively, without plugins. Plugins should be located in the directory, where the application itself is placed. Documentation on writing plugins published, and if you wish, you can write your own plugins.
Also, plugins can be added for saving screenshot (File|Save screenshot, or F5) in different graphic formats. At least, plugins to save screenshot in SCR, BMP and PNG formats are provided in the distributive.
The default ROM image file Spectrum.rom, containing ROM 32K or 16K, must be located in
the directory where the application is placed too. If its size is greater than 16K, then
the first 16K are S128 ROM, and the second 16K are S48 ROM. Using command line option /ROM=path or selecting menu item File/New/Custom ROM
Image, it is possible to select another ROM
image.
TR-DOS ROM image should be located in TRDOS.ROM file, size is 16K, also in the directory
where the application is installed.
The embedded power step-by-step and trace visual DEBUGGER can be used for different purposes. For me, it is useful to debug the emulator itself. Also, built-in assembler is there, now very correct and sufficiently power.
There were not planned in 2.1, but possibly in 2.2/2.3/2.4:
What were not planned in version 2.0 of the emulator:
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.
mailto: bonanzas@online.sinor.ru
See also other my ZX-Spectrum 128K/48K emulators for DOS:
EMUZ, 1995. Written in C--. Source found recently (2003) and published too.
Z.com, 2003, written in assembler. Minimal by size (6K) but exact emulator (and playable) Spectrum-128K and 48K emulator. Published with source code.