int monitor + patriots
r  $1f5d

many copyright notations still missing, like for overlays and text files...


WHEEL_TICKS #number#
will soon be obsolete, check PSG win for pulse information...

anti aliasing switch in *.ini,
some patches only work for anti aliasing

debug value all unsigned for now
debug labels as in *.cnt files
breaks at regs, and labels
break on change, NOT access

new breakpoints only work when monitor window exists (may be hidden)

sampled/sound fixed, seal perfect? - no - YES!!!

ALT L/W <-> 0 ALT 0

directories for save/vol/pics/bins

color 1 is white
color 2 is red
color 3 is green
color 4 is blue

Keys in GUI

  case KEY_SPACE:
   execute_vtoggle_gui_button(parameter);
  case KEY_ALT_F1:
  case KEY_ALT_F2:
  case KEY_ALT_F3:
  case KEY_ALT_F4:
  case KEY_ALT_F5:
  case KEY_ALT_F6:
  case KEY_ALT_F7:
  case KEY_ALT_F8:
  case KEY_ALT_F9:
  case KEY_ALT_F10:
  case KEY_ALT_F11:
  case KEY_ALT_F12:
   fCarouselSelect(parameter->taste);
  case KEY_1:
  case KEY_2:
  case KEY_3:
  case KEY_4:
  case KEY_5:
  case KEY_6:
  case KEY_7:
  case KEY_8:
  case KEY_9:
  case KEY_0:
   fLoadState(parameter->taste);
  case KEY_ALT_1:
  case KEY_ALT_2:
  case KEY_ALT_3:
  case KEY_ALT_4:
  case KEY_ALT_5:
  case KEY_ALT_6:
  case KEY_ALT_7:
  case KEY_ALT_8:
  case KEY_ALT_9:
  case KEY_LCURLY:
  case KEY_RCURLY:
  case KEY_LSQRB:
  case KEY_RSQRB:
   fSaveState(parameter->taste);
  case KEY_ALT_D:
   fDebugToggle(parameter->taste);
  case KEY_ALT_M:
   fDebugMonitorToggle(parameter->taste);
  case KEY_ALT_F:
   fDebugFileToggle(parameter->taste);
  case KEY_ALT_R:
   fSequencerReset(parameter->taste);
  case KEY_ALT_B:
   fSequencerReboot(parameter->taste);
  case KEY_ALT_P:
    bGblPauseMode=T_TRUE;
  case KEY_ALT_G:
   fScreenshot(parameter->taste);
  case KEY_F1:
   help_function("index.hlf",NULL);
  case KEY_G:
   help_function("vgames.hlf",NULL);
  case KEY_ALT_X:
  case KEY_ESCAPE:
   execute_vexit_button(parameter);
  case KEY_U:
   vector_undraw();
  case KEY_V:
   vector_refresh();
  case KEY_C:
   execute_vconfig_button(parameter);
  case KEY_L:
   execute_vload_button(parameter);
  case KEY_SHIFT_F1:
   fDebugLevelLow(parameter->taste);
  case KEY_SHIFT_F2:
   fDebugLevelMid(parameter->taste);
  case KEY_SHIFT_F3:
   fDebugLevelHigh(parameter->taste);
  case KEY_SHIFT_F8:
   back_show();

... and all button associated keys and special keys in windows

