
        XTender2 - ZX81 emulator - BETA release 13A - June 2006
        (c) 1998-2006 by Carlo Delhez

        Mail:   xtender@delhez.demon.nl
        Site:   http://www.delhez.demon.nl/

        Please read "FEATURES.TXT" for overview of features
        Please read  "README.TXT"  for more details


=== What's NEW in XTender2 Beta 13A ?? ===

- Not much, unfortunately. Attempted to fix a number of long-known bugs,
  but no results so far. Therefore, prolonged the validity of the Beta 13
  release, which had ended recently.


=== What's NEW in XTender2 Beta 13 ?? ===

- Added a feature to allow you to control emulation speed,
  as a percentage of ZX81 real-time speed.
  By default, the speed is not controlled (i.e. as fast as possible).

  Emulation speed can be set in the command line like this:

    xt2 100%                : emulate zx81 at 100%
    xt2 70% red-ants        : run red-ants.p in ZX81 at 70%
    xt2=zx80 125% invaders  : run invaders.o in ZX80 at 125%

  Emulation speed will be continuously monitored and adjusted.
  Since the processor load may vary from second to second, also the
  emulation speed may vary (slightly) from second to second.
  But on average the emulator will run near the requested speed.

  Emulation speed of 100% corresponds to circa 3.25 MHz.
  If emulation speed is set lower than 25%, it will be ignored.
  And obviously: maximum emulation speed will be limited by your PC...

  Since I have only few machines available for test, please send
  me your experiences with emulation speed control.

- Fixed bug in QZ directory command that could cause XT2 to hang
  on specific directories (both  LOAD ""  and  LOAD "*DIR"  fixed)


=== What's NEW in XTender2 Beta 11B ?? ===

- Ooops, forgot to fix one tiny bug...


=== What's NEW in XTender2 Beta 11 ?? ===

- Added a feature to auto-stop ZX81 programs immediately after loading them.
  Just type the keyword 'STOP' (Shift-A) directly behind the closing quote:
  LOAD "POTTER" STOP
  This support is part of the ZX81LOAD patch handler.


- Added some more QZ-commands: CD, MD and RD
  so you easily browse through your collection of programs, all directly
  from the comfortable ZX81 command line, e.g. like this:
  LOAD "*CD:../../PROGS/GAMES;DIR"
  This support is part of the ZX81LOAD and ZX81SAVE patch handlers.


- Fixed bug in patch handler calling


=== What's NEW in XTender2 Beta 10 ?? ===

- Added code for QZ-command handling (dreaded by some, loved by others ;-))
  This support is part of the ZX81LOAD and ZX81SAVE patch handlers, simply
  because these commands are ZX81-specific and not an original part of the
  system being emulated.
  Currently, support is available for the commands: ABOUT, EXIT and DIR.
  Also LOAD "" is available to list (a part of) the current directory.
  See section 'QZ Command Handling' in 'ReadMe.txt' for more details.


=== What's NEW in XTender2 Beta 9 ?? ===

- Added ROM and configuration file for Lambda 8300 emulation.
  The ROM was kindly provided by Henrik Morgenstjerne, who also supplied
  a GIF image of the Lambda 8300 keyboard layout.
  Type:  XT2=Lambda  to use XT2 as a Lambda 8300.
  Lambda provides some 'extended' features like automatic line numbers,
  letter-by-letter keyword typing, graphics characters, etc.
  Note that keyboard layout is quite different from ZX81. Next release of
  XT2 will possibly allow to redefine the keyboard mapping.


=== What's NEW in XTender2 Beta 8 ?? ===

- Made a start with implementation of the QZ command handler (for ZX81SAVE
  and ZX81LOAD patch handlers only).
  Currently, only  LOAD " STOP "  and  SAVE " STOP "  are accessible
  (both abort the emulator immediately, provided STOP is typed as Shift-A).
  Other QZ-commands are bound to be available in the next release.


