ColEm for Win32 0.1.2 ColecoVision emulator for the Win32 platform. Core emulator code copyright (C) 1996 Marat Fayzullin Ported to Win32 by Neal Danner ColecoVision (tm) is a trademark of Coleco. The latest versions of ColEm for Unix/X, MAC, and Win32 can be found at http://www.freeflight.com/fms/ColEm. ColEm is a non-profit emulator created for those individuals who were and still are fans of the Coleco gaming era and who wish to play thier ColecoVision games on todays operating systems. *********************************************************************** PLEASE NOTE: No catridge ROM images are included with ColEm due to the fact that most of the ColecoVision games are still in copyright by their respective holders. Also, Marat Fayzullin nor Neal Danner WILL NOT be held responsible for acts of copyright violation dealing with ROM image distribution. We have not and we will not distrubute them and therefore we cannot be held reponsible for such actions. *********************************************************************** NOTE: ColEm for Win32 requires that the WinG graphics libraries and binaries are installed on your system. The WinG libraries are currently available at ftp.microsoft.com as WING10.ZIP. If you don't have WING installed, then you must download WING10.ZIP from ftp.microsoft.com and install it prior to running ColEm for Win32. ------------------------------------------------------------------ Enhancements/fixes included in version 0.1.2 ------------------------------------------------------------------ 1) Palette handling problems have been fixed. 2) Keyboard mapping info is provided via help menu 3) Emulator will now attempt to preset emulation speed based on overall system speed. 4) Various changes to About box and menu text and menu ordering. ------------------------------------------------------------------ Enhancements/fixes scheduled for future versions ------------------------------------------------------------------ 1) Full-screen or Windowed mode (via DirectDraw of Win95 Game SDK) 2) Sound emulation support (via DirectSound of Win95 Game SDK) 3) Joystick support (via DirectInput of Win95 Game SDK) 4) Emulation of Super Action Controller (?) 5) Emulation of Roller Controller 6) Game state save/restore 7) Option to bypass 12-second delay in COLECO.ROM code. 8) Second hand controller can be emulated via another person playing ColEmWin on an IPX or TCP/IP network (uses DirectPlay of Win95 Game SDK). 9) Faster overall emulation of ColecoVision game console. ------------------------------------------------------------------ File(s) included in COLEMWIN.ZIP ------------------------------------------------------------------ COLEMWIN.EXE - ColEm for Win32 application executable file (run this!) COLEMWIN.TXT - This file (your reading it!) =) ------------------------------------------------------------------ System requirements ------------------------------------------------------------------ 32-bit version of Windows (Win3.1x w/Win32S, Win95, WinNT) WinG graphic libraries - The WinG libraries can be obtained from ftp://ftp.microsoft.com in the /developr/drg/Multimedia/Jumpstart/WING/WinG directory as WinG10.zip. Unzip this file in a temp directory on your machine and then run SETUP.EXE. All you need to install is the WinG run-time libraries, you don't need to install the samples or the development tools. ColEm for Win32 has been tested and worked correctly under the following Win32 platforms with WinG installed: Windows 3.1x w/Win32S (inc. WFW3.11 w/Win32S) Windows 95 Nashville (Aka Windows 96) Windows NT 3.5x Windows NT 4.00 beta ------------------------------------------------------------------ Common Questions and Answers ------------------------------------------------------------------ Q0) Where can I get the COLECO.ROM file that the emulator requires? A0) Why, you can get it right from your ColecoVision game console with a screw driver and a ROM reader. Due to copyright issues the ROM image cannot be distributed with ColEm for Win32. You'll have to dump the one in your ColecoVision system, making you a legal holder of the ROM image for which you can use with ColEm. If you dump your ColecoVision ROM to disk, be sure not to distribute it as we hope you understand the penalties incurred for violating Coleco's copyright. Please DO NOT send e-mail to Neal Danner or Marat Fayzullin asking for a copy of it! Q1) I have successfully obtained the ColecoVision's ROM (COLECO.ROM), now where can I get some cartridge ROM images to use the emulator with? A1) No where that we know of. The cartridge ROM images are still under copyright by their respective holders. Distributing the ROMs is illegal! If you physically own some ColecoVision catridges, then it would be OK for you dump them and use them with the emulator since you truly own the game. It would however, be illegal for you to distribute that ROM image to others who do not own it. Instructions on how to dump your ColecoVision cartridges will be available shortly. Please DO NOT send e-mail to Neal Danner or Marat Fayzullin asking for game ROM images! Q2) When I try and run COLEMWIN.EXE, Windows just tosses up a dialog box with an error message dealing with the WING.DLL or WING32.DLL. A2) Make sure that you have installed the WinG runtime libraries. Again these are availabe at ftp.microsoft.com as WING10.ZIP. Q3) After playing for a few minutes, the emuator screen gets garbled. A3) Make sure that you don't have the "Generate NMI every xxxx opcodes" option set to low. This option, along with a few others, can be found in the dialog displayed by selecting the File -> Setup menu item. It is however, best that you let ColEm automatically adjust the NMI emulation setting based on your system speed. You can do this by leaving "Let ColEm handling NMI emulation settings internally" option checked. If this still doesn't fix it then uncheck the "automatic handling" option and bump up the NMI generation setting manually by 500 at a time until the problems disappears. The problem is really caused by a NMI being generated before the previous NMI is finished, causing the emulated Z80 CPU's stack to be decremented every NMI, resulting in a memory wrap and overwriting the cartridge ROM image in memory! Q4) This thing is too damn slow! A4) First, you'll need a pretty fast machine in order to even get close to the ColecoVision's true speed. A 486-DX250 or higher with a local-bus video card is pretty much the minimum system configuration. If you have a system of that configuration and are experiencing slowness you may try any of the following: 1) If your running a high-color or true-color video mode try lowering your color-depth to 8-bit (256 color) and trying it. 8-bit color (256) requires 33% less data to update the screen than 16-bit color (65536) and 66% less data to update than 24-bit color (16-million). Setting your display driver to 8-bit color should definately speed things up. 2) Uncheck the "Let ColEm handling NMI generation internally" option in the File -> Setup dialog and try the following: 2a) Bump up the "Update display on every xxx generated NMI" option 2 at a time and see if that helps. If you exceed 8, the display may appear "jerky". 2b) Lower the "Generate NMI every xxxx opcodes" option by 500 at a time until things start to smooth out. If you go to low you will see the screen garble after a few mintues. If this is true bump the value up by 500 at a time until the display garble problem disappears. When it disappears the value you stopped at is the lowest you can use for the "Generate NMI every xxxx opcodes" setting. Details on why the garble occurs are explained in question Q3 above. Q5) This thing is too damn fast! A5) Pfft! Yea right! We'll if it is, go into the File -> Setup area and lower the value displayed in the "Maximum opcodes processed per time slice" edit box. You will probably have to go as low as 128 or even lower before you notice a decrease in speed. Do you have any questions that aren't answered above? Send your question(s) to Neal Danner at neald@beta.datastorm.com. Special thanks to: Marat Fayzullin (for the core ColEm emulator code) Marcel de Kogel (for the various hand controller emulations)