MZX 2.69

This release is mainly for bug fixes.. I'll try to cover what's fixed:

if "$stringN" = "literal" should now work.
Embedding && or () in names for save/load files for MZM saving and the like
should work now.
Expressions won't be activated in pre-2.68 games, meaning if they used the
constructs which would be valid expressions they should be okay.
Other.. stuff..?

Also new features:

key_code is better than key_pressed in a lot of situations, because it doesn't
suffer from the autorepeat stall and it works for more keys. BUT it returns
a different scancode. key_code works with pretty much any key that is meaningful
to DOS.

key_release is set to the key currently being released, same codes as key_code..

And more importantly, keyN where N is a code (gotten from key_code), it's an actual
written number in decimal, not a character or anything like that. It will return
1 if the key is pressed, 0 if it's down..

if "key44" = 1, will check if z is being pressed;
if "('key44' a 'key45')" = 1, will check if both z and x are being pressed.

It can be useful for doing things like holding shift down, multiplayer, combos, etc.

SMZX:

SMZX has been returned after being removed from MZXAk. There are two "modes" now,
SMZX mode 1 is the same as it was in MZXAk, and SMZX mode 2 is like mode 1 but
lets you change the colors of the palette.

The way SMZX mode works is that first of all, the resolution is cut in half (so it's 320x350),
and each character is 4x14 instead of 8x14; now what would have been 2 pixels in a character
that each pick either foreground or background color, you have 1 pixel, which picsk one of
four colors. This means each char may have four colors. The four colors it actually gets are
pretty tricky though; if you pick the colors A and B for foreground and background respectively,
where A and B are two 4bit hexidecimal numbers (meaning they range from 0 to 15), for the
character color 0 will correspond to color AA, color 1 to AB, color 2 to BA, and color 3 to BB.

First, you set SMZX mode by the counter, "smzx_mode", setting it to 1 sets it to mode 1, 2
to mode 2, 0 turns it off. In the editor, you may toggle modes by pressing shift + F7.

In SMZX mode 1, colors AB and BA are automatically generated to be 33 and 66 percent blends
between colors A and B, respectively, while AA is color A, and BB is color B. This way you get
in the character the two colors you chose, and two colors inbetween them. This gives a blended
look that can be very effective in certain games.

In SMZX mode 2, none of the colors are directly predefined, but a default palette "default.spl"
is loaded if it's available. One is included that tends to give the two colors, plus black and
white. In SMZX mode 2 you may define the various colors of the 256 color palette either by
loading a palette as such:

set "name of palette.ext" "smzx_palette"

Or by setting counters corresponding to individual colors:

set "smzx_rN" value
set "smzx_gN" value
set "smzx_bN" value

Will set the red, green, and blue components of color N in the palette. You may also read these
to determine the current color stored here.

Note that you may set and read the SMZX colors outside of SMZX mode 2, however these colors will
only actually take effect IN SMZX mode 2. If you switch in and out of SMZX mode 2, the colors
will always be retained from what they last were; the palette will only be initialized once
when you first start SMZX mode 2, if default.spl is present. For this reason it's strongly
encouraged that if you use SMZX mode 2 you initialize the palette to something, with a palette
file if you can. A good way to obtain such a file is to use a graphical editor; most will let
you export a raw 256 color palette, that should be 768 bytes.

Note that SMZX mode does not turn off when you exit testing a game in the editor 
(this is intentional), so in these cases if you'd like to toggle the mode use shift + F7.

In SMZX modes, the character editor is slightly altered; instead of having individual pixels you will
have 2 pixel blocks in one of four shades to denote the four colors. However you must edit these
as if you were in normal mode, meaning the shade will depend on the composition of the two "pixels"
its made up of; so click on the left or the right side of it until you get what you want. It takes
some getting used to.. hopefully someone will do an MZX based char editor at some point.

Included with this release is an MZX utility to help you generate SMZX mode 2 palettes by
MagiCow. Expect other utilities to surface, possibly.

SMZX mode doesn't work on all computers, but on some cards there's a fix.. particularly if you're
using an ATI card you'll probably want to drop a file named "ati_fix" in the same directory as
MZX. Just a file, doesn't have to have anything in it, but has to be named that.

E-mail me bugs at kutnick@andrews.edu. - Exophase