New stuff in v2.02
  - getch() now supports multi-language kbds, so now getch() returns ASCII
    keys in compliance with ANSI C.  My special keys are no longer returned
    but the key_tables are still there and maintained by the IRQ handler.
  - ungetch() was added
  - another total grafix update  (major improvement!!)
    The Grafix Funcs have become more easier to use.  I've made it more
    consistant when setting up video modes.  The 3 funcs are:
    g_getmode(x,y,bpp) - checks if mode is avail. Supports VGA,VESA 1.2 & 2.0
      and modeX.
    g_setmode(void) - sets last mode that was checked with g_getmode()
    t_setmode(x,y) - sets text mode to (x,y)
    Please read VIDEO.TXT within the TXT dir.
    Note : The grafix LIBs are now a seperate LIB from QLIB.  It's called
      GLIB and you should use QLINK to link it in with your projects.
      See M-GRAFIX.BAT within \TEST for a good example.
  - the DMA alloc funcs have been changed slightly
  - spawn...() was fixed.  Preivously new enviroments were not setup
    correctly

New stuff in v2.01
  - updated PACK file sub-system greatly
    - no funcs were reserving regs (bug)
    - pack_open_hdr() added which is the same as pack_open() but the new
      one requires a header already loaded in memory and a ptr that
      pts to it (see pack.txt) The header comes from a new option with PACKIT
    - lseek has more error trapping
    - pack_init() now takes 2 parameters (see pack.txt)
    - pack_uninit() added : frees buffer and such (disables the whole thing)
      closes all files
    - pack_close() added : closes packed files
  - added random funcs
    - rand(),srand(),random(),randomize()
  - gets(), puts() added (never really needed them before)
  - fixed a bug in callp (v1.05)
  - added BIN2ASM, a utility to convert files into ASM files so you can insert
    them into your EXE file easily
  - clrscr() was clearing too much video RAM and erasing c000h for 16k.
    a mirracle it was never detected until today when for some reason
    my programs where no longer working

New stuff in v2.00 *FINAL*
  - nothin' same as Beta #8

New stuff in v2.00 Beta #8
  - scanf() fixed heavily
  - Watcom Math LIBs fixed (again)

New stuff in v2.00 Beta #7
  - added support for %e (...scanf() supports it too)
  - change OS detection slightly (new variables, see os.txt)
  - and other bug fixes
  - spawn...() bugs have been traced down to a PMODE/W bug, so QLIB was
    working the whole time. (use DOS/4GW until this is resolved)
  - atof() bug fix and supports exp numbers (ie: 4.43e4)
  - ctype.h now includes all those is... macros (stolen from BCv5.0)
    Sorry, not avail in ctype.inc (come on, ASM doesn't need it)

New stuff in v2.00 Beta #6
  - fixed Math LIBs greatly
  - also fixed WC2EXE and WPP2EXE to use Watcom Math LIBs by default which
    for some reason was not setup (that's what you get for block copying)
  - fixed width specs for %f
  - NOTE : the new stdio funcs presented in Beta #5 DO NOT use
    streams, they just use file IO handles.

New stuff in v2.00 Beta #5
  - alloc_phys() now returns NULL on error (as does malloc,calloc and getenv)
  - free_phys() fixed
  - added many math funcs (exp, log, log2 ,log10, pow, sqrt)
  - added some stdio funcs (fprintf, vfprintf)
    These func do not use streams but the stdin,stdout things
  - added perror(), sys_errlist, sys_nerr (under 2k)
  - ftoa() now support +/-NAN and +/-INF !!!

New stuff in v2.00 Beta #4
  - pasm now handles single quotes inside the doulbe quotes for you
    Before you had to double them up so that inside _str_.tmp they would
    work.  Anyways...it's fixed
  - fixed realloc() (not even tested before)
  - callp macro now can push REAL10
  Note : I will release this as "v2.00 FINAL" as soon as ALL known bugs are
         squashed. (like the damn spawn...() bug)

New stuff in v2.00 Beta #3ab
  - make.bat in \lib\src was updated to support newer Add-ons to appear soon
  - gui was taken out because a newer version will be introduced soon with
    a visual editor (this will be an Add-on)
  - play was taken out because it will be replaced with AVI support some
    day
  - Add-ons will be GUI,M32(updated and with an editor),SC(sound card services
    supporting SB,GUS)  All this will hopefully happen over the next year.
  - 'play' and the old 'gui' will be available as Add-ons but will be outdated
    someday
  a] fixed alloc.h (realloc() was wrong)
  b] recompiled all EXEs making them smaller because GUI and PLAY were removed

New stuff in v2.00 Beta #2
  - QSETUP was added to control memory alloc during startup
    - fixes a bug that prevented spawn...() and system() from
      working under Windoze (or any DPMI server)
  - HEAP_MIN and HEAP_MAX may be zero now, making the EXE require no XMS.
  - QLITE bat file made (to make compressing easier)
  - bug fixed : vsprintf() was not preserving regs

New stuff in v2.00 Beta #1
  - Now requires PMODE/W
  - dropped the debugger
  - major changes to the video drivers (see video.txt in \txt for
    explaination - functions have been added/renamed!)
    VESA 2.0 is no longer required to use the mouse and stuff (VESA 1.2 is)
    modeX grafix added
  - removed setvect,getvect cause I don't know how they should work in PMODE
    just use setint,getint,setrmint,getrmint
  - support for Borland C complier (bcc32.exe) added (required to make seperate
    math LIB)
  - created new header files which are now more C compatible (see examples)
  - all Video function now are prefixed with 'g_' to unclutter things
    and a few where totally renamed
      v_copy = g_copy
      gset = g_setbuf
  - added support for BCv5.0
  - final switch back to C convention where the underscore is appended to
    all globals/externs (placed a #pragma aux default "_*"; in QLIB.H
    when using the Watcom compiler to allow this)
  - renamed some num2str... procs (see next line)
  - added many, many functions
      getche(), num2strb(str,binary), num2strx(str,hex), num2stro(str,octal)
      ALL "C" string functions (ie: strccpy, strcspn, stricmp, etc.)

