FEATURES OF WARAJEVO |
As you can expect, every
program, including Warajevo, has own good features
and, of course, bad features. We will try to be
objective so we will deccribe the both classes of features...
GOOD FEATURES |
It is free and open source, (ignore what is written in documentation).
Works on DOS, but can work quite fine under Windows 95.
Emulates ZX Spectrum 48K, 128K, ZX Spectrum +2 and Timex Sinclair 2068.
Hardware requirements are minimal: works even on 286, with Hercules, CGA, EGA or VGA card, and without sound cards. Of course, Sound Blaster and VGA are needed for perfect sound and video emulation.
Can be stored and executed directly from a CD ROM.
Has a modular structure, so user can select minimal configuration which may be used even with a floppy disc.
Very good emulation of Z80 processor and other hardware, which leads to nearly perfect compatibility with real ZX Spectrum. R register, all unofficial instruction codes, and most of unofficial behavior of flags are emulated.
Warajevo is real-time emulator: execution speed is independent of speed of the machine on which the emulator is running. Each instruction execute in a time proportional to the time taken on a real Z80. Also, execution speed may be changed if some user like it.
Does not need any DOS extenders like DOS4GW, EMM386, etc.
Has very powerful Windows-like environment, with a lot of options, which can work in both graphic and text mode. Nearly all options can be set using simple menu commands and dialogs. The environment supports mouse.
Supports nearly all of avaliable ZX Spectrum file formats: Z80, Lunter's TAP, Warajevo TAP, BLK, SPC, LTP, TZX, Museum ZXS, ZX32 ZXS, ZXT, VOC, SLT, SNA 48, SNA 128, VgaSpec SP, SP, PRG, SEM, SIT, SNP, SCR, MDR and DCK.
Spectrum programs can be loaded and started in Windows95-like style, using Warajevo Start button, or by double clicking on a Spectrum file.
Supports conversions from Warajevo native formats (Z80, TAP, MDR) to nearly all avaliable formats.
Warajevo is compatibile with standard Lunter's TAP file format, but also has own much improved TAP format.
The tape emulation, using TAP files, is realized using a very flexible method. Warajevo can load from TAP files (even from Lunter TAP files) a lot of programs that load themselves using non-standard methods (e.g. the running screen, quick loading, etc.). The advantage is that games that load the levels from the tape using non-standard routines work.
The tapes (TAP files) can be in a compressed format, and then occupy about 40-70% less space on disc. The emulator supports the automatic loading and running of programs which are located in an arbitrary place on the TAP file. No other emulators support such features.
Warajevo can start Spectrum programs from ZIP archives.
Has real tape support: loads both normal and turbo-saved programs using either tape interface on LPT port, SoundBlaster card or VOC sound sample files. Saving back to real tape is also possible, using LPT port interface. This is also possible in Lunter's Z80 emulator, but unlike it, Warajevo allows picture generation during loading, even with non-standard loaders!
Warajevo package includes the communication program for ZX Spectrum 128 which allows transfer of long programs between real Spectrum 128 and PC using RS232.
Has options for tape copying, block deleting, moving and editing.
Warajevo can optionally load TZX files (in recent time very popular virtual tape format) much faster (by a factor of 4 or more) than loading into a real Spectrum, without any degradation in loading compatibility.
TZX loading may be customized (using 14 ON/OFF options), so user can choose between loading speed and loading compatibility.
Warajevo emulator has possibility of sampling a tone record from a real tape into a TAP file, regardless of the structure of the tone record and loading routine. In other words, Warajevo can transfer any program from real tape to a TAP file!
Has option for patching and editing Z80 snapshot files.
Can convert Z80 files and TrDos TRD files into TAP files.
Very good emulation of Spectrum screen, with user-definable color palette, and emulation of border and flash. Timing-sensitive border and multicolor attribute effects are also emulated. Many time-dependent demos (like Overscan demo) works correctly. Hardware requirements for multicolor emulations are much reduced compared to some other emulators, like X128.
Warajevo emulates undocumented bus-idle I/O port, which is needed in some Spectrum programs.
The emulation of Spectrum screen atributes can be switched off, which speed up the emulation on very slow video cards.
Warajevo emulates ZX Interface I and microdrives. The microdrive is emulated using MDR files which are slightly improved than in Lunter's Z80 emulator, and RS232 output is redirected to LPT 1 port. The emulation is implemented on I/O level (very good).
Warajevo 2.5. is the only emulator for DOS (such features has also XZX emulator) which implements correct operation of programs which need the old ZX Interface 1 ROM (like Trans Express, Easyuse Microdrive Utility etc.). Of course, programs which need the new ROM work too!
Has options for viewing, formating, optimizing cartridge files, viewing and editing sectors on the cartridge, and options for manipulating with individual logical files on the cartridge files (deleting, renaming, etc.).
Warajevo emulates ZX Printer, using Epson or HP LaserJet compatible printers.
Has not problems with Issue2/Issue3 particularities of the ZX Spectrum.
Has extremely clear emulation of Spectrum beeper through PC beeper (including polyphonic effects), even under MS Windows.
Out of all the emulators, only the Warajevo emulator achieves pseudo-3-channel AY sound on a PC beeper. Warajevo also goes one step further, it tries to emulate nearly all AY features including noise generation and digital sound using only a PC beeper!
AY chip emulation using AdLib and Sound Blaster cards is supported too. In opposite to some other emulators (like X128), Warajevo can produce digital sound, noise and speech effects with much reduced reduced hardware requirements on the computer.
Kempston joystick may be emulated using cursor keys, PC analogue joystick or mouse.
Allow external plug-ins for emulation of non-supported peripheral devices via external COM or EXE drivers (the method for making of them is described in the manual). Plug-ins for Kempston mouse emulation and emulation of Centronics printer interface are already avaliable.
As already mentioned above, Warajevo includes emulation of the American version of the Spectrum, the Timex Sinclair 2068, with practically all the features of this computer (extra video modes, sound, memory expansions etc.). Timex emulation is also implemented in the MultiMachine emulator by Paul Hodgson, but the Warajevo emulator needs much lower hardware requirements to work correctly.
Has a special DCK file format, which allows emulation of various RAM/ROM memory expansions which was avaliable for TS2068 (AROS, LROS and others).
At this moment, the Warajevo emulator is the only emulator which emulates the MIDI interface (on Spectrum 128), the Sinclair Network, and extended keyboard (KEYPAD) on ZX Spectrum 128 (all of these on I/O level).
A very high quality built-in machine-code monitor is included, which is fully transparent. It allows disassembling (with smart treatment of inline DB codes), single-steping, breakpoints, memory viewing and patching, viewing of XOR-protected programs without decrypting, block moving, searching, simple hex/dec calculations, program aborting, and logging output to an external file.
The built-in monitor also has some other things, designed for those who don't know about machine code programming (for example the screen dumping to the printer in different sizes) and some of them are very useful for making maps of games.
The user can manage their database of Spectrum programs (the name, the producer, the type, etc.). To every program you can add data about the tape where the program is located (or snapshot file when it's a program image), the position on the tape, the disc drive where the tape is placed, the programs parameters, etc. This allows very easy starting of Spectrum programs, using some simple commands.
Conversions from and to other ZX database programs (SGD, ZX Rainbow, SpecPic, SpecBase) are implemented.
Warajevo can convert PC ASCII files to formats of many Spectrum software: Sinclair BASIC, Hisoft Gens, Hisoft Pascal, Hisoft C, Tasword 2, Tasword 3, The Last Word, Machine Lightning Macro Assembler, Abersoft Forth and Sinclair Logo. The conversion in reverse direction is also possible.
Conversion from Spectrum screen files into standard black/white or color TIFF is supported.
Using the additional program ZXCOMP the Z80 snapshot files can, with some conditions, be converted to EXE programs which can be executed totally independently from the emulator, and they are not too much larger than the snapshot files themselves. This extremly powerful option is also a unique feature of the Warajevo emulator!
Allows patching of 80x86 code into snapshots, which is extremely useful in compiled snapshots. This feature can be turned off, to protect users of eventual 80x86 trojan horses masked into snapshot files.
Has the option which allows time-limited execution which is suitable for various batch testing.
Warajevo is well supported by some third party Spectrum related utilities, like SGD, ZX Rainbow, SpecBase, etc.
Warajevo has very detailed documentation, which presents even quite internal things related to the emulator. The documentation also contains the quick reference to Sinclair Basic.
Two-language documentation is supported: in English and Bosnian language.
The environment of the Warajevo has detailed topic-sensitive online help.
This emulator is freeware software, and all users will have all options available in the emulator!!!
BAD FEATURES |
The number of options is really huge, and many things may be done using several different methods, so it may be a bit confuse for an unexperienced user.
Some programs may cause crash when the emulator is running under Windows.
No disc interfaces are emulated, including very popular Disciple, Plus D and TrDos Betadisk interfaces.
No emulation of Russian Spectrum clones, like Pentagon and Scorpion.
No emulation of Multiface interfaces, like in some other emulators.
No emulation of ZX Spectrum +2A and +3 yet.
RAM paging in 128 version of the emulator is slow, so switching from level to level in some 128K games may be unacceptable slow (if too many switchings are performed in a short loop). This also sometimes disturb sound quality in Sound Blaster sampled AY emulation mode.
Emulation of the beeper cannot be redirected to Sound Blaster yet, which is possible, for example, in X128.
Emulation of the contended RAM memory which influence emulation of multicolor attribute effects are mainly heuristic (not exact like in ZX32), so sometimes multicolor programs need a parameter adjustment.
Even in multicolor emulation mode, a whole scan line on the border must have the same color, so effects which split border vertically (like MDA demo) will not work quite correctly. At the moment, only ZX32 emulates this correctly.
Full video emulation and emulation of Timex extended video modes need VGA card (is it really a bad feature today)?
Can not be executed in windowed mode under MS Windows, only in full screen mode, except if you force CGA video mode (it is really a bad feature today).
Screen aspect ratio is not quite perfect.
Raster effects based on interrupts on TS2068 which allow mixing of video modes on the same screen and more than two colors in 512x192 video mode are not supported. Fortunately, it seems that no software exist which use such effects.
Very undocumented Z80 features like bits 3 and 5 in F registers, and strange behaviour of some flags after some instructions are not always implemented exactly (however, we didn't found a program which does not work due to such features).
The built-in database program is limited up to about 4500 entries. This limitation may be reduced by switching off some features (like sorting, etc.).
Loading from TZX files creates a huge temporary file (1 Mb or more) due to lackage of free RAM.
Some features of TZX can not be implemented exactly, because TZX files are before loading converted into native Warajevo format, and native Warajevo format can not store infos about such features (Message blocks, Select blocks, Custom Info blocks etc.).
Conversion from the VOC format, and consequently loading from the VOC format, is slow.
The built-in monitor has not possibility of assembling, and it is not so user friendly as in some other emulators. Breakpoints in the monitor are not transparent (if the transparency is necessary, you must use single-stepping).
The AMX mouse emulation is not implemented, in opposite to Lunter's Z80 emulator.
The emulation of RS232 interface is not quite complete, in opposite to Lunter's Z80.
The native Warajevo TAP format is not very popular, regardless of obvious superiority in comparation with standard (Lunter's) TAP format.
The loading from a real tape using Sound Blaster is not very reliable. Unfortunately, this is feature of Sound Blaster, so it cannot be much improved.
A bit slow under Windows NT 3.51. Under NT 4.0 needs a switch /%200 for correct execution speed.
The sound emulation does not work under Windows NT, or works very poor.
Does not support ink-jet printers.
Working with analogue joystick can slow down the emulator, especially when the joystick reading is performed in a short loop.
The Sinclair network emulation is quite slow (but the Warajevo is only emulator which tries to implement this).
Keyboard matrix error effect is not implemented (fortunately, it is not useful effect).
Does not use EMS drivers (if present) to speed up 128K RAM paging.
Support conversions of screen files into TIFF, but does not support conversions into more common formats BMP and PCX, which is supported in some other emulators. Also, the picture can not be moved in a Windows clipboard.
Requires at least 386 on 33 MHz to running at full speed (is it a bad feature today when many users has 300 Mhz Pentiums)?
Requires a lot of free RAM under DOS, especially for 128K and Timex emulation, and can not use RAM extenders, so the start of the emulation may fail if too many drivers are loaded into the RAM.