- ZX81LOAD patch handler: files with long filenames can be loaded from within
  the emulator by typing the DOS-equivalent name with an "=" (equal sign)
  replacing the "~" (tilde).
  For example, type:  LOAD "LONGFI=1"  to load the file 'LONGFI~1.P'.

  Note: the DOS-equivalent name (with tilde!) may also be used when
  auto-starting a program in XT2, e.g. by typing:  XT2=ZX81 LONGFI~1


=== What's NEW in XTender2 Beta 7 ?? ===

- Added original font for PC8300. Many thanks to Jeffrey A. Kuhlmann.

  To see the font 'in action', type:  XT2=PC8300
  The font of PC8300 is basically the same as the ZX81 font, but with
  6 characters (and their inverse) replaced by 'game characters'.
  Try to print CHR$ 8, 9, 10, 12, 14, 15.


=== What's NEW in XTender2 Beta 6 ?? ===

- Various minor bug-fixes and code changes


=== What's NEW in XTender2 Beta 5 ?? ===

- Added patch handlers to SAVE/LOAD ZX80 programs to/from disk.
  ZX80-programs are given the extension .O (i.e. letter O)

  AFAIK, XT2 is the first emulator that can load & save ZX80 programs
  from & to disk. So, who will supply some nice ZX80 programs now?


- Incorporated SAVE & LOAD patches for disk access in ZX80.XT2 and
  copied the old ZX80.XT2 to ZX80_Org.XT2 (for virtual tape access)

  Note: LOAD will load the program supplied in the commandline (if any)
        SAVE will create SAVEFILE.O (for safety reasons)


- I typed SPACE INVADERS from the internet site of Grant Searle - and it
  works fine! This is truly an *amazing* flicker-free game for the ZX80.

  Space Invaders is included, with kind permission of Grant Searle.
  To try it yourself, type:
                                XT2=ZX80 SPACEINV

  In the ZX80, type LOAD (key W), and then RUN (key R).
  The screen will go black for a short period, then the game starts.
  Note that the screen is a little too far up (see below how to cure that).
  Exit emulator (F1) to stop game.


- Added NMIGENERATOR command for XT2-files to control presence or
  absence of an NMI generator (of approx. 15.7 kHz).
  See DEMO.XT2 for details.

  For ZX80 ROM, NMI generator must be absent.
  For ZX81 ROM, you may remove the NMI generator; in that case, you will
   emulate the upgrade-kit from ZX80 to ZX81, which is in fact a ZX81
   that always runs in FAST mode. Try it!


- Added control to scroll TV-screen vertically over PC monitor
  Useful for ASZMIC ROM, and for some 'misaligned' games (like SpaceInv).

   press ALT-keypad-8 to move the image up
   press ALT-keypad-2 to move the image down
   press ALT-keypad-5 to center the image vertically (default)

  By scrolling, you can view an entire frame, including VSYNC (black)


- Changed mapping of keys 8,4,6,2 (arrows) on keypad. They will now
  produce numbers corresponding to ZX81 unshifted cursor keys. This
  means that you can use these keys for games where unshifted ZX81-keys
  5,6,7,8 are used for steering.


- Removed ZX81_64k.XT2
  Added ZX81_32k.XT2 (32k ZX81 where DFILE can be in 32k-48k area)
  Added ZX81_56k.XT2 (48k+8k ZX81 with Oliger memory modification)


- Removed the automatic memory dump to the file 'MEM.OUT', so XT2
  does not create any debug-files anymore


- Changed implementation of PCMASK (advanced users only!)

  Syntax is now:  PCMASK <maskvalue> [ THRESHOLD <address> ]

  Implementation: for all PC M1-accesses at addresses that equal
  or exceed the threshold address, the ULA is activated, and the
  ULA will mask the PC-address by the mask-value supplied.

  The additional parameter allows the Oliger modification to be
  emulated, which makes it possible to execute machinecode in the
  32-48k area (and impossible to put the DFILE there).

  Note 1: the mask-value can be set to any 512-fold, minus 1, and the
          threshold-address can be set to any 512-fold, but the resulting
          hardware configuration may not always be useful.

  Note 2: beware: the ZX81-hardware is such that Z80-executable
          machinecode and ULA-rendered video are mutually exclusive,
          no matter which values for mask and threshold you supply!


(end of file)
