NINDRAW Program History
=======================
0.78 May 4, 1990 Ken Beckett
Working version (until Pesterminator is completed).
0.80 June 20, 1990 Ken Beckett
Added warning message if files are saved and there is no character
set zero (preventing the ".VID" file from being created).
Fixed b_writebyte() to properly return error code, and added checks
for bytes actually written to write() and flush() routines.
July 5, 1990 Ken Beckett
Added many new ALT keys for main control window functions.
Fixed select box to not cause garbage to display when screen scrolled.
Added code to remember current X,Y position for all items.
Added new scroll keys HOME (top-left) and END (bottom-right).
0.81 July 7, 1990 Ken Beckett
Fixed two cases (mouse not installed & out of memory during
installation) in which program could exit without fixing BREAK,
PRTSCRN, & CRITERR interrupt vectors.
Fixed problem of select box being drawn when item scrolled even if
mouse was out of object editing window.
Changed so when magnified mode is exited, the previously magnified
area is at the center of the editing window (if possible).
July 8, 1990 Ken Beckett
Added code for flashing palettes (change frequency, add frames, add
blinkers, etc.). The delete frame/blinker functions are NOT done
yet!
0.82 July 9, 1990 Ken Beckett
Completed flashing palette code (delete routines now work).
July 10, 1990 Ken Beckett
Minor changes to flashing palette editing routines.
0.83 July 10, 1990 Ken Beckett
Added command line interface, including ability to "MAKE" files from
the command line (for non-VGA systems).
Added ability to multi-drop colors into palette with right button.
Now flushes the mouse queue after all keyboard input prompts.
Changed 2x2 mode to be compatible with 1x2 sprite mode.
Fixed cosmetic bug when drawing pixels on flipped sprite characters.
0.84 July 11, 1990 Ken Beckett
Fixed bug concerning drawing of grey border around 1x2 sprites.
Added RIGHT button code to animation frequency arrows (1 or 255).
Changed palette blink frequency minimum value from 0 to 1.
Made major changes to attempt to keep item centered when going in and
out of MAGNIFY and EXPAND modes.
Added code to make program refuse to execute if the year is < 1990.
Added support for "no-sprite entity" (base byte is set to 0xff).
Fixed arrow keys to not scroll item if editing window is inactive.
0.85 July 12, 1990 Ken Beckett
Changed shape of mouse pointer for NORMAL, DRAW, FLIP, & WAIT modes.
Fixed bugs with flashing palettes concerning dropping & picking up
colors, and the set_subpal() function.
Added new mouse pointer shape for MAGNIFY-select mode.
Fixed bug if EXPAND mode changed while in MAGNIFY-select mode.
Set priority of mouse pointer to drop-data (arrow), magnify-select
(magnifying glass), flip mode (flip-arrows), draw mode (pencil).
July 13, 1990 Ken Beckett
Fixed bug in shapemouse() causing problems with Logitech mouse driver.
Added code to correct for bug in Microsoft mouse driver (it expects
the X coordinate of the mouse pointer hot-spot to be doubled -
fixed by doubling X if the driver reports 2 mouse buttons).
0.86 July 13, 1990 Ken Beckett
Fixed rename command to re-alphabetize the item after renaming it.
Made RIGHT button on CLEAR delete ALL character sets (except 'X').
Made RIGHT button on DEL delete ALL items (except DEFAULT palette).
Made RIGHT button on EXIT (or ALT-Z) shell out to DOS.
Changed to allow flashing palettes & animations to work while waiting
for keyboard input.
Made new text cursor that uses the flashing selection palette.
0.87 July 15, 1990 Ken Beckett
Added ability to rename animation frames by clicking RIGHT button on
frame name. Click LEFT button on animation type (SPRITE/OBJECT)
to change to SPRITE/OBJECT mode for current frame.
Added EDIT mode for animations. Click LEFT button on animation name
to enter EDIT mode. LEFT button on ADD adds frames after the
current frame. LEFT button on DEL deletes the current frame.
0.88 July 16, 1990 Ken Beckett
Added TIME/DATE display key ALT-T.
Added better critical error handling routine (allows Retry or Fail).
Improved file error handling.
Changed to always save all character sets (except 'X') by writing
set number in header. Also loads sets according to header.
Allowed making of DRAWDATA only by pressing ESC at YOURBACK prompt.
0.89 July 17, 1990 Ken Beckett
Fixed so that color 0 is always propagated when frames/blinkers are
added to a palette.
Removed SAVE VID button from character set window, changed EXP to
EXPORT, moved buttons, and added new VID/VRM, nHIGH, & ATCH buttons.
Made RIGHT button on IMPORT append an entire VID file, and RIGHT
button on EXPORT write the entire VID file.
The four IMPORT/EXPORT functions will now work in VRM (video ROM file)
mode. VRM files do not have the normal 6 byte char. set headers.
Completed coding of the new ATCH button.
0.90 July 18, 1990 Ken Beckett
Added new 24-high EXPAND mode (activate with RIGHT button on EXPAND,
must press a key after using ALT-T, ALT-Q, or ALT-V). Palette and
control windows go away, but F1-F4, ALT-L, ALT-S, etc. still work.
0.91 July 18, 1990 Ken Beckett
Added new 2-high display mode for character sets.
Added 4K copy buffer to fix problem of changing source when multi-
dropping in character set AND problem of copying from/to the same
set & bank in different windows with a different 2-HIGH setting.
Fixed problem of mouse pointer showing up during command-line make.
Fixed cosmetic bug if item added to empty list (wasn't updating the
screen properly).
Fixed problem of running out of memory during load and ending up
without any palettes at all (hard coded the default palette).
0.92 July 20, 1990 Ken Beckett
Made FLIP work in character set mode - LEFT button flips left-to-right,
RIGHT button flips top-to-bottom.
Changed FLIP for sprites to work like FLIP for character mode.
Checked manipulation of data changed flags.
Replaced PAINT and SWAP buttons with MEMO and DRAW.
Made changes to the palette or character set be remembered for an item
only if the MEMO button is turned on. To set items manually, leave
MEMO off and double-click LEFT button on MEMO to memorize settings.
Increased default item editing window from 16 to 25 chars wide.
0.93 July 23, 1990 Ken Beckett
Made "drag" & "pick" work for objects and backgrounds.
Made LIST button prompt for search string for all items.
Settings of memof, nhigh[2], and atchf[2] are now stored in DRW file.
Added special .DRW line to all backgrounds (written out by MAKE) that
specifies the address of the palette data for the background.
Fixed bug that sometimes caused garbage on the screen if mouse was
moved quickly between the character set & editing windows.
0.94 July 25, 1990 Ken Beckett
Fixed to not reset animation frame number when doing EXPAND.
Fixed some minor problems with the new "pick" & "drag" routines.
Typed up ND.DOC file explaining mouse & keyboard commands.
0.95 July 27, 1990 Ken Beckett
Changed MEMO to default to ON.
Made ALT-F10 activate the color matching window instead of the RIGHT
button on the 64-color select area in the palette window.
July 29, 1990 Ken Beckett
Added copy buffer for pick command on backgrounds and objects.
July 30, 1990 Ken Beckett
Changed to allow a different color 0 for each frame of any palette
that has 4 blinkers.
Fixed problems with copy buffer drop routine.
0.96 July 31, 1990 Ken Beckett
Changed the way drag & pick work to allow things to be picked, then
dropped on different items. It now works like this: RIGHT button
drags the select box, LEFT button "picks" the current contents of
the box (as before). Letting go of LEFT now has no effect (the
pick box remains active). Each press of LEFT will drop the picked
item. Pressing RIGHT will discard the item and start a new drag.
Added drag & pick support for sprite, animation, and character mode
in the editing window (except you are not allowed to drop in the
character set window if the pick was from the editing window -
this might possibly be allowed later if the pick was done in
character mode. You are also not allowed to drop in the editing
window if you are in character mode and the pick was not done
either in character mode or in the character set window).
Fixed so that when a palette is renamed, all items with a matching
default palette name are also renamed.
1.00 August 1, 1990 Ken Beckett
Fixed minor bugs in new pick logic involving sprites.
Changed to cancel pick if mouse is moved into editing area or
character set window with the RIGHT button down.
Added new function keys F5/F6 for previous/next item in editing
window and SHIFT-F5/SHIFT-F6 for first/last item.
Added new function keys F7/F8 for add/delete item in editing
window and SHIFT-F8 for delete ALL items.
Added new function key F9 for enter search string.
Added new function keys F10/SHIFT-F10 for export/export-append item.
Added new keys TAB/SHIFT-TAB for next/previous editing mode.
Added new function key ALT-F1 to re-pick the last data picked.
Changed VGA palette display key from TAB to ALT-F9.
Changed vertical retrace sync toggle key from F10 to ALT-F8.
Added key ALT-I for programmer information.
1.01 August 2, 1990 Ken Beckett
Added new ALT-T translate character function.
Changed time & date display from ALT-T to ALT-C.
Added prompt for fill character when creating new backgrounds.
Fixed cosmetic bug concerning critical errors & getinput routine.
1.02 August 3, 1990 Ken Beckett
Fixed bug concerning drawing in 1 x 2 mode sprites in magnify mode
(would sometimes draw in the wrong character set bank).
Added ALT-P key to toggle character/palette number hex display in
editing window (LEFT on hex number also toggles mode).
Fixed problem of using ALT-F10 in expand modes.
1.03 August 9, 1990 Ken Beckett
Fixed problem of calling mouse driver in load_drwvars() during
the command-line activated make process (sometimes crashed).
Added ability to make a character set with each character showing
its corresponding hex number by clicking the RIGHT mouse button
on UNUSED when initializing a new character set.
1.04 August 18, 1990 Ken Beckett
Fixed problem with ifkey() routine that was causing Ctrl-Break to
plug up the keyboard queue.
1.05 December 5, 1990 Ken Beckett
Fixed bug causing palette passed to set_ochr() function to sometimes
be mistaken for CURPAL by masking parameter during the call.
Added new -B command line option to force the program to use VGA BIOS
calls to change the palette registers instead of hardware direct.
1.06 December 17, 1990 Ken Beckett
Removed .DRW before all backgrounds output by MAKE that was added for
Dan concerning "strip" modes, but is no longer needed.
Now comments out the 3-byte header for backgrounds output by MAKE for
all 8 x 8 backgrounds (header is not needed for block-mode).
1.07 April 27, 1991 Ken Beckett
Added CTRL-T & CTRL-P keys to tag/untag the current item or current
palette respectively. Items that are not tagged have their names
displayed in dark grey, and are NOT included when a MAKE is done.
The default for all items and palettes is tag ON.
Changed format of .DRW file to include a new iflags byte for each
item & updated version of file to 1.07. Old files are translated.
When performing a MAKE, if the data in YOURBACK.ASM will exceed 26K
if the next background is written to it, then a new file called
ALTBACK.ASM will now be created, and all remaining backgrounds
will be written to this new file.
Prevented magnify grid from being drawn if current item list is empty.
1.08 May 7, 1991 Ken Beckett
Changed color of tagged items.
Fixed bug converting files without iflags byte.
Now saves character set X (if used) in VID file (as set number 0xff).
1.09 May 7, 1991 Ken Beckett
Fixed _loadvid() to load set X properly.
1.10 May 19, 1991 Ken Beckett