New stuff in v1.20.00
  - getch() now also returns:
    90h = Pause key (non-repeater)
    91h = Print screen
  - keyboard services have been greatly improved
    - key LOCKS are handled by BIOS now
    - certain keys can be blocked from going to RMODE to prevent CTRL+BRK
      and CTRL+ALT+DEL:  key_block(x) where x-> 1=yes 0=no
    - LOCK keys can be blocked from going to RMODE: key_block_locks(x) dito
    - key_lights(x) to change the kbd lights (also updates BIOS flags)
  - setvect/getvect added in C programming (in case you don't wanna use the
    setint/getint that I created (they simple just call them - kinda)

New stuff in v1.10.00
  - Naming the project QLIB (Quick Libraries)!!
  - key_init() is now called during startup and is no longer public
  - ALL FUNCTIONS NOW RETURN -1 ON ERRORs (including malloc,getenv...)
    I hate trying to guess what each one uses.  Placed  'ERROR equ -1' in
    qlib.inc and qlib.h
  - changed start32.inc to qlib.inc  (and the .h version too)
  - changed start32.obj to c0.obj
  - changed scanf() to sprintf() (that is what it was really doing) duh!!!
      I don't know why I called it that before.  Oh well, it's fixed now
  - added so many new funtions
      str2num() and hex/binary versions : str2num_h str2num_b
      sscanf() just like in C
  - oh so many more bug Fixes
    - memcpy was not copying backwards properly when src<dest
    - lots of video funcs were not even tested before
  - debugger is now easily added (just /d and the c0 does not have 3 versions
      to call the debugger)
  - FONT files now have a simple header
  - Added GUI.ASM : A simple grafix user interface program -> I'm using it for
    my MOD editor, making somethin like FT2
  - The Video.asm has gone under slight changes for speed.
      -v_copy has 2 versions now (1 for 256 color mode and another for all
        others - but you don't have to worry which to use, just use v_copy
        and it will do what is correct) (it was for speed!)
      -gloadfnt() now allocs RAM for you and returns ptr in eax
      -gfntcolor() NEW! Used to change the color of fonts (for single
        color fonts only in 256 color modes only) - Something I needed
      -fixed many bugs
  - Default stack size is now 8Kb (in c0.asm)  ...it was 64K
  - Check out GUITEST.EXE in 'test' and PLASMA.EXE
  - created new BAT files for C compiling
    C2EXE.BAT - for use with the Watcom C compiler (it sets many options with
      in the BAT file neccessary to use Watcom)
    BC2EXE.BAT - for use with Borland C V4.x compiler  (BCC32.EXE)
  - generate underbar to all globals is now disabled!
     This is because watcom can't add them but BCC32 and MASM has the choice
       so I decided not to add them anymore.  In BCC32 and option -u is used
       and in MASM I use SYSCALL which is just like C except no underbar
       adding (according to dox it is not like C but the dox are messed up)
  - and much much more but I can't remember it all now

New stuff in V1.00.03
  - more bug fixes
  - never released? can't remember why...

New stuff in V1.00.02
  just bug fixes:
    - getenv was returning -1 on error but should have been NULL
    - text.asm which is included in programs had an END directive

New stuff in V1.00.00 Alpha #1:
  MAJOR CHANGES!!!
  - Changed video drivers from DLLs to a single OBJ file.
    Now supports VBE 2.0 with linear addressing.  (both required to use VESA
      modes) And stardard VGA mode.  All have mouse support and loading/printing
      fonts.
  - Added many more ANSI C funtions:
      file io: chdir,mkdir,rmdir,getcwd,getdcwd,unlink,setdisk,getdisk,rename
      misc: memcpy(overlayable),memset,memcmp
      string: str2num
  - Finished Flic player:
      bmp2flk : utility to convert multiple BMP files into a flic (FLK)
      playflk : view flics of 320x200x24bit only
      flk? : is a flic format I created, somewhat like FLI and FLC except
        it support bpp>8 (uses same compression DELTA & RLE)
  - And more bug fixes
  - Dropped DLL support for loading DLLs that can access variables in the
    main program.  (needed a lot of ugly lookup tables)
      It was too ugly and not needed anymore. (it was for the video DLLs and
      those are now a single beautiful OBJ file)

New stuff in Preeta V0.04:
  - PACK.asm now maintains the files current pos and monitors reads.
    If a read goes beyond the file it is shorted and no more reading is
    allowed.  Very cool...
  - data.000 prev did not have str2 packed into it so tpack failed in V0.03
  - New functions have been completed:
    EOF()
    FILELENGTH()
    TELL()
      ;all just like in C
      ;all work on normal files and packed files.

New stuff in Preeta V0.03:
  - added a size variable in pack files for great support on lseeking and
    other stuff
  - scanf's & printf's format string now contains 2 new things (+ and 0)
    and support 's' for strings
    %[0][+][S|H|B]type
      type = b:byte w:word d:dword s:string c:char
      0=print all leading zeros in # (eg: byte:000 word:00000 dword:000000000)
      +=use + when printing signed #'s
      S=signed
      H=hex
      B=binary
  - fixed more bugs

V0.02 - V0.01 = pretty boring (actuall I never loged those) ...