keys in non GUI
  fKBDfuncreg(KEY_SPACE,fGUIToggle);

  fKBDfuncreg(KEY_ALT_M,fDebugMonitorToggle);
  fKBDfuncreg(KEY_ALT_D,fDebugToggle);
  fKBDfuncreg(KEY_ALT_F,fDebugFileToggle);
  fKBDfuncreg(KEY_SHIFT_F1,fDebugLevelLow);
  fKBDfuncreg(KEY_SHIFT_F2,fDebugLevelMid);
  fKBDfuncreg(KEY_SHIFT_F3,fDebugLevelHigh);

  fKBDfuncreg(KEY_ALT_X,fSequencerAbort);
  fKBDfuncreg(KEY_ALT_R,fSequencerReset);
  fKBDfuncreg(KEY_ALT_B,fSequencerReboot);
  fKBDfuncreg(KEY_ALT_P,fSequencerPause);
  fKBDfuncreg(KEY_ALT_G,fScreenshot);
  fKBDfuncreg(KEY_ALT_E,fEnableEvent);

  fKBDfuncreg(KEY_0,fLoadState);
  fKBDfuncreg(KEY_1,fLoadState);
  fKBDfuncreg(KEY_2,fLoadState);
  fKBDfuncreg(KEY_3,fLoadState);
  fKBDfuncreg(KEY_4,fLoadState);
  fKBDfuncreg(KEY_5,fLoadState);
  fKBDfuncreg(KEY_6,fLoadState);
  fKBDfuncreg(KEY_7,fLoadState);
  fKBDfuncreg(KEY_8,fLoadState);
  fKBDfuncreg(KEY_9,fLoadState);

  fKBDfuncreg(KEY_ALT_1,fSaveState);
  fKBDfuncreg(KEY_ALT_2,fSaveState);
  fKBDfuncreg(KEY_ALT_3,fSaveState);
  fKBDfuncreg(KEY_ALT_4,fSaveState);
  fKBDfuncreg(KEY_ALT_5,fSaveState);
  fKBDfuncreg(KEY_ALT_6,fSaveState);
  if (keymap==USA_KEYMAP)
  {
   fKBDfuncreg(KEY_ALT_0,fSaveState);
   fKBDfuncreg(KEY_ALT_7,fSaveState);
   fKBDfuncreg(KEY_ALT_8,fSaveState);
   fKBDfuncreg(KEY_ALT_9,fSaveState);
  }
  else if (keymap==GERMAN_KEYMAP)
  {
   fKBDfuncreg(KEY_RCURLY,fSaveState);
   fKBDfuncreg(KEY_LCURLY,fSaveState);
   fKBDfuncreg(KEY_LSQRB,fSaveState);
   fKBDfuncreg(KEY_RSQRB,fSaveState);
  }
#ifdef CLAY_ONLY
  fKBDfuncreg(KEY_ALT_C,fCScreenshot);
#endif
  fKBDfuncreg(KEY_ALT_F1 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F2 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F3 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F4 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F5 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F6 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F7 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F8 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F9 ,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F10,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F11,fCarouselSelect);
  fKBDfuncreg(KEY_ALT_F12,fCarouselSelect);











#define IMAGER_DRAW_OVERLAY 256
#define IMAGER_DRAW_NOTHING 257
#define IMAGER_DRAW_COLOR_13 (13*16)
#define IMAGER_DRAW_COLOR_12 (12*16)

#define IMAGER_DRAW_WHEEL_COLOR_1 (13*16)
#define IMAGER_DRAW_WHEEL_COLOR_2 (11*16)
#define IMAGER_DRAW_WHEEL_COLOR_3 (12*16)

command line vesainfo

1.41 - Seal library not publically
       Fixed some VESA stuff (vesa_bytes_per_scanline)
mode 6 (a gag), 320 x 200
removed bug in fatal errors...
removed bug in screen shifty ...

joystick optional in ini -> pcjoystick,
only 2 buttons supported, A = F
                          B = D

command line sealinfo



1.4  - 3d Imager support!
       Finally I had some time to look at it. It sort of works, it is not
       perfect yet, but...
       First some drawbacks...
       I have no 3d imager, neither have I seen one working yet, I
       don't really know what the games look like, so if
       I have some color settings wrong, feel free to do better...
       Right now I'm emulating a fixed speed for the spinning wheel.
       Vectrex usually wants to fiddle with that speed, that is not suported
       yet (dunno if it ever will be...).
       "Narrow Escape" and "Crazy Coaster" work just about fine.
       "Mine 3d" so so, I suspect it to change the rate of the
       color wheel during the startup screen, since I can't find a
       speed setting that will satisfy both the game and the startup...

       There are some new settings for the *.vol files, as e.g.:

       3D_IMAGER_GAME
       WHEEL_TICKS #number#
       COLOR_1_DEGREES #number#
       COLOR_2_DEGREES #number#
       COLOR_3_DEGREES #number#
       IMAGER_MODE #number#

       Most of these are fairly selfexplanatory, but here is what they
       do anyhow.

       3D_IMAGER_GAME - tells the emulator, that the game for this
       *.vol file is a GOGGLE-GAME.

       WHEEL_TICKS #number# - you tell the *.vol file the speed with which
       the wheel has to spin. One tick is 1/1500000 second.
       (vectrex 6809 runs at 1.5Mhz) Good values to start with are
       between 40000 and 60000.

       COLOR_?_DEGREES #number# - these three things are used to
       tell the emulator, what the wheel looks like.
       In degrees how much of the half wheel is covered by the
       corresponding color.
       It is very strongly recomended, that these three
       values add up to 180 degrees, though I don't check it...
       BTW..., COLOR1 is 15, COLOR2 is 13, COLOR3 is 14...

       IMAGER_MODE #number# - number between 0 - 6.
       This determines how the imager is to be emulated to the
       screen.
       At some time there was sort of a discussion going on in some
       newsgroup how the goggles could at all be satisfyingly
       emulated. Well probably can't suit you all, but
       I couldn't think of much more, save to insert some goggles
       to the joystick port... (no, I won't do that!)
       Here is what these 7 modes do:


       # 0 only the 'left' side is displayed, unicolor, therefor
           an overlay picture can be used

       # 1 only the 'right' side is displayed, unicolor, therefor
           an overlay picture can be used

       # 2 red/blue for left and right side, if you have some glasses
           you might be lucky and get a glimps of true 3d :-)

       # 3 only the 'left' side is displayed, in the colors corresponding
           to the wheel colors (overlays must be enabled nonetheless)

       # 4 only the 'right' side is displayed, in the colors corresponding
           to the wheel colors (overlays must be enabled nonetheless)

       # 5 both sides are displayed in colors corresponding
           to the wheel colors (overlays must be enabled nonetheless)
           this most probably looks like a real vectrex seen without
           the helmet on :-)

       # 6 left side is displayed on the leftmost side of the screen
           right side is displayed on the rightmost side of the screen
           (scaling must be set manually to fit...)
           Actually I like this setting a lot...

       Strangly these different mode sometime need different values
       for the other above described settings.
       I don't really know why. You just have to keep experimenting
       with the values a bit. Whatever mode suits you most... you
       probably must find the settings on your own.

