ParaJVE Release Notes

Parabellum's Java Vectrex Emulator, version 0.6.0


DESCRIPTION
    ParaJVE is an emulator for the GCE Vectrex, a game console created in 1982 by General Consumer Electric. This program is written in Java 1.5, and most parts are working nicely, so the emulation is complete enough for you to enjoy most of the original games set, as well as some extra homebrew roms!

WHAT'S INCLUDED?
    The emulator packaging is self-sufficient : it contains all the files needed to run the whole set of original vectrex games (this includes roms and color overlays), and some additional homebrew games. Also included are the native libraries needed to use the JOGL api (JOGL is an OpenGL binding for java). Unlike other java archives, these libraries are specific to the execution platform ; that's why you'll have to choose carefully when picking the packaging for download.

REQUIREMENTS
  • An installed Java Runtime Environment, with a version greater or equal than 1.5 (it has been successfully tested with both 1.5 and 1.6 runtimes).

  • A Windows Operating System (tested on Windows XP only), or a Linux Operating System (tested on Ubuntu only), or a Mac OS X 10.4 or greater (still needs some more tests, please contact me if you can help on that matter)

  • Although not strictly necessary, a processor running at 1GHz or more is strongly advised

IS IT 100% LEGAL?
    ParaJVE comes packed with a number of Original and Homebrew ROMs, so you could wonder about the legality of it all.

    It is perfectly legal for anybody to download, install and run this software, since the embedded ROMs are either public domain (some homebrew games, as well as all the original 80's cartridges) or either Homebrews whose authors gave me the written permission to include in the ParaJVE package.


DOWNLOADING & INSTALLATION
    Select and download the ZIP archive corresponding to your target system, and decompress it on your hard drive.

    To run the emulator, depending on the downloaded packaging, just double-click "ParaJVE.bat" (for windows), double-click the ParaJVE icon (for Mac OS X), or just run the "ParaJVE" shell (for linux).

SO HOW MUCH DOES THIS THING COST?
    ParaJVE is freeware for personal use.

    The only thing I'm asking for are comments about this program (bug reports, ideas, constructive criticism, ...). Even if you don't have anything special to say, just send me an email or post a comment over at ParaJVE's development blog to tell me whether you like the emulator or not! ;)

    Please note that it is not public domain software and may not be sold or used for commercial purposes without the express written permission of the author.

KNOWN ISSUES
    The following bugs have been identified :

    • The sound emulation is apparently broken on some Linux platforms.

    • The sound emulation does not work at all in StarHawk, and some SFX are silenced in Solar Quest (the shots sound).

    • The timing method using nanoseconds resolution may not work well on the systems run by a multi-core CPU. This is a known java bug and there's no way to resolve it AFAIK. If you have this bug, just open the "Framerate" dialog through the menu, and switch to "Milliseconds" granularity.

    • The frames limiter code does not seem to work as expected. Often, the FPS counter displays 60FPS (for instance), whereas the game is clearly running much faster. This is not a top-priority bug as long as the emulator is not complete.

    • Also linked to the previous timing problem, the sound emulation is running too fast... I'll have to investigate later.

    • Every text displayed in the emulator seem to be shifted a bit to the right. It's apparently due to the fact that ParaJVE does not implement any RAMP delay code yet. Many thanks to Chris Salomon for the tip!

    • Clean Sweep cartridge : The graphics rendering of this game is a complete mess. Again, it's likely to be caused by the problem above. Will work on this later...

    Should you find any additional bugs, please let me know, and I will add them to this (ever growing) list.

VERSION HISTORY
    01/11/2008 - Version 0.6.0
    • Added several command line switches & parameters to ease offline invocation & integration in third-party launchers.
    • Fixed some errors in the 6809 CPU emulation core (flag V incorrectly computed by INC/DEC instructions)
    • Added VecVoice emulation, as well as a vecvoice aware game (Verzerk).
    • Added Lightpen emulation, and included the Lightpen enabled games (Animaction, Art Master, Melory Master, Engine Analyzer).
    • Implemented support for cartridge's onboard RAM (For Animaction).
    • Introduced automatic peripheral selection for games that have special requirements (lightpen, vecvoice).
    • Fixed a major frame timing problem when T2 was used by the program for something else than the standard use (frame timing).
    • Tweaked the rendering algorithm to reduce flicker in special cases (when frames are not T2-driven, like when Spike speaks for instance).
    • Updated the third-party native libraries (JOGL and JInput).
    • Written a basic User Guide documentation.

    13/04/2007 - Version 0.5.0
    • Rewritten and cleaned up the startup code, to reduce the odds of having the emulator hanging during initialisation.
    • Now supports the mapping (in analog mode) of the connected physical control devices (joysticks, gamepads, trackballs...).
    • Added a hot key for the ScreenShot feature (default is PRINTSCREEN).
    • Changed the way ParaJVE is packaged for Mac OS X (now appears as a standard Mac application) and Linux.

    11/01/2007 - Version 0.4.0
    • Updated the embedded JOGL library, to make ParaJVE work with the latest 1.5 java runtime (update 10).
    • Included the game Star Sling 4K (Turbo Edition), by Vectorzoa.com
    • Changed the way the game ports are handled. Now you can plug/unplug different peripherals into both ports through a special menu.
    • Added peripheral emulation : PS/2 Keyboard Adapter.
    • Implemented direct DAC write to Sound Resistive Network. Now you can hear the CPU generated sounds (in "Spike", for instance).
    • Implemented VIA6522 SR Mode 101 (Shift Out Under T2 control).
    • Fixed a regression introduced in 0.3.2 where the command line argument -GAME=xxx was not handled correctly.

    08/11/2006 - Version 0.3.2
    • Implemented the analog mode built in Vectrex joysticks,
    • Parasite dots removal : tweaked the heuristics to remove even more dots,
    • Added a feature to automatically build any ROM from its assembler sources (using AS09 by Frank A. Kingswood), before loading them. When the sources or binary are modified, the ROM can be rebuilt/reloaded without having to restart ParaJVE. Feature not available under Linux yet.

    24/10/2006 - Version 0.3.1
    • Included more homebrew game roms,
    • Added a "display rotation" settings in the gfx menu (0°/90°/180°/270°),
    • Implemented fullscreen support, selectable at startup (it looks like it won't be available under Linux, unless you use a 1.6 JRE),
    • Fixed the annoying High-Frequency sound bug that could be heard in some games (Scramble, Pole Position and other homebrews).

    18/10/2006 - Version 0.3.0
    • Added sound emulation,
    • Added HTML documentation for included games,
    • Embedded some extra homebrew game roms.
    • Changed the game selector to display more information about the selected ROM,
    • Coded debugging tools (execution backtracing, sound monitoring, rom reloading, ...)
    • Also fixed several bugs (invalid memory accesses, keyboard focus, ...)

    10/09/2006 - Version 0.2.0
    • Added overlays, rewritten GUI, added persistent configuration. Now embeds the game roms for easier installation.

    18/07/2006 - Version 0.1.0
    • INITIAL PREVIEW RELEASE of ParaJVE

LICENSE & DISCLAIMER
    ParaJVE is Copyright ©2006-2008 by Franck Chevassu.

    Permission to use and copy this software for any non-commercial personal purpose, without fee, and without a written agreement is hereby granted, provided that this document appear in all copies, unmodified.

    You are allowed to provide a direct link (or host a mirror) of any of this software's packages, as long as the download access remains free, AND ONLY IF you also exhibit a clear reference to ParaJVE's Development Blog URL (http://vectrex-emu.blogspot.com) somewhere on your pages.

    Any commercial use or distribution of this software (on any media such as CD or DVD, or in software bundles, for instance) is explicitly forbidden without first getting the express written permission of the author (contact me).

    IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

USEFUL LINKS

Franck Chevassu, ©2008