------------------------------------------------------------------------------- The Virtual ColecoVision A ColecoVision Emulator for Windows 95 and NT 4.0 Copyright (C) 1996, 1997 by Neal Danner (neald@geocities.com) All rights reserved. ColecoVision (tm) is a trademark of Coleco. DirectX(tm) is a trademark of Microsoft Corporation. TMS9928A emulation based on original work by Marat Fayzullin. Comso Fighter 2 (the included game ROM) Copyright (C) 1996, 1997 Marcel de Kogel All rights reserved. http://www.komkon.org/~dekogel All other product names mentioned here-in are either registered trademarks or copyrighted by their respective holders. ------------------------------------------------------------------------------- The Virtual ColecoVision is a non-profit emulator created for those individuals who were and still are fans of the Coleco gaming era who wish to play their ColecoVision games under Windows 95 and NT 4.0. For more information on the ColecoVision and it's history check out these web sites. The Virtual ColecoVision Homepage: http://www.geocities.com/SiliconValley/Vista/8640/VColeco.html Norman G. Sippel's ColecoVision Homepage: http://www.infinet.com/~ngsippel/cv.html This History of Home Video Games Homepage: http://www.sponsor.net/~gchance/ The ColecoVision FAQ: http://www.infinet.com/~ngsippel/cv/cv-faq.html Marcel de Kogel's Homepage (author of Comso Figher 2 and AdamEm): http://www.komkon.org/~dekogel Marat Fayzullin's ColEm Homepage: http://www.komkon.org/fms/ColEm ------------------------------------------------------------------------------- Features in The Virtual ColecoVision ------------------------------------------------------------------------------- o Full emulation of the ColecoVision game console hardware including: o The primary and secondary hand controllers o Sound o TMS9928A video emulation uses Microsoft's DirectX API for sprite handling and screen refresh. o Play full-screen or Windowed. A Full-screen scale factor setting is also provided. o Custom keyboard/joystick mappings of the ColecoVision hand controller emulation. o Both manual and automatic pausing of the emulation o A bunch of ColecoVision hardware emulation settings to control pretty much every aspect of the ColecoVision emulation core. o Multithreaded so that Z80 CPU emulation runs on one thread while Video/Input are ran from the primary thread. o ColecoCheat! Provides a mechanism to cheat in *some* games. ------------------------------------------------------------------------------- Table of Contents ------------------------------------------------------------------------------- 1.0 - Introduction 1.1 - System Requirements 1.2 - Revision History 1.3 - Getting started 2.0 - Feature Wish List 2.1 - Known Problems/Bugs 2.2 - Where to find Virtual ColecoVision Updates 2.3 - General Questions and Answer 4.0 - Special thanks ------------------------------------------------------------------------------- 1.0 - Introduction ------------------------------------------------------------------------------- Thank you for using The Virtual ColecoVision. After putting many hours into developing the core emulation, I hope you get as much enjoyment playing your ColecoVision games on The Virtual ColecoVision as I did developing it. A little history... The Virtual ColecoVision used to be called ColEm 97 until 10/06/97. Most of you reading this may wonder why this happened. Well, it is a long story, so I'll attempt to make it short. The Virtual ColecoVision is the result of a development project started by me back in October of '94. The project originated as The Virtual ColecoVision, but was later renamed to ColEm due to partial usage of Marat Fayzullin's TMS9918A emulation code. I did this as a courtesy to Marat for using his TMS9918A code. The rest of the the Virtual ColecoVision emulation code was and still is a combination of my development efforts. After speaking with Marat, it became apparent that since ColEm 97 was not a full port of his original ColEm UNIX source code, it should be given a new name. So, after reading many e-mails from users, a new name, "The Virtual ColecoVision", was chosen. As a side note, the only Windows version of ColEm that was completely based on Marat's ColEm source was ColEmWin 0.1.2, which was originally ported by me but is no longer being developed. Additional contributions to this documentation are always welcome. Please mail additional information, opinions, and/or comments to: Neal Danner neald@geocities.com Enjoy!! ------------------------------------------------------------------------------- 1.1 - System Requirements ------------------------------------------------------------------------------- Minimum system configuration: 486-DX100/Pentium 75 or faster running Windows 95/NT4.0 with the DirectX binaries installed. 8MB ram (16MB for NT4.0) VLB video card Note: The DirectX binaries can be downloaded from: http://www.microsoft.com/directx Recommended system configuration: Pentium 100Mhz or faster running Windows 95/NT4.0 with the DirectX binaries installed. 16MB ram PCI based video card Joystick Note: The DirectX binaries can be downloaded from: http://www.microsoft.com/directx ------------------------------------------------------------------------------- 1.2 - Revision History ------------------------------------------------------------------------------- 2.00a: - First public release of ColEmWin 97. - Initial release with OO emulation core design. 2.00b: - Fixed Video Mode 2 bug. 2.00c: - Fixed "Fatal Exception" crash caused when running ColEmWin 97 in color depths greater than 16 bits per pixel. This bug just goes to show you that you shouldn't drink beer and code at the same time! =) 2.10a: - Added support for some undocumented Z80 opcodes - Added ColecoCheat! feature which allows you to cheat on some games! - Added ability to save/restore game progress! - Added a Display tab to the ColEmWin 97 Properties dialog which provides many new features: - Video mode to use for full-screen mode can now be chosen from a list of modes supported by your DirectDraw drivers. - A "Scaling" factor for full-screen modes can now be specified which allows the display output to be enlarged for high-resolution video modes. - There are now two independent frame skip rate settings. One for the full-screen mode frame skip rate and one for the Windowed mode frame skip rate. - Added button to invoke Joystick Configuration applet in the Control Panel. This was added for convienence only. - Added button to invoke Display properties applet in the Control Panel to help switch video settings for playing in Windowed mode. This was added for convienence only. - Added a menu item to the help menu which points your web browser to the ColEm 97 Homepage. 2.10b: - Renamed ColEm 97 to "The Virtual ColecoVision". - Fixed full-screen scale bug which caused no output under some video resolutions. - Added logo screen. - Modified order of calls to DirectDraw's SetPalette() function. This fixes a bug where SetPalette() was failing. - Added a "Message(s)" option to the Emulation menu where users can view normal, warning, and error messages generated by the core emulation. A very useful tool for determining emulation problems. 2.11a: - Marcel de Kogel's Comso Fighter 2 game ROM is now included! - Fixed TMS9928A video mode 3 bug in TMS9928A emulation. Now games like Smurf Paint'n Play work (and possibly others as well). - Fixed TMS9928A video mode 2 pattern generator and color table problems (in VMode 2, VDP registers 3 & 4 have a different function). - Rewrote the speed synchronization core. It now uses the Win32 performance counting API since it provides a finer granularity for profiling emulation speed than does the Win32 GetTickCount() function. - Added system registry manipulation command line options: "/unregister" - Pass this argument to remove all references to The Virtual ColecoVision from the system registry, including setup information and file associations. "/register" - Pass this argument to register VColecoWin in the system registry. This also allows you to specify other cartridge file extensions to associate with The Virtual ColecoVision. - TMS9928A emulation now dumps video mode switch information into the Emulation -> Message(s) dialog. - Fixed bug where the previous display mode isn't restored if a user exits VColecoWin with ALT+F4 while running in Fullscreen mode. - Added drag-n-drop support. Now you can drag ROM files directly onto The Virtual ColecoVision to load them. If you drag more than one ROM file, multiple Virtual ColecoVision instances will be spawned. - Fixed duplicate menubar accelerators. Added accelerators for some options previously only available by traversing the menu. - Fixed textual errors in ColecoCheat! (mainly for BurgerTime). ------------------------------------------------------------------------------- 1.3 - Getting started ------------------------------------------------------------------------------- Your on your own until I get this section written. =) ------------------------------------------------------------------------------- 2.0 - Feature Wish List ------------------------------------------------------------------------------- - Debugger/assembler (including a ROM/tile editor). - Add network play using DirectPlay. ------------------------------------------------------------------------------- 2.1 - Known Problems/Bugs ------------------------------------------------------------------------------- 2.10c: - BeamRider, Bump'n Jump, and The Heist still don't load or run correctly. Bump'n Jump caused emulator to hang. Possibly caused by a bug in the Z80CPU or TMS9928A emulation. After I get the Z80CPU execution profiler/cache working I hope to quickly resolve this problem. - Pitfall, Dukes of Hazzard, and Frogger don't accept hand controller input. Appears to be something in the hand controller emulation... - The "Add/Remove Joystick(s).." button in the Input Devices tab doesn't work under Windows NT 4.0 if no Joystick devices are attached. ------------------------------------------------------------------------------- 2.2 - Where to find Virtual ColecoVision Updates ------------------------------------------------------------------------------- The latest version as well as all previous versions of the Virtual ColecoVision can be found at The Virtual ColecoVision Homepage: http://www.geocities.com/SiliconValley/Vista/8640/VColeco.html *********************************************************************** PLEASE NOTE: No catridge ROM images are included with The Virtual ColecoVision due to the fact that some of the ColecoVision games are still under copyright by their respective holders. *********************************************************************** ------------------------------------------------------------------------------- 2.3 - General Questions and Answers ------------------------------------------------------------------------------- Q1: Where can I get some Game Cartridge ROM images? A1: The cartridge ROM images are still under copyright by their respective holders. Owning a copying of a cartridges ROM is illegal unless you actual own the corresponding ColecoVision catridge. There are numerous sites on the Internet where you can download copies of ColecoVision game ROMs. I will list them here for your reference only. I am not involved with nor do I endorse or otherwise support any of these sites. Dave's Video Game Classics - Coleco ROMs: http://www.davesclassics.com/colecoroms.html The History of Home Video Games Homepage - ColecoVision Archive: http://www.sponsor.net/~gchance/ColecovisionStuff/Docs/docs.html Coleco Corner: http://www.pce.net/anthony/colcorner/ PLEASE DO NOT send me e-mail asking for game ROM images! Q2: When I try and run VCOLECO.EXE, Windows just tosses up a dialog box with an error message dealing with DDRAW.DLL or DSOUND.DLL. What is the problem and how do I fix it? A2: The DirectX libraries must be installed for The Virtual ColecoVision to function. You can get the DirectX libraries by downloading and running the following program: http://www.microsoft.com/DirectX/Resources/Downloads/dx5eng.exe Q3: I can successfully run The Virtual ColecoVision, but when I get to a game select screen I cannot get any further. It's like the emulator isn't getting input from my keyboard. How do I fix this problem? A3: There are two things here. First, some games don't work well with the hand controller emulation in The Virtual ColecoVision. Check out the "Known Problems/Bugs" section of this file for a know list of these types of games. Second. On some computers, the default keyboard mapping doesn't work. So, if you simply remap every hand controller emulation key for each controller in the Input Devices setup tab, it might start working. How to get to the Input Devices setup tab: 1. Press Alt+I on your keyboard OR click on the"Emulation -> Input Devices..." menu item. 2. Now, click on the "Defaults" button. 3. Then choose a key in the "ColecoVision Key" combo box and the "Mapped As" location will display the key or joystick button that it's mapped to on your machine. Now, go through each key in the "ColecoVision Key" list, and then click on the button/combo box under the "Mapped As" label to map it to a different key. Note that you can remap it to the same keyboard key it was set to by default, thus resetting the mapping layer. I'm assuming that problem comes from the fact that the binary key state that The Virtual ColecoVision defaults to isn't matching your keyboard's bit pattern for the same key. ------------------------------------------------------------------------------- 4.0 - Special Thanks ------------------------------------------------------------------------------- - My wife, for putting up with me during development of the Virtual ColecoVision! - Thomas Jacobs and John Maier (for providing me with their Coleco-ADAM computers!) - Marat Fayzullin (for his TMS9918A emulation source) - Marcel de Kogel for allowing me to distribute his Comso Fighter 2 game ROM with the Virtual ColecoVision!! (http://www.komkon.org/~dekogel) ------------------------------------------------------------------------------- Unanswer Questions and/or Comments ------------------------------------------------------------------------------- Do you have any questions that aren't answered above? Send your question(s) to Neal Danner at neald@geocities.com with a subject line of "The Virtual ColecoVision".