COLECOVISIONエミュレータをつくる その1

--- How to build
Build the projects with the Microsoft Visual C++ 2008 with Service Pack 1 or
the Microsoft Visual C++ 2013 with Update 5.

The DirectX 9.0 SDK is required.
I recommend the DirectX 9.0 SDK Update (December 2004),
and dinput.lib included in the DirectX 9.0 SDK Update (October 2004).

Windows XPでも動かしたいのでVisual Stdio 2008とDirectX 9.0をインストールします。DirectX 9.0は以下からダウンロードしました。

https://www.microsoft.com/en-us/download/details.aspx?id=6812

以下にインストールされました。

C:\Program Files (x86)\Microsoft Visual Studio 9.0
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)

まずはSource Code Archive (4/13/2016)をダウンロードします。

http://homepage3.nifty.com/takeda-toshiya/common/index.html

好きなディレクトリに展開して、以下のプロジェクトを開きます。

source\vc++2008\sc3000.vcproj

追加のインクルードディレクトリとライブラリディレクトリを指定して、

C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\include
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\lib\x86

DIRECTINPUT_VERSIONを修正すればビルドできるはずです。

osd.h

// XXX: if your DirectX 9.0 SDK is newer and does not contain dinput.lib,
// please change the definition of DIRECTINPUT_VERSION from 0x500 to 0x800
//#define DIRECTINPUT_VERSION	0x500
#define DIRECTINPUT_VERSION	0x800

Common Source Code ProjectのeSC-3000をコピーして編集していきます。

source\vc++2008\sc3000.vcprj
source\src\res\sc3000.rc
              \sc3000.ico
source\src\vm\sc3000\sc3000.cpp
                     sc3000.h
                     keyboard.cpp
                     keyboard.h
                     memory.cpp
                     memory.h

ディレクトリ構成は以下のようになります。

source\vc++2008\coleco.vcprj
source\src\res\coleco.rc
              \coleco.ico
source\src\vm\coleco\coleco.cpp
                     coleco.h
                     keyboard.cpp
                     keyboard.h
                     memory.cpp
                     memory.h

アイコンは以下のものを使わせて頂きました。

http://atariage.com/forums/topic/153084-looking-for-a-colecovision-system-windows-icon/

coleco.vcprj