1.3
     - Clay wrote the following:
          "The emulator has some quirks-- it will display
           vector intensities with the high bit set (the
           Vectrex shows black for any intensity of %1xxxxxxx)"
       fixed!

     - new ini command "force_vesa12", if set to one a
       banked (VESA 1.20 compatible) mode will be forced,
       hopefully that will work with people who have trouble
       with VESA 2.0 modes, though it is about 10% slower...

     - thanks to Clay I added digital sound support
       this can be heard in spike or in clays moon lander
       (or the sample file he gave me :-))
       New ini command "digital_volume", can be set to
       a procentage. The digital volume can be regulated with
       that (with my system, it is quite another volume than
       the non digitized...).
       In order to enable digital samples, a soundblaster/compatible
       card must be used AND the BLASTER environment variable
       must be set!
       Note: If emulation runs to fast, the samples will all
       speed up! The speed settings will not work fine
       with digitized audio, since speed is regulated by
       a timer interrupt (18.2 times per second),
       the emulator runs sort of in small burst if the
       machine is to fast. This has weird effects on
       samples (which are written directly to the DSP DAC).
       I tried setting the timer interrupt up to 1000 times per
       second and synchronizing to that, but it doesn't really
       make any difference.
       What I did was add another ini command:
       "force_single_processor" (boolean, 0 or 1)
       If set that will slow down emulation considerably
       and probably will be to slow (unless you have a fast
       processor :-)).
       Whenever I get a really fast processor, I will add a delay
       to the above single_processor_mode, that should fix the
       speed things with digital samples once and for all,
       since the emulator will than be able to run
       cycle exact at 100% speed...

1.2f - save format changed slightly

     - a bit speed improve I think

     - keys don't react quite as good (well a bit of loss somewhere)

     - old overlay style fixed, though display colors now start with
       pen 1 instead of zero
       pen 1 is white
       pen 2 is red
       ...
       as in the pcx overlays
       pen 0 color 1 -14 are used for erase pen colors,
       pen 0 1 is erase color for pen 1
       pen 0 2 is erase color for pen 2 ...

       because of that some changes must be made to existing *.vol
       overlays, though they shouldn't be dramatic

       and in vectrex.ini
       display_color only ranges from 1 to 14 instead from 0 to 15...
       (old default is 0 now is 1)

     - two new overlay comands (old style)
       border triangle pen intensity x1 y1 x2 y2 x3 y3
       overlay triangle pen x1 y1 x2 y2 x3 y3
       wonder what they do?
       (on demand... didn't test them all that much...)

1.2e
     - Carousel overlay bug fixed


1.2d
     - Two new *.vol file options (I don't like)

     - ALT W saves game in progress
       (ALT 1 - ALT 9 save different games)

     - ALT L loades saved game
       (1 - 9 load different games)

     - Vectrex.ini:
       restore_on_start=0/1
       save_on_exit=0/1

     - Bugfix, lighpen was broken in 1.2c


1.2c
     - Bugfix, overlay color shades


1.2b
     - ??? Clay - continous capture version?


1.2a
     - ALT G screen capture

     - Overlay background colors

     - new color table format
       o 0-15 background for overlays
       o i 1-14 14 vectrex pen colors
       o i+0-i+15 intensities of pen i
       o 240-245 solid colors


1.2
     - Initial release of Chris's DVE changes.
       DVE developed solely by Keith Wilkins!!!





BUGS:
     - sound leaves a lot to be desired overall

     - Clean sweep ...