<?xml version="1.0" encoding="shift_jis"?>
<VisualStudioProject
	ProjectType="Visual C++"
	Version="9.00"
	Name="coleco"
	ProjectGUID="{26207C6A-4A3C-4BE2-A3D6-C8A2FF886A96}"
	RootNamespace="coleco"
	TargetFrameworkVersion="131072"
	>
	<Platforms>
		<Platform
			Name="Win32"
		/>
	</Platforms>
	<ToolFiles>
	</ToolFiles>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			OutputDirectory=".\Debug"
			IntermediateDirectory=".\Debug"
			ConfigurationType="1"
			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
			UseOfMFC="0"
			ATLMinimizesCRunTimeLibraryUsage="false"
			CharacterSet="2"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
				PreprocessorDefinitions="_DEBUG"
				MkTypLibCompatible="true"
				SuppressStartupBanner="true"
				TargetEnvironment="1"
				TypeLibraryName=".\Debug/coleco.tlb"
				HeaderFileName=""
			/>
			<Tool
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories=""C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include""
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_COLECO"
				MinimalRebuild="true"
				BasicRuntimeChecks="3"
				RuntimeLibrary="1"
				PrecompiledHeaderFile=".\Debug/coleco.pch"
				AssemblerListingLocation=".\Debug/"
				ObjectFile=".\Debug/"
				ProgramDataBaseFileName=".\Debug/"
				BrowseInformation="1"
				WarningLevel="3"
				SuppressStartupBanner="true"
				DebugInformationFormat="4"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
				PreprocessorDefinitions="_DEBUG"
				Culture="1041"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				AdditionalDependencies="odbc32.lib odbccp32.lib winmm.lib imm32.lib"
				OutputFile=".\Debug/coleco.exe"
				LinkIncremental="2"
				SuppressStartupBanner="true"
				AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86""
				GenerateDebugInformation="true"
				ProgramDatabaseFile=".\Debug/coleco.pdb"
				SubSystem="2"
				RandomizedBaseAddress="1"
				DataExecutionPrevention="0"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
				SuppressStartupBanner="true"
				OutputFile=".\Debug/coleco.bsc"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
			/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			OutputDirectory=".\Release"
			IntermediateDirectory=".\Release"
			ConfigurationType="1"
			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
			UseOfMFC="0"
			ATLMinimizesCRunTimeLibraryUsage="false"
			CharacterSet="2"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
				PreprocessorDefinitions="NDEBUG"
				MkTypLibCompatible="true"
				SuppressStartupBanner="true"
				TargetEnvironment="1"
				TypeLibraryName=".\Release/coleco.tlb"
				HeaderFileName=""
			/>
			<Tool
				Name="VCCLCompilerTool"
				Optimization="2"
				InlineFunctionExpansion="2"
				AdditionalIncludeDirectories=""C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include""
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_COLECO"
				StringPooling="true"
				RuntimeLibrary="0"
				EnableFunctionLevelLinking="true"
				EnableEnhancedInstructionSet="2"
				PrecompiledHeaderFile=".\Release/coleco.pch"
				AssemblerListingLocation=".\Release/"
				ObjectFile=".\Release/"
				ProgramDataBaseFileName=".\Release/"
				BrowseInformation="1"
				WarningLevel="3"
				SuppressStartupBanner="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
				PreprocessorDefinitions="NDEBUG"
				Culture="1033"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				AdditionalDependencies="odbc32.lib odbccp32.lib winmm.lib imm32.lib"
				OutputFile=".\Release/coleco.exe"
				LinkIncremental="1"
				SuppressStartupBanner="true"
				AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86""
				ProgramDatabaseFile=".\Release/coleco.pdb"
				SubSystem="2"
				RandomizedBaseAddress="1"
				DataExecutionPrevention="0"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
				SuppressStartupBanner="true"
				OutputFile=".\Release/coleco.bsc"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
			/>
		</Configuration>
	</Configurations>
	<References>
	</References>
	<Files>
		<Filter
			Name="Source Files"
			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
			>
			<File
				RelativePath="..\src\common.cpp"
				>
				<FileConfiguration
					Name="Debug|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
			</File>
			<File
				RelativePath="..\src\config.cpp"
				>
				<FileConfiguration
					Name="Debug|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
			</File>
			<File
				RelativePath="..\src\fifo.cpp"
				>
				<FileConfiguration
					Name="Debug|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
			</File>
			<File
				RelativePath="..\src\fileio.cpp"
				>
				<FileConfiguration
					Name="Debug|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32"
					>
					<Tool
						Name="VCCLCompilerTool"
						PreprocessorDefinitions=""
					/>
				</FileConfiguration>
			</File>
			<Filter
				Name="EMU Source Files"
				Filter="cpp"
				>
				<File
					RelativePath="..\src\debugger.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\emu.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
			</Filter>
			<Filter
				Name="OSD Source Files"
				Filter="cpp"
				>
				<File
					RelativePath="..\src\win32\osd.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\win32\osd_console.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\win32\osd_input.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\win32\osd_screen.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\win32\osd_sound.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\win32\winmain.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
			</Filter>
			<Filter
				Name="VM Common Source Files"
				Filter="cpp"
				>
				<File
					RelativePath="..\src\vm\event.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\i8255.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\io.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\sn76489an.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\tms9918a.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\z80.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
			</Filter>
			<Filter
				Name="VM Driver Source Files"
				Filter="cpp"
				>
				<File
					RelativePath="..\src\vm\coleco\coleco.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\coleco\keyboard.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
				<File
					RelativePath="..\src\vm\coleco\memory.cpp"
					>
					<FileConfiguration
						Name="Debug|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32"
						>
						<Tool
							Name="VCCLCompilerTool"
							PreprocessorDefinitions=""
						/>
					</FileConfiguration>
				</File>
			</Filter>
		</Filter>
		<Filter
			Name="Header Files"
			Filter="h;hpp;hxx;hm;inl"
			>
			<File
				RelativePath="..\src\common.h"
				>
			</File>
			<File
				RelativePath="..\src\config.h"
				>
			</File>
			<File
				RelativePath="..\src\fifo.h"
				>
			</File>
			<File
				RelativePath="..\src\fileio.h"
				>
			</File>
			<Filter
				Name="EMU Header Files"
				Filter="h"
				>
				<File
					RelativePath="..\src\emu.h"
					>
				</File>
			</Filter>
			<Filter
				Name="OSD Header Files"
				Filter="h"
				>
				<File
					RelativePath="..\src\win32\osd.h"
					>
				</File>
			</Filter>
			<Filter
				Name="VM Common Header Files"
				Filter="h"
				>
				<File
					RelativePath="..\src\vm\debugger.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\device.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\event.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\i8255.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\io.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\sn76489an.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\tms9918a.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\vm.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\z80.h"
					>
				</File>
			</Filter>
			<Filter
				Name="VM Driver Header Files"
				Filter="h"
				>
				<File
					RelativePath="..\src\vm\coleco\coleco.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\coleco\keyboard.h"
					>
				</File>
				<File
					RelativePath="..\src\vm\coleco\memory.h"
					>
				</File>
			</Filter>
		</Filter>
		<Filter
			Name="Resource Files"
			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
			>
			<File
				RelativePath="..\src\res\coleco.ico"
				>
			</File>
			<File
				RelativePath="..\src\res\coleco.rc"
				>
				<FileConfiguration
					Name="Debug|Win32"
					>
					<Tool
						Name="VCResourceCompilerTool"
						PreprocessorDefinitions=""
						AdditionalIncludeDirectories="..\src\res"
					/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32"
					>
					<Tool
						Name="VCResourceCompilerTool"
						PreprocessorDefinitions=""
						AdditionalIncludeDirectories="..\src\res"
					/>
				</FileConfiguration>
			</File>
			<File
				RelativePath="..\src\res\resource.h"
				>
			</File>
		</Filter>
	</Files>
	<Globals>
	</Globals>
</VisualStudioProject>

coleco.rc

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// Japanese resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(932)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE DISCARDABLE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // Japanese resources
/////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//

IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE 
BEGIN
    VK_RETURN,      ID_ACCEL_SCREEN,        VIRTKEY, ALT, NOINVERT
END


/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

IDR_MENU1 MENU DISCARDABLE 
BEGIN
    POPUP "Control"
    BEGIN
        MENUITEM "Reset",                       ID_RESET
        MENUITEM SEPARATOR
        MENUITEM "CPU x1",                      ID_CPU_POWER0
        MENUITEM "CPU x2",                      ID_CPU_POWER1
        MENUITEM "CPU x4",                      ID_CPU_POWER2
        MENUITEM "CPU x8",                      ID_CPU_POWER3
        MENUITEM "CPU x16",                     ID_CPU_POWER4
        MENUITEM SEPARATOR
        MENUITEM "Paste",                       ID_AUTOKEY_START
        MENUITEM "Stop",                        ID_AUTOKEY_STOP
        MENUITEM SEPARATOR
        MENUITEM "Save State",                  ID_SAVE_STATE
        MENUITEM "Load State",                  ID_LOAD_STATE
        MENUITEM SEPARATOR
        MENUITEM "Debug Main CPU",              ID_OPEN_DEBUGGER0
        MENUITEM "Close Debugger",              ID_CLOSE_DEBUGGER
        MENUITEM SEPARATOR
        MENUITEM "Exit",                        ID_EXIT
    END
    POPUP "Cart"
    BEGIN
        MENUITEM "Insert",                      ID_OPEN_CART1
        MENUITEM "Eject",                       ID_CLOSE_CART1
        MENUITEM SEPARATOR
        MENUITEM "Recent",                      ID_RECENT_CART1
    END
    POPUP "Screen"
    BEGIN
        MENUITEM "Rec 60fps",                   ID_SCREEN_REC60
        MENUITEM "Rec 30fps",                   ID_SCREEN_REC30
        MENUITEM "Rec 15fps",                   ID_SCREEN_REC15
        MENUITEM "Stop",                        ID_SCREEN_STOP
        MENUITEM "Capture",                     ID_SCREEN_CAPTURE
        MENUITEM SEPARATOR
        MENUITEM "Window x1",                   ID_SCREEN_WINDOW1
        MENUITEM "Window x2",                   ID_SCREEN_WINDOW2
        MENUITEM "Window x3",                   ID_SCREEN_WINDOW3
        MENUITEM "Window x4",                   ID_SCREEN_WINDOW4
        MENUITEM "Window x5",                   ID_SCREEN_WINDOW5
        MENUITEM "Window x6",                   ID_SCREEN_WINDOW6
        MENUITEM "Window x7",                   ID_SCREEN_WINDOW7
        MENUITEM "Window x8",                   ID_SCREEN_WINDOW8
        MENUITEM "Fullscreen 1",                ID_SCREEN_FULLSCREEN1
        MENUITEM "Fullscreen 2",                ID_SCREEN_FULLSCREEN2
        MENUITEM "Fullscreen 3",                ID_SCREEN_FULLSCREEN3
        MENUITEM "Fullscreen 4",                ID_SCREEN_FULLSCREEN4
        MENUITEM "Fullscreen 5",                ID_SCREEN_FULLSCREEN5
        MENUITEM "Fullscreen 6",                ID_SCREEN_FULLSCREEN6
        MENUITEM "Fullscreen 7",                ID_SCREEN_FULLSCREEN7
        MENUITEM "Fullscreen 8",                ID_SCREEN_FULLSCREEN8
        MENUITEM "Fullscreen 9",                ID_SCREEN_FULLSCREEN9
        MENUITEM "Fullscreen 10",               ID_SCREEN_FULLSCREEN10
        MENUITEM "Fullscreen 11",               ID_SCREEN_FULLSCREEN11
        MENUITEM "Fullscreen 12",               ID_SCREEN_FULLSCREEN12
        MENUITEM "Fullscreen 13",               ID_SCREEN_FULLSCREEN13
        MENUITEM "Fullscreen 14",               ID_SCREEN_FULLSCREEN14
        MENUITEM "Fullscreen 15",               ID_SCREEN_FULLSCREEN15
        MENUITEM "Fullscreen 16",               ID_SCREEN_FULLSCREEN16
        MENUITEM "Fullscreen 17",               ID_SCREEN_FULLSCREEN17
        MENUITEM "Fullscreen 18",               ID_SCREEN_FULLSCREEN18
        MENUITEM "Fullscreen 19",               ID_SCREEN_FULLSCREEN19
        MENUITEM "Fullscreen 20",               ID_SCREEN_FULLSCREEN20
        MENUITEM "Fullscreen 21",               ID_SCREEN_FULLSCREEN21
        MENUITEM "Fullscreen 22",               ID_SCREEN_FULLSCREEN22
        MENUITEM "Fullscreen 23",               ID_SCREEN_FULLSCREEN23
        MENUITEM "Fullscreen 24",               ID_SCREEN_FULLSCREEN24
        MENUITEM "Fullscreen 25",               ID_SCREEN_FULLSCREEN25
        MENUITEM "Fullscreen 26",               ID_SCREEN_FULLSCREEN26
        MENUITEM "Fullscreen 27",               ID_SCREEN_FULLSCREEN27
        MENUITEM "Fullscreen 28",               ID_SCREEN_FULLSCREEN28
        MENUITEM "Fullscreen 29",               ID_SCREEN_FULLSCREEN29
        MENUITEM "Fullscreen 30",               ID_SCREEN_FULLSCREEN30
        MENUITEM "Fullscreen 31",               ID_SCREEN_FULLSCREEN31
        MENUITEM "Fullscreen 32",               ID_SCREEN_FULLSCREEN32
        MENUITEM SEPARATOR
        MENUITEM "Fullscreen Stretch 1",        ID_SCREEN_FULLSCREEN_STRETCH1
        MENUITEM "Fullscreen Stretch 2",        ID_SCREEN_FULLSCREEN_STRETCH2
        MENUITEM "Fullscreen Stretch 4",        ID_SCREEN_FULLSCREEN_STRETCH4
        MENUITEM SEPARATOR
        MENUITEM "Use Direct3D9",               ID_SCREEN_USE_D3D9
        MENUITEM "Wait Vsync",                  ID_SCREEN_WAIT_VSYNC
    END
    POPUP "Sound"
    BEGIN
        MENUITEM "Rec",                         ID_SOUND_REC
        MENUITEM "Stop",                        ID_SOUND_STOP
        MENUITEM SEPARATOR
        MENUITEM "2000Hz",                      ID_SOUND_FREQ0
        MENUITEM "4000Hz",                      ID_SOUND_FREQ1
        MENUITEM "8000Hz",                      ID_SOUND_FREQ2
        MENUITEM "11025Hz",                     ID_SOUND_FREQ3
        MENUITEM "22050Hz",                     ID_SOUND_FREQ4
        MENUITEM "44100Hz",                     ID_SOUND_FREQ5
        MENUITEM "48000Hz",                     ID_SOUND_FREQ6
        MENUITEM "96000Hz",                     ID_SOUND_FREQ7
        MENUITEM SEPARATOR
        MENUITEM "50msec",                      ID_SOUND_LATE0
        MENUITEM "100msec",                     ID_SOUND_LATE1
        MENUITEM "200msec",                     ID_SOUND_LATE2
        MENUITEM "300msec",                     ID_SOUND_LATE3
        MENUITEM "400msec",                     ID_SOUND_LATE4
        MENUITEM SEPARATOR
        MENUITEM "Volume",                      ID_SOUND_VOLUME
    END
    POPUP "Input"
    BEGIN
        MENUITEM "Use DirectInput",             ID_INPUT_USE_DINPUT
        MENUITEM "Disable Windows 8 DWM",       ID_INPUT_DISABLE_DWM
        MENUITEM SEPARATOR
        MENUITEM "Joystick #1",                 ID_INPUT_JOYSTICK0
        MENUITEM "Joystick #2",                 ID_INPUT_JOYSTICK1
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1               ICON    DISCARDABLE     "coleco.ico"
#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_VOLUME DIALOG DISCARDABLE  0, 0, 250, 90
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Volume"
FONT 9, "MS PGothic"
BEGIN
    LTEXT           "Sound Device #1",IDC_VOLUME_CAPTION0,6,6,60,8
    CONTROL         "",IDC_VOLUME_PARAM_L0,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,6,175,12
    CONTROL         "",IDC_VOLUME_PARAM_R0,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,21,175,12
    LTEXT           "Sound Device #2",IDC_VOLUME_CAPTION1,6,36,60,8
    CONTROL         "",IDC_VOLUME_PARAM_L1,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,36,175,12
    CONTROL         "",IDC_VOLUME_PARAM_R1,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,51,175,12
    DEFPUSHBUTTON   "OK",IDOK,70,70,50,14
    DEFPUSHBUTTON   "Reset",IDC_VOLUME_RESET,130,70,50,14
END

IDD_JOYSTICK DIALOG DISCARDABLE  0, 0, 175, 120
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Joystick #1"
FONT 9, "MS PGothic"
BEGIN
    LTEXT           "Button #1",IDC_JOYSTICK_CAPTION0,6,6,40,8
    EDITTEXT        IDC_JOYSTICK_PARAM0,50,4,120,14,ES_MULTILINE
    LTEXT           "Button #2",IDC_JOYSTICK_CAPTION1,6,21,40,8
    EDITTEXT        IDC_JOYSTICK_PARAM1,50,19,120,14,ES_MULTILINE
    LTEXT           "Button #3",IDC_JOYSTICK_CAPTION2,6,36,40,8
    EDITTEXT        IDC_JOYSTICK_PARAM2,50,34,120,14,ES_MULTILINE
    LTEXT           "Button #4",IDC_JOYSTICK_CAPTION3,6,51,40,8
    EDITTEXT        IDC_JOYSTICK_PARAM3,50,49,120,14,ES_MULTILINE
    LTEXT           "Button #5",IDC_JOYSTICK_CAPTION4,6,66,40,8
    EDITTEXT        IDC_JOYSTICK_PARAM4,50,64,120,14,ES_MULTILINE
    LTEXT           "Button #6",IDC_JOYSTICK_CAPTION5,6,81,40,8
    EDITTEXT        IDC_JOYSTICK_PARAM5,50,79,120,14,ES_MULTILINE
    DEFPUSHBUTTON   "OK",IDOK,35,100,50,14
    DEFPUSHBUTTON   "Reset",IDC_JOYSTICK_RESET,90,100,50,14
END



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED