First cut of TCP input

This commit is contained in:
sicklittlemonkey 2015-07-09 22:31:04 +12:00
parent 0d7cbfd463
commit fec52f8c39
16 changed files with 5269 additions and 4551 deletions

View File

@ -1,415 +1,418 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug NoDX|Win32"> <ProjectConfiguration Include="Debug NoDX|Win32">
<Configuration>Debug NoDX</Configuration> <Configuration>Debug NoDX</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release NoDX|Win32"> <ProjectConfiguration Include="Release NoDX|Win32">
<Configuration>Release NoDX</Configuration> <Configuration>Release NoDX</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="resource\resource.h" /> <ClInclude Include="resource\resource.h" />
<ClInclude Include="resource\winres.h" /> <ClInclude Include="resource\winres.h" />
<ClInclude Include="source\6821.h" /> <ClInclude Include="source\6821.h" />
<ClInclude Include="source\Applewin.h" /> <ClInclude Include="source\Applewin.h" />
<ClInclude Include="source\AY8910.h" /> <ClInclude Include="source\AY8910.h" />
<ClInclude Include="source\Common.h" /> <ClInclude Include="source\Common.h" />
<ClInclude Include="source\CommonVICE\6510core.h" /> <ClInclude Include="source\CommonVICE\6510core.h" />
<ClInclude Include="source\CommonVICE\alarm.h" /> <ClInclude Include="source\CommonVICE\alarm.h" />
<ClInclude Include="source\CommonVICE\interrupt.h" /> <ClInclude Include="source\CommonVICE\interrupt.h" />
<ClInclude Include="source\CommonVICE\mem.h" /> <ClInclude Include="source\CommonVICE\mem.h" />
<ClInclude Include="source\CommonVICE\types.h" /> <ClInclude Include="source\CommonVICE\types.h" />
<ClInclude Include="source\Configuration\About.h" /> <ClInclude Include="source\Configuration\About.h" />
<ClInclude Include="source\Configuration\Config.h" /> <ClInclude Include="source\Configuration\Config.h" />
<ClInclude Include="source\Configuration\IPropertySheet.h" /> <ClInclude Include="source\Configuration\IPropertySheet.h" />
<ClInclude Include="source\Configuration\IPropertySheetPage.h" /> <ClInclude Include="source\Configuration\IPropertySheetPage.h" />
<ClInclude Include="source\Configuration\PageAdvanced.h" /> <ClInclude Include="source\Configuration\PageAdvanced.h" />
<ClInclude Include="source\Configuration\PageConfig.h" /> <ClInclude Include="source\Configuration\PageConfig.h" />
<ClInclude Include="source\Configuration\PageConfigTfe.h" /> <ClInclude Include="source\Configuration\PageConfigTfe.h" />
<ClInclude Include="source\Configuration\PageDisk.h" /> <ClInclude Include="source\Configuration\PageDisk.h" />
<ClInclude Include="source\Configuration\PageInput.h" /> <ClInclude Include="source\Configuration\PageInput.h" />
<ClInclude Include="source\Configuration\PageSound.h" /> <ClInclude Include="source\Configuration\PageSound.h" />
<ClInclude Include="source\Configuration\PropertySheet.h" /> <ClInclude Include="source\Configuration\PropertySheet.h" />
<ClInclude Include="source\Configuration\PropertySheetDefs.h" /> <ClInclude Include="source\Configuration\PropertySheetDefs.h" />
<ClInclude Include="source\Configuration\PropertySheetHelper.h" /> <ClInclude Include="source\Configuration\PropertySheetHelper.h" />
<ClInclude Include="source\CPU.h" /> <ClInclude Include="source\CPU.h" />
<ClInclude Include="source\CPU\cpu6502.h" /> <ClInclude Include="source\CPU\cpu6502.h" />
<ClInclude Include="source\CPU\cpu65C02.h" /> <ClInclude Include="source\CPU\cpu65C02.h" />
<ClInclude Include="source\CPU\cpu65d02.h" /> <ClInclude Include="source\CPU\cpu65d02.h" />
<ClInclude Include="source\Debugger\Debug.h" /> <ClInclude Include="source\Debugger\Debug.h" />
<ClInclude Include="source\Debugger\Debugger_Assembler.h" /> <ClInclude Include="source\Debugger\Debugger_Assembler.h" />
<ClInclude Include="source\Debugger\Debugger_Color.h" /> <ClInclude Include="source\Debugger\Debugger_Color.h" />
<ClInclude Include="source\Debugger\Debugger_Console.h" /> <ClInclude Include="source\Debugger\Debugger_Console.h" />
<ClInclude Include="source\Debugger\Debugger_DisassemblerData.h" /> <ClInclude Include="source\Debugger\Debugger_DisassemblerData.h" />
<ClInclude Include="source\Debugger\Debugger_Display.h" /> <ClInclude Include="source\Debugger\Debugger_Display.h" />
<ClInclude Include="source\Debugger\Debugger_Help.h" /> <ClInclude Include="source\Debugger\Debugger_Help.h" />
<ClInclude Include="source\Debugger\Debugger_Parser.h" /> <ClInclude Include="source\Debugger\Debugger_Parser.h" />
<ClInclude Include="source\Debugger\Debugger_Range.h" /> <ClInclude Include="source\Debugger\Debugger_Range.h" />
<ClInclude Include="source\Debugger\Debugger_Symbols.h" /> <ClInclude Include="source\Debugger\Debugger_Symbols.h" />
<ClInclude Include="source\Debugger\Debugger_Types.h" /> <ClInclude Include="source\Debugger\Debugger_Types.h" />
<ClInclude Include="source\Disk.h" /> <ClInclude Include="source\Disk.h" />
<ClInclude Include="source\DiskImage.h" /> <ClInclude Include="source\DiskImage.h" />
<ClInclude Include="source\DiskImageHelper.h" /> <ClInclude Include="source\DiskImageHelper.h" />
<ClInclude Include="source\Frame.h" /> <ClInclude Include="source\Frame.h" />
<ClInclude Include="source\Harddisk.h" /> <ClInclude Include="source\GenericSocketDriver.h" />
<ClInclude Include="source\Joystick.h" /> <ClInclude Include="source\Harddisk.h" />
<ClInclude Include="source\Keyboard.h" /> <ClInclude Include="source\Joystick.h" />
<ClInclude Include="source\Log.h" /> <ClInclude Include="source\Keyboard.h" />
<ClInclude Include="source\Memory.h" /> <ClInclude Include="source\Log.h" />
<ClInclude Include="source\Mockingboard.h" /> <ClInclude Include="source\Memory.h" />
<ClInclude Include="source\MouseInterface.h" /> <ClInclude Include="source\Mockingboard.h" />
<ClInclude Include="source\NoSlotClock.h" /> <ClInclude Include="source\MouseInterface.h" />
<ClInclude Include="source\ParallelPrinter.h" /> <ClInclude Include="source\NoSlotClock.h" />
<ClInclude Include="source\Registry.h" /> <ClInclude Include="source\ParallelPrinter.h" />
<ClInclude Include="source\Riff.h" /> <ClInclude Include="source\Registry.h" />
<ClInclude Include="source\SaveState.h" /> <ClInclude Include="source\Riff.h" />
<ClInclude Include="source\SerialComms.h" /> <ClInclude Include="source\SaveState.h" />
<ClInclude Include="source\SoundCore.h" /> <ClInclude Include="source\SerialComms.h" />
<ClInclude Include="source\Speaker.h" /> <ClInclude Include="source\SoundCore.h" />
<ClInclude Include="source\Speech.h" /> <ClInclude Include="source\Speaker.h" />
<ClInclude Include="source\SSI263Phonemes.h" /> <ClInclude Include="source\Speech.h" />
<ClInclude Include="source\StdAfx.h" /> <ClInclude Include="source\SSI263Phonemes.h" />
<ClInclude Include="source\Structs.h" /> <ClInclude Include="source\StdAfx.h" />
<ClInclude Include="source\Tape.h" /> <ClInclude Include="source\Structs.h" />
<ClInclude Include="source\Tfe\Bittypes.h" /> <ClInclude Include="source\Tape.h" />
<ClInclude Include="source\Tfe\Bpf.h" /> <ClInclude Include="source\Tfe\Bittypes.h" />
<ClInclude Include="source\Tfe\Ip6_misc.h" /> <ClInclude Include="source\Tfe\Bpf.h" />
<ClInclude Include="source\Tfe\Pcap-stdinc.h" /> <ClInclude Include="source\Tfe\Ip6_misc.h" />
<ClInclude Include="source\Tfe\Pcap.h" /> <ClInclude Include="source\Tfe\Pcap-stdinc.h" />
<ClInclude Include="source\Tfe\Tfe.h" /> <ClInclude Include="source\Tfe\Pcap.h" />
<ClInclude Include="source\Tfe\Tfearch.h" /> <ClInclude Include="source\Tfe\Tfe.h" />
<ClInclude Include="source\Tfe\Tfesupp.h" /> <ClInclude Include="source\Tfe\Tfearch.h" />
<ClInclude Include="source\Tfe\Uilib.h" /> <ClInclude Include="source\Tfe\Tfesupp.h" />
<ClInclude Include="source\Util_MemoryTextFile.h" /> <ClInclude Include="source\Tfe\Uilib.h" />
<ClInclude Include="source\Video.h" /> <ClInclude Include="source\Util_MemoryTextFile.h" />
<ClInclude Include="source\z80emu.h" /> <ClInclude Include="source\Video.h" />
<ClInclude Include="source\Z80VICE\daa.h" /> <ClInclude Include="source\z80emu.h" />
<ClInclude Include="source\Z80VICE\z80.h" /> <ClInclude Include="source\Z80VICE\daa.h" />
<ClInclude Include="source\Z80VICE\z80mem.h" /> <ClInclude Include="source\Z80VICE\z80.h" />
<ClInclude Include="source\Z80VICE\z80regs.h" /> <ClInclude Include="source\Z80VICE\z80mem.h" />
</ItemGroup> <ClInclude Include="source\Z80VICE\z80regs.h" />
<ItemGroup> </ItemGroup>
<Text Include="docs\CodingConventions.txt" /> <ItemGroup>
<Text Include="docs\Debugger_Changelog.txt" /> <Text Include="docs\CodingConventions.txt" />
<Text Include="docs\FAQ.txt" /> <Text Include="docs\Debugger_Changelog.txt" />
<Text Include="docs\History.txt" /> <Text Include="docs\FAQ.txt" />
<Text Include="docs\ToDo.txt" /> <Text Include="docs\History.txt" />
<Text Include="docs\Video_Cleanup.txt" /> <Text Include="docs\ToDo.txt" />
<Text Include="docs\Wishlist.txt" /> <Text Include="docs\Video_Cleanup.txt" />
</ItemGroup> <Text Include="docs\Wishlist.txt" />
<ItemGroup> </ItemGroup>
<ClCompile Include="source\6821.cpp" /> <ItemGroup>
<ClCompile Include="source\Applewin.cpp" /> <ClCompile Include="source\6821.cpp" />
<ClCompile Include="source\AY8910.cpp" /> <ClCompile Include="source\Applewin.cpp" />
<ClCompile Include="source\Configuration\About.cpp" /> <ClCompile Include="source\AY8910.cpp" />
<ClCompile Include="source\Configuration\PageAdvanced.cpp" /> <ClCompile Include="source\Configuration\About.cpp" />
<ClCompile Include="source\Configuration\PageConfig.cpp" /> <ClCompile Include="source\Configuration\PageAdvanced.cpp" />
<ClCompile Include="source\Configuration\PageConfigTfe.cpp" /> <ClCompile Include="source\Configuration\PageConfig.cpp" />
<ClCompile Include="source\Configuration\PageDisk.cpp" /> <ClCompile Include="source\Configuration\PageConfigTfe.cpp" />
<ClCompile Include="source\Configuration\PageInput.cpp" /> <ClCompile Include="source\Configuration\PageDisk.cpp" />
<ClCompile Include="source\Configuration\PageSound.cpp" /> <ClCompile Include="source\Configuration\PageInput.cpp" />
<ClCompile Include="source\Configuration\PropertySheet.cpp" /> <ClCompile Include="source\Configuration\PageSound.cpp" />
<ClCompile Include="source\Configuration\PropertySheetHelper.cpp" /> <ClCompile Include="source\Configuration\PropertySheet.cpp" />
<ClCompile Include="source\CPU.cpp" /> <ClCompile Include="source\Configuration\PropertySheetHelper.cpp" />
<ClCompile Include="source\Debugger\Debug.cpp" /> <ClCompile Include="source\CPU.cpp" />
<ClCompile Include="source\Debugger\Debugger_Assembler.cpp" /> <ClCompile Include="source\Debugger\Debug.cpp" />
<ClCompile Include="source\Debugger\Debugger_Color.cpp" /> <ClCompile Include="source\Debugger\Debugger_Assembler.cpp" />
<ClCompile Include="source\Debugger\Debugger_Commands.cpp" /> <ClCompile Include="source\Debugger\Debugger_Color.cpp" />
<ClCompile Include="source\Debugger\Debugger_Console.cpp" /> <ClCompile Include="source\Debugger\Debugger_Commands.cpp" />
<ClCompile Include="source\Debugger\Debugger_DisassemblerData.cpp" /> <ClCompile Include="source\Debugger\Debugger_Console.cpp" />
<ClCompile Include="source\Debugger\Debugger_Display.cpp" /> <ClCompile Include="source\Debugger\Debugger_DisassemblerData.cpp" />
<ClCompile Include="source\Debugger\Debugger_Help.cpp" /> <ClCompile Include="source\Debugger\Debugger_Display.cpp" />
<ClCompile Include="source\Debugger\Debugger_Parser.cpp" /> <ClCompile Include="source\Debugger\Debugger_Help.cpp" />
<ClCompile Include="source\Debugger\Debugger_Range.cpp" /> <ClCompile Include="source\Debugger\Debugger_Parser.cpp" />
<ClCompile Include="source\Debugger\Debugger_Symbols.cpp" /> <ClCompile Include="source\Debugger\Debugger_Range.cpp" />
<ClCompile Include="source\Disk.cpp" /> <ClCompile Include="source\Debugger\Debugger_Symbols.cpp" />
<ClCompile Include="source\DiskImage.cpp" /> <ClCompile Include="source\Disk.cpp" />
<ClCompile Include="source\DiskImageHelper.cpp" /> <ClCompile Include="source\DiskImage.cpp" />
<ClCompile Include="source\Frame.cpp" /> <ClCompile Include="source\DiskImageHelper.cpp" />
<ClCompile Include="source\Harddisk.cpp" /> <ClCompile Include="source\Frame.cpp" />
<ClCompile Include="source\Joystick.cpp" /> <ClCompile Include="source\GenericSocketDriver.cpp" />
<ClCompile Include="source\Keyboard.cpp" /> <ClCompile Include="source\Harddisk.cpp" />
<ClCompile Include="source\Log.cpp" /> <ClCompile Include="source\Joystick.cpp" />
<ClCompile Include="source\Memory.cpp" /> <ClCompile Include="source\Keyboard.cpp" />
<ClCompile Include="source\Mockingboard.cpp" /> <ClCompile Include="source\Log.cpp" />
<ClCompile Include="source\MouseInterface.cpp" /> <ClCompile Include="source\Memory.cpp" />
<ClCompile Include="source\NoSlotClock.cpp" /> <ClCompile Include="source\Mockingboard.cpp" />
<ClCompile Include="source\ParallelPrinter.cpp" /> <ClCompile Include="source\MouseInterface.cpp" />
<ClCompile Include="source\Registry.cpp" /> <ClCompile Include="source\NoSlotClock.cpp" />
<ClCompile Include="source\Riff.cpp" /> <ClCompile Include="source\ParallelPrinter.cpp" />
<ClCompile Include="source\SaveState.cpp" /> <ClCompile Include="source\Registry.cpp" />
<ClCompile Include="source\SerialComms.cpp" /> <ClCompile Include="source\Riff.cpp" />
<ClCompile Include="source\SoundCore.cpp" /> <ClCompile Include="source\SaveState.cpp" />
<ClCompile Include="source\Speaker.cpp" /> <ClCompile Include="source\SerialComms.cpp" />
<ClCompile Include="source\Speech.cpp" /> <ClCompile Include="source\SoundCore.cpp" />
<ClCompile Include="source\StdAfx.cpp"> <ClCompile Include="source\Speaker.cpp" />
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> <ClCompile Include="source\Speech.cpp" />
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">Create</PrecompiledHeader> <ClCompile Include="source\StdAfx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">Create</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<ClCompile Include="source\Tape.cpp" /> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">Create</PrecompiledHeader>
<ClCompile Include="source\Tfe\Tfe.cpp"> </ClCompile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Tape.cpp" />
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Tfe\Tfe.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Tfe\Tfearch.cpp"> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> </ClCompile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Tfe\Tfearch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Tfe\Tfesupp.cpp"> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> </ClCompile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Tfe\Tfesupp.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Tfe\Uilib.cpp"> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> </ClCompile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Tfe\Uilib.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Util_MemoryTextFile.cpp" /> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Video.cpp" /> </ClCompile>
<ClCompile Include="source\z80emu.cpp" /> <ClCompile Include="source\Util_MemoryTextFile.cpp" />
<ClCompile Include="source\Z80VICE\daa.cpp"> <ClCompile Include="source\Video.cpp" />
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\z80emu.cpp" />
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Z80VICE\daa.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Z80VICE\z80.cpp"> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> </ClCompile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Z80VICE\z80.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<ClCompile Include="source\Z80VICE\z80mem.cpp"> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader> </ClCompile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader> <ClCompile Include="source\Z80VICE\z80mem.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
</ItemGroup> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
<ItemGroup> </ClCompile>
<None Include="resource\Apple2.rom" /> </ItemGroup>
<None Include="resource\Apple2e.rom" /> <ItemGroup>
<None Include="resource\Apple2e_Enhanced.rom" /> <None Include="resource\Apple2.rom" />
<None Include="resource\Apple2_Plus.rom" /> <None Include="resource\Apple2e.rom" />
<None Include="resource\DISK2.rom" /> <None Include="resource\Apple2e_Enhanced.rom" />
<None Include="resource\Freezes_Non-autostart_F8_Rom.rom" /> <None Include="resource\Apple2_Plus.rom" />
<None Include="resource\Hddrvr.bin" /> <None Include="resource\DISK2.rom" />
<None Include="resource\Mockingboard-D.rom" /> <None Include="resource\Freezes_Non-autostart_F8_Rom.rom" />
<None Include="resource\MouseInterface.rom" /> <None Include="resource\Hddrvr.bin" />
<None Include="resource\Parallel.rom" /> <None Include="resource\Mockingboard-D.rom" />
<None Include="resource\PRAVETS82.ROM" /> <None Include="resource\MouseInterface.rom" />
<None Include="resource\PRAVETS8C.ROM" /> <None Include="resource\Parallel.rom" />
<None Include="resource\PRAVETS8M.ROM" /> <None Include="resource\PRAVETS82.ROM" />
<None Include="resource\SSC.rom" /> <None Include="resource\PRAVETS8C.ROM" />
<None Include="resource\ThunderClockPlus.rom" /> <None Include="resource\PRAVETS8M.ROM" />
<None Include="source\CPU\cpu_general.inl" /> <None Include="resource\SSC.rom" />
<None Include="source\CPU\cpu_instructions.inl" /> <None Include="resource\ThunderClockPlus.rom" />
</ItemGroup> <None Include="source\CPU\cpu_general.inl" />
<ItemGroup> <None Include="source\CPU\cpu_instructions.inl" />
<ProjectReference Include="zip_lib\zip_lib2013.vcxproj"> </ItemGroup>
<Project>{509739e7-0af3-4c09-a1a9-f0b1bc31b39d}</Project> <ItemGroup>
</ProjectReference> <ProjectReference Include="zip_lib\zip_lib2013.vcxproj">
<ProjectReference Include="zlib\zlib-Express2013.vcxproj"> <Project>{509739e7-0af3-4c09-a1a9-f0b1bc31b39d}</Project>
<Project>{9b32a6e7-1237-4f36-8903-a3fd51df9c4e}</Project> </ProjectReference>
</ProjectReference> <ProjectReference Include="zlib\zlib-Express2013.vcxproj">
</ItemGroup> <Project>{9b32a6e7-1237-4f36-8903-a3fd51df9c4e}</Project>
<ItemGroup> </ProjectReference>
<Image Include="resource\Applewin.bmp" /> </ItemGroup>
<Image Include="resource\APPLEWIN.ICO" /> <ItemGroup>
<Image Include="resource\CAPSOFF.BMP" /> <Image Include="resource\Applewin.bmp" />
<Image Include="resource\CAPSOFF_P8.BMP" /> <Image Include="resource\APPLEWIN.ICO" />
<Image Include="resource\CAPSON.BMP" /> <Image Include="resource\CAPSOFF.BMP" />
<Image Include="resource\CAPSON_P8.BMP" /> <Image Include="resource\CAPSOFF_P8.BMP" />
<Image Include="resource\CHARSET4.BMP" /> <Image Include="resource\CAPSON.BMP" />
<Image Include="resource\CHARSET82.bmp" /> <Image Include="resource\CAPSON_P8.BMP" />
<Image Include="resource\CHARSET8C.bmp" /> <Image Include="resource\CHARSET4.BMP" />
<Image Include="resource\CHARSET8M.bmp" /> <Image Include="resource\CHARSET82.bmp" />
<Image Include="resource\COLOR.BMP" /> <Image Include="resource\CHARSET8C.bmp" />
<Image Include="resource\DEBUG.BMP" /> <Image Include="resource\CHARSET8M.bmp" />
<Image Include="resource\Debug_Font.bmp" /> <Image Include="resource\COLOR.BMP" />
<Image Include="resource\DISK.ICO" /> <Image Include="resource\DEBUG.BMP" />
<Image Include="resource\DISKOFF.BMP" /> <Image Include="resource\Debug_Font.bmp" />
<Image Include="resource\DISKPROT.BMP" /> <Image Include="resource\DISK.ICO" />
<Image Include="resource\DISKREAD.BMP" /> <Image Include="resource\DISKOFF.BMP" />
<Image Include="resource\DISKWRIT.BMP" /> <Image Include="resource\DISKPROT.BMP" />
<Image Include="resource\DRIVE1.BMP" /> <Image Include="resource\DISKREAD.BMP" />
<Image Include="resource\DRIVE2.BMP" /> <Image Include="resource\DISKWRIT.BMP" />
<Image Include="resource\DriveSwap.bmp" /> <Image Include="resource\DRIVE1.BMP" />
<Image Include="resource\FULLSCR.BMP" /> <Image Include="resource\DRIVE2.BMP" />
<Image Include="resource\HELP.BMP" /> <Image Include="resource\DriveSwap.bmp" />
<Image Include="resource\LATOFF.BMP" /> <Image Include="resource\FULLSCR.BMP" />
<Image Include="resource\LATON.BMP" /> <Image Include="resource\HELP.BMP" />
<Image Include="resource\LED_CAPS_OFF.BMP" /> <Image Include="resource\LATOFF.BMP" />
<Image Include="resource\LED_CAPS_OFF_LAT.BMP" /> <Image Include="resource\LATON.BMP" />
<Image Include="resource\LED_CAPS_OFF_P8.BMP" /> <Image Include="resource\LED_CAPS_OFF.BMP" />
<Image Include="resource\LED_CAPS_ON.BMP" /> <Image Include="resource\LED_CAPS_OFF_LAT.BMP" />
<Image Include="resource\LED_CAPS_ON_LAT.BMP" /> <Image Include="resource\LED_CAPS_OFF_P8.BMP" />
<Image Include="resource\LED_CAPS_ON_P8.BMP" /> <Image Include="resource\LED_CAPS_ON.BMP" />
<Image Include="resource\RUN.BMP" /> <Image Include="resource\LED_CAPS_ON_LAT.BMP" />
<Image Include="resource\RUNP.BMP" /> <Image Include="resource\LED_CAPS_ON_P8.BMP" />
<Image Include="resource\SETUP.BMP" /> <Image Include="resource\RUN.BMP" />
</ItemGroup> <Image Include="resource\RUNP.BMP" />
<ItemGroup> <Image Include="resource\SETUP.BMP" />
<ResourceCompile Include="resource\Applewin.rc" /> </ItemGroup>
</ItemGroup> <ItemGroup>
<PropertyGroup Label="Globals"> <ResourceCompile Include="resource\Applewin.rc" />
<ProjectGuid>{0A960136-A00A-4D4B-805F-664D9950D2CA}</ProjectGuid> </ItemGroup>
<Keyword>Win32Proj</Keyword> <PropertyGroup Label="Globals">
<RootNamespace>AppleWinExpress2013</RootNamespace> <ProjectGuid>{0A960136-A00A-4D4B-805F-664D9950D2CA}</ProjectGuid>
<ProjectName>AppleWin</ProjectName> <Keyword>Win32Proj</Keyword>
</PropertyGroup> <RootNamespace>AppleWinExpress2013</RootNamespace>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <ProjectName>AppleWin</ProjectName>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> </PropertyGroup>
<ConfigurationType>Application</ConfigurationType> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<UseDebugLibraries>true</UseDebugLibraries> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<PlatformToolset>v120</PlatformToolset> <ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet> <UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup> <PlatformToolset>v120</PlatformToolset>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="Configuration"> <CharacterSet>MultiByte</CharacterSet>
<ConfigurationType>Application</ConfigurationType> </PropertyGroup>
<UseDebugLibraries>true</UseDebugLibraries> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="Configuration">
<PlatformToolset>v120</PlatformToolset> <ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet> <UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup> <PlatformToolset>v120</PlatformToolset>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <CharacterSet>MultiByte</CharacterSet>
<ConfigurationType>Application</ConfigurationType> </PropertyGroup>
<UseDebugLibraries>false</UseDebugLibraries> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<PlatformToolset>v120</PlatformToolset> <ConfigurationType>Application</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization> <UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v120</PlatformToolset>
</PropertyGroup> <WholeProgramOptimization>false</WholeProgramOptimization>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="Configuration"> <CharacterSet>MultiByte</CharacterSet>
<ConfigurationType>Application</ConfigurationType> </PropertyGroup>
<UseDebugLibraries>false</UseDebugLibraries> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="Configuration">
<PlatformToolset>v120</PlatformToolset> <ConfigurationType>Application</ConfigurationType>
<WholeProgramOptimization>false</WholeProgramOptimization> <UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v120</PlatformToolset>
</PropertyGroup> <WholeProgramOptimization>false</WholeProgramOptimization>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <CharacterSet>MultiByte</CharacterSet>
<ImportGroup Label="ExtensionSettings"> </PropertyGroup>
</ImportGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="ExtensionSettings">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup>
</ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup>
</ImportGroup> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="PropertySheets">
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup>
</ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup>
</ImportGroup> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="PropertySheets">
<PropertyGroup Label="UserMacros" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> </ImportGroup>
<LinkIncremental>true</LinkIncremental> <PropertyGroup Label="UserMacros" />
</PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'"> <LinkIncremental>true</LinkIncremental>
<LinkIncremental>true</LinkIncremental> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <LinkIncremental>true</LinkIncremental>
<LinkIncremental>false</LinkIncremental> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'"> <LinkIncremental>false</LinkIncremental>
<LinkIncremental>false</LinkIncremental> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <LinkIncremental>false</LinkIncremental>
<ClCompile> </PropertyGroup>
<PrecompiledHeader>Use</PrecompiledHeader> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<WarningLevel>Level3</WarningLevel> <ClCompile>
<Optimization>Disabled</Optimization> <PrecompiledHeader>Use</PrecompiledHeader>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <SDLCheck>true</SDLCheck>
</ClCompile> <AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Link> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<SubSystem>Windows</SubSystem> <ShowIncludes>true</ShowIncludes>
<GenerateDebugInformation>true</GenerateDebugInformation> </ClCompile>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies> <Link>
</Link> <SubSystem>Windows</SubSystem>
</ItemDefinitionGroup> <GenerateDebugInformation>true</GenerateDebugInformation>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'"> <AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ClCompile> </Link>
<PrecompiledHeader>Use</PrecompiledHeader> </ItemDefinitionGroup>
<WarningLevel>Level3</WarningLevel> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
<Optimization>Disabled</Optimization> <ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PrecompiledHeader>Use</PrecompiledHeader>
<SDLCheck>true</SDLCheck> <WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile> <SDLCheck>true</SDLCheck>
<Link> <AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<SubSystem>Windows</SubSystem> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation> </ClCompile>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies> <Link>
</Link> <SubSystem>Windows</SubSystem>
</ItemDefinitionGroup> <GenerateDebugInformation>true</GenerateDebugInformation>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ClCompile> </Link>
<WarningLevel>Level3</WarningLevel> </ItemDefinitionGroup>
<PrecompiledHeader>Use</PrecompiledHeader> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Optimization>MaxSpeed</Optimization> <ClCompile>
<FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions> <PrecompiledHeader>Use</PrecompiledHeader>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <Optimization>MaxSpeed</Optimization>
<SDLCheck>true</SDLCheck> <FunctionLevelLinking>true</FunctionLevelLinking>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <SDLCheck>true</SDLCheck>
</ClCompile> <AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Link> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<SubSystem>Windows</SubSystem> <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<GenerateDebugInformation>true</GenerateDebugInformation> </ClCompile>
<EnableCOMDATFolding>true</EnableCOMDATFolding> <Link>
<OptimizeReferences>true</OptimizeReferences> <SubSystem>Windows</SubSystem>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> <EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link> <OptimizeReferences>true</OptimizeReferences>
</ItemDefinitionGroup> <AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'"> <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<ClCompile> </Link>
<WarningLevel>Level3</WarningLevel> </ItemDefinitionGroup>
<PrecompiledHeader>Use</PrecompiledHeader> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
<Optimization>MaxSpeed</Optimization> <ClCompile>
<FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions> <PrecompiledHeader>Use</PrecompiledHeader>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;%(PreprocessorDefinitions)</PreprocessorDefinitions> <Optimization>MaxSpeed</Optimization>
<SDLCheck>true</SDLCheck> <FunctionLevelLinking>true</FunctionLevelLinking>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <SDLCheck>true</SDLCheck>
</ClCompile> <AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Link> <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<SubSystem>Windows</SubSystem> <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<GenerateDebugInformation>true</GenerateDebugInformation> </ClCompile>
<EnableCOMDATFolding>true</EnableCOMDATFolding> <Link>
<OptimizeReferences>true</OptimizeReferences> <SubSystem>Windows</SubSystem>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies> <GenerateDebugInformation>true</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> <EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link> <OptimizeReferences>true</OptimizeReferences>
</ItemDefinitionGroup> <AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<ImportGroup Label="ExtensionTargets"> </Link>
</ImportGroup> </ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project> </Project>

View File

@ -1,465 +1,466 @@
// Microsoft Visual C++ generated resource script. // Microsoft Visual C++ generated resource script.
// //
#include "resource.h" #include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS #define APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Generated from the TEXTINCLUDE 2 resource. // Generated from the TEXTINCLUDE 2 resource.
// //
#include "winres.h" #include "winres.h"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS #undef APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources // English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32 #ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252) #pragma code_page(1252)
#endif //_WIN32 #endif //_WIN32
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE 1 TEXTINCLUDE
BEGIN BEGIN
"resource.h\0" "resource.h\0"
END END
2 TEXTINCLUDE 2 TEXTINCLUDE
BEGIN BEGIN
"#include ""winres.h""\r\n" "#include ""winres.h""\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE 3 TEXTINCLUDE
BEGIN BEGIN
"\r\n" "\r\n"
"\0" "\0"
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Bitmap // Bitmap
// //
FULLSCR_BUTTON BITMAP "FULLSCR.BMP" FULLSCR_BUTTON BITMAP "FULLSCR.BMP"
RUN_BUTTON BITMAP "RUN.BMP" RUN_BUTTON BITMAP "RUN.BMP"
RUNP_BUTTON BITMAP "RUNP.BMP" RUNP_BUTTON BITMAP "RUNP.BMP"
DEBUG_BUTTON BITMAP "DEBUG.BMP" DEBUG_BUTTON BITMAP "DEBUG.BMP"
DRIVE1_BUTTON BITMAP "DRIVE1.BMP" DRIVE1_BUTTON BITMAP "DRIVE1.BMP"
DRIVE2_BUTTON BITMAP "DRIVE2.BMP" DRIVE2_BUTTON BITMAP "DRIVE2.BMP"
SETUP_BUTTON BITMAP "SETUP.BMP" SETUP_BUTTON BITMAP "SETUP.BMP"
CHARSET40 BITMAP "CHARSET4.BMP" CHARSET40 BITMAP "CHARSET4.BMP"
DISKOFF_BITMAP BITMAP "DISKOFF.BMP" DISKOFF_BITMAP BITMAP "DISKOFF.BMP"
DISKREAD_BITMAP BITMAP "DISKREAD.BMP" DISKREAD_BITMAP BITMAP "DISKREAD.BMP"
DISKWRITE_BITMAP BITMAP "DISKWRIT.BMP" DISKWRITE_BITMAP BITMAP "DISKWRIT.BMP"
DISKPROT_BITMAP BITMAP "DISKPROT.BMP" DISKPROT_BITMAP BITMAP "DISKPROT.BMP"
LED_CAPSOFF_BITMAP BITMAP "LED_CAPS_OFF.BMP" LED_CAPSOFF_BITMAP BITMAP "LED_CAPS_OFF.BMP"
LED_CAPSON_BITMAP BITMAP "LED_CAPS_ON.BMP" LED_CAPSON_BITMAP BITMAP "LED_CAPS_ON.BMP"
LED_CAPSOFF_P8_BITMAP BITMAP "LED_CAPS_OFF_P8.BMP" LED_CAPSOFF_P8_BITMAP BITMAP "LED_CAPS_OFF_P8.BMP"
LED_CAPSON_P8_BITMAP BITMAP "LED_CAPS_ON_P8.BMP" LED_CAPSON_P8_BITMAP BITMAP "LED_CAPS_ON_P8.BMP"
LED_LATOFF_BITMAP BITMAP "LED_CAPS_OFF_LAT.BMP" LED_LATOFF_BITMAP BITMAP "LED_CAPS_OFF_LAT.BMP"
LED_LATON_BITMAP BITMAP "LED_CAPS_ON_LAT.BMP" LED_LATON_BITMAP BITMAP "LED_CAPS_ON_LAT.BMP"
CHARSET82 BITMAP "CHARSET82.BMP" CHARSET82 BITMAP "CHARSET82.BMP"
CHARSET8M BITMAP "CHARSET8C.BMP" CHARSET8M BITMAP "CHARSET8C.BMP"
CHARSET8C BITMAP "CHARSET8C.BMP" CHARSET8C BITMAP "CHARSET8C.BMP"
HELP_BUTTON BITMAP "HELP.BMP" HELP_BUTTON BITMAP "HELP.BMP"
DRIVESWAP_BUTTON BITMAP "DRIVESWAP.BMP" DRIVESWAP_BUTTON BITMAP "DRIVESWAP.BMP"
IDB_APPLEWIN BITMAP "Applewin.bmp" IDB_APPLEWIN BITMAP "Applewin.bmp"
IDB_DEBUG_FONT_7X8 BITMAP "Debug_Font.bmp" IDB_DEBUG_FONT_7X8 BITMAP "Debug_Font.bmp"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Dialog // Dialog
// //
IDD_PROPPAGE_CONFIG DIALOGEX 0, 0, 210, 209 IDD_PROPPAGE_CONFIG DIALOGEX 0, 0, 210, 209
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU
CAPTION "Configuration" CAPTION "Configuration"
FONT 8, "MS Shell Dlg", 0, 0, 0x0 FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN BEGIN
LTEXT "&Model:",IDC_STATIC,5,7,40,8 LTEXT "&Model:",IDC_STATIC,5,7,40,8
COMBOBOX IDC_COMPUTER,45,5,95,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_COMPUTER,45,5,95,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Video",IDC_STATIC,5,22,200,43 GROUPBOX "Video",IDC_STATIC,5,22,200,43
LTEXT "Mo&de:",IDC_STATIC,12,33,33,8 LTEXT "Mo&de:",IDC_STATIC,12,33,33,8
COMBOBOX IDC_VIDEOTYPE,45,30,95,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_VIDEOTYPE,45,30,95,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Monochrome &Color...",IDC_MONOCOLOR,12,46,80,14 PUSHBUTTON "Monochrome &Color...",IDC_MONOCOLOR,12,46,80,14
CONTROL "&50% Scan lines",IDC_CHECK_HALF_SCAN_LINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,103,48,62,10 CONTROL "&50% Scan lines",IDC_CHECK_HALF_SCAN_LINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,103,48,62,10
LTEXT "&Serial Port:",IDC_STATIC,5,74,40,8 LTEXT "&Serial Port:",IDC_STATIC,5,74,40,8
COMBOBOX IDC_SERIALPORT,45,72,95,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_SERIALPORT,45,72,95,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Ethernet Settings...",IDC_ETHERNET,4,90,80,14 PUSHBUTTON "&Ethernet Settings...",IDC_ETHERNET,4,90,80,14
GROUPBOX "Emulation Speed Control",IDC_STATIC,5,115,200,85 GROUPBOX "Emulation Speed Control",IDC_STATIC,5,115,200,85
CONTROL "Use &Authentic Machine Speed",IDC_AUTHENTIC_SPEED, CONTROL "Use &Authentic Machine Speed",IDC_AUTHENTIC_SPEED,
"Button",BS_AUTORADIOBUTTON,15,126,115,10 "Button",BS_AUTORADIOBUTTON,15,126,115,10
CONTROL "Select C&ustom Speed (in MHz)",IDC_CUSTOM_SPEED,"Button",BS_AUTORADIOBUTTON,15,138,115,10 CONTROL "Select C&ustom Speed (in MHz)",IDC_CUSTOM_SPEED,"Button",BS_AUTORADIOBUTTON,15,138,115,10
CONTROL "Generic2",IDC_SLIDER_CPU_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,25,149,160,15 CONTROL "Generic2",IDC_SLIDER_CPU_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,25,149,160,15
CTEXT "0.5",IDC_0_5_MHz,23,165,20,10 CTEXT "0.5",IDC_0_5_MHz,23,165,20,10
CTEXT "1.0",IDC_1_0_MHz,59,165,20,10 CTEXT "1.0",IDC_1_0_MHz,59,165,20,10
CTEXT "2.0",IDC_2_0_MHz,96,165,20,10 CTEXT "2.0",IDC_2_0_MHz,96,165,20,10
RTEXT "Fastest",IDC_MAX_MHz,150,165,29,10 RTEXT "Fastest",IDC_MAX_MHz,150,165,29,10
PUSHBUTTON "&Benchmark Emulator",IDC_BENCHMARK,15,179,85,15 PUSHBUTTON "&Benchmark Emulator",IDC_BENCHMARK,15,179,85,15
END END
IDD_PROPPAGE_INPUT DIALOGEX 0, 0, 210, 215 IDD_PROPPAGE_INPUT DIALOGEX 0, 0, 210, 215
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU
CAPTION "Input" CAPTION "Input"
FONT 8, "MS Shell Dlg", 0, 0, 0x0 FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN BEGIN
GROUPBOX "Joystick Control",IDC_STATIC,5,7,200,101 GROUPBOX "Joystick Control",IDC_STATIC,5,7,200,101
LTEXT "Joystick &1:",IDC_STATIC,12,20,40,8 LTEXT "Joystick &1:",IDC_STATIC,12,20,40,8
COMBOBOX IDC_JOYSTICK0,52,18,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_JOYSTICK0,52,18,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Joystick &2:",IDC_STATIC,12,35,40,8 LTEXT "Joystick &2:",IDC_STATIC,12,35,40,8
COMBOBOX IDC_JOYSTICK1,52,33,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_JOYSTICK1,52,33,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "&X-trim:",IDC_STATIC,13,56,28,8 LTEXT "&X-trim:",IDC_STATIC,13,56,28,8
CTEXT "0",IDC_STATIC,36,50,24,20,SS_CENTERIMAGE CTEXT "0",IDC_STATIC,36,50,24,20,SS_CENTERIMAGE
CONTROL "Spin1",IDC_SPIN_XTRIM,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY,59,53,10,14 CONTROL "Spin1",IDC_SPIN_XTRIM,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY,59,53,10,14
LTEXT "&Y-trim:",IDC_STATIC,115,56,28,8 LTEXT "&Y-trim:",IDC_STATIC,115,56,28,8
CTEXT "0",IDC_STATIC,137,49,24,20,SS_CENTERIMAGE CTEXT "0",IDC_STATIC,137,49,24,20,SS_CENTERIMAGE
CONTROL "Spin1",IDC_SPIN_YTRIM,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY,161,53,10,14 CONTROL "Spin1",IDC_SPIN_YTRIM,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY,161,53,10,14
CONTROL "Allow cursor keys to be read from keyboard ",IDC_CURSORCONTROL, CONTROL "Allow cursor keys to be read from keyboard ",IDC_CURSORCONTROL,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,75,155,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,75,155,10
CONTROL "Auto-fire (all 3 buttons)",IDC_AUTOFIRE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,90,89,10 CONTROL "TCP/IP", IDC_TCPIP_JOYSTICK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 163, 76, 37, 8
CONTROL "Keyboard auto-centering",IDC_CENTERINGCONTROL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,90,96,10 CONTROL "Auto-fire (all 3 buttons)", IDC_AUTOFIRE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 90, 89, 10
CONTROL "&Scroll Lock acts as toggle for full-speed CPU",IDC_SCROLLLOCK_TOGGLE, CONTROL "Keyboard auto-centering",IDC_CENTERINGCONTROL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,90,96,10
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,113,166,10 CONTROL "&Scroll Lock acts as toggle for full-speed CPU",IDC_SCROLLLOCK_TOGGLE,
CONTROL "&Mouse interface in slot 4",IDC_MOUSE_IN_SLOT4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,127,106,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,113,166,10
CONTROL "Show &crosshairs in window's frame",IDC_MOUSE_CROSSHAIR, CONTROL "&Mouse interface in slot 4",IDC_MOUSE_IN_SLOT4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,127,106,10
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,141,159,10 CONTROL "Show &crosshairs in window's frame",IDC_MOUSE_CROSSHAIR,
CONTROL "&Restrict mouse to Apple window",IDC_MOUSE_RESTRICT_TO_WINDOW, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,141,159,10
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,155,121,10 CONTROL "&Restrict mouse to Apple window",IDC_MOUSE_RESTRICT_TO_WINDOW,
LTEXT "Microsoft CP/M SoftCard:",IDC_STATIC,8,170,122,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,155,121,10
COMBOBOX IDC_CPM_CONFIG,93,168,55,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Microsoft CP/M SoftCard:",IDC_STATIC,8,170,122,10
PUSHBUTTON "Paste &From Clipboard",IDC_PASTE_FROM_CLIPBOARD,8,192,81,14 COMBOBOX IDC_CPM_CONFIG,93,168,55,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "(Shift+Insert during emulation)",IDC_STATIC,93,195,111,8 PUSHBUTTON "Paste &From Clipboard",IDC_PASTE_FROM_CLIPBOARD,8,192,81,14
END LTEXT "(Shift+Insert during emulation)",IDC_STATIC,93,195,111,8
END
IDD_PROPPAGE_SOUND DIALOGEX 0, 0, 210, 191
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU IDD_PROPPAGE_SOUND DIALOGEX 0, 0, 210, 191
CAPTION "Sound" STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg", 0, 0, 0x0 CAPTION "Sound"
BEGIN FONT 8, "MS Shell Dlg", 0, 0, 0x0
LTEXT "&Device:",IDC_STATIC,5,7,40,8 BEGIN
COMBOBOX IDC_SOUNDTYPE,45,5,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "&Device:",IDC_STATIC,5,7,40,8
GROUPBOX "Volume Control",IDC_STATIC,5,24,100,89 COMBOBOX IDC_SOUNDTYPE,45,5,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "&Speaker:",IDC_STATIC,11,39,31,8 GROUPBOX "Volume Control",IDC_STATIC,5,24,100,89
CONTROL "Slider1",IDC_SPKR_VOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_VERT | TBS_BOTH | WS_TABSTOP,13,47,28,60 LTEXT "&Speaker:",IDC_STATIC,11,39,31,8
LTEXT "&Mockingboard:",IDC_STATIC,49,39,51,8 CONTROL "Slider1",IDC_SPKR_VOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_VERT | TBS_BOTH | WS_TABSTOP,13,47,28,60
CONTROL "Slider1",IDC_MB_VOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_VERT | TBS_BOTH | WS_TABSTOP,59,47,25,60 LTEXT "&Mockingboard:",IDC_STATIC,49,39,51,8
GROUPBOX "Sound Cards",IDC_STATIC,6,122,197,61 CONTROL "Slider1",IDC_MB_VOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_VERT | TBS_BOTH | WS_TABSTOP,59,47,25,60
CONTROL "Mockingboards (in slots 4 && 5)",IDC_MB_ENABLE,"Button",BS_AUTORADIOBUTTON,10,136,142,8 GROUPBOX "Sound Cards",IDC_STATIC,6,122,197,61
CONTROL "Phasor (in slot 4)",IDC_PHASOR_ENABLE,"Button",BS_AUTORADIOBUTTON,10,149,92,10 CONTROL "Mockingboards (in slots 4 && 5)",IDC_MB_ENABLE,"Button",BS_AUTORADIOBUTTON,10,136,142,8
CONTROL "No sound cards",IDC_SOUNDCARD_DISABLE,"Button",BS_AUTORADIOBUTTON,10,163,78,10 CONTROL "Phasor (in slot 4)",IDC_PHASOR_ENABLE,"Button",BS_AUTORADIOBUTTON,10,149,92,10
END CONTROL "No sound cards",IDC_SOUNDCARD_DISABLE,"Button",BS_AUTORADIOBUTTON,10,163,78,10
END
IDD_PROPPAGE_DISK DIALOGEX 0, 0, 210, 190
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU IDD_PROPPAGE_DISK DIALOGEX 0, 0, 210, 190
CAPTION "Disk" STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg", 0, 0, 0x0 CAPTION "Disk"
BEGIN FONT 8, "MS Shell Dlg", 0, 0, 0x0
GROUPBOX "Floppy Disk Drives",IDC_STATIC,5,7,200,73 BEGIN
LTEXT "&Disk access speed:",IDC_STATIC,12,21,64,8 GROUPBOX "Floppy Disk Drives",IDC_STATIC,5,7,200,73
COMBOBOX IDC_DISKTYPE,80,18,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "&Disk access speed:",IDC_STATIC,12,21,64,8
PUSHBUTTON "Select Disk &1",IDC_DISK1,10,39,70,14 COMBOBOX IDC_DISKTYPE,80,18,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_EDIT_DISK1,84,40,115,12,ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "Select Disk &1",IDC_DISK1,10,39,70,14
PUSHBUTTON "Select Disk &2",IDC_DISK2,10,60,70,14 EDITTEXT IDC_EDIT_DISK1,84,40,115,12,ES_AUTOHSCROLL | ES_READONLY
EDITTEXT IDC_EDIT_DISK2,84,60,115,12,ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "Select Disk &2",IDC_DISK2,10,60,70,14
GROUPBOX "Hard Disk Drives",IDC_STATIC,5,85,200,71 EDITTEXT IDC_EDIT_DISK2,84,60,115,12,ES_AUTOHSCROLL | ES_READONLY
CONTROL "&Enable hard disk controller in slot 7",IDC_HDD_ENABLE, GROUPBOX "Hard Disk Drives",IDC_STATIC,5,85,200,71
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,98,122,10 CONTROL "&Enable hard disk controller in slot 7",IDC_HDD_ENABLE,
PUSHBUTTON "Select &HDD 1",IDC_HDD1,10,114,70,14 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,98,122,10
EDITTEXT IDC_EDIT_HDD1,85,115,115,12,ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "Select &HDD 1",IDC_HDD1,10,114,70,14
PUSHBUTTON "Selec&t HDD 2",IDC_HDD2,10,134,70,14 EDITTEXT IDC_EDIT_HDD1,85,115,115,12,ES_AUTOHSCROLL | ES_READONLY
EDITTEXT IDC_EDIT_HDD2,85,135,115,12,ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "Selec&t HDD 2",IDC_HDD2,10,134,70,14
LTEXT "&Path to CiderPress:",IDC_STATIC,5,162,74,8 EDITTEXT IDC_EDIT_HDD2,85,135,115,12,ES_AUTOHSCROLL | ES_READONLY
EDITTEXT IDC_CIDERPRESS_FILENAME,5,172,143,12,ES_AUTOHSCROLL | ES_READONLY LTEXT "&Path to CiderPress:",IDC_STATIC,5,162,74,8
PUSHBUTTON "&Browse...",IDC_CIDERPRESS_BROWSE,154,171,50,14 EDITTEXT IDC_CIDERPRESS_FILENAME,5,172,143,12,ES_AUTOHSCROLL | ES_READONLY
END PUSHBUTTON "&Browse...",IDC_CIDERPRESS_BROWSE,154,171,50,14
END
IDD_TFE_SETTINGS_DIALOG DIALOGEX 0, 0, 270, 100
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU IDD_TFE_SETTINGS_DIALOG DIALOGEX 0, 0, 270, 100
CAPTION "Ethernet Settings" STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg", 0, 0, 0x0 CAPTION "Ethernet Settings"
BEGIN FONT 8, "MS Shell Dlg", 0, 0, 0x0
LTEXT "Ethernet",IDC_TFE_SETTINGS_ENABLE_T,9,7,30,8 BEGIN
COMBOBOX IDC_TFE_SETTINGS_ENABLE,45,5,50,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Ethernet",IDC_TFE_SETTINGS_ENABLE_T,9,7,30,8
LTEXT "Interface",IDC_TFE_SETTINGS_INTERFACE_T,9,24,30,8 COMBOBOX IDC_TFE_SETTINGS_ENABLE,45,5,50,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_TFE_SETTINGS_INTERFACE,45,22,200,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Interface",IDC_TFE_SETTINGS_INTERFACE_T,9,24,30,8
LTEXT "",IDC_TFE_SETTINGS_INTERFACE_NAME,9,44,250,8 COMBOBOX IDC_TFE_SETTINGS_INTERFACE,45,22,200,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "",IDC_TFE_SETTINGS_INTERFACE_DESC,9,60,250,8 LTEXT "",IDC_TFE_SETTINGS_INTERFACE_NAME,9,44,250,8
DEFPUSHBUTTON "Ok",IDOK,20,75,50,14 LTEXT "",IDC_TFE_SETTINGS_INTERFACE_DESC,9,60,250,8
PUSHBUTTON "Cancel",IDCANCEL,80,75,50,14 DEFPUSHBUTTON "Ok",IDOK,20,75,50,14
END PUSHBUTTON "Cancel",IDCANCEL,80,75,50,14
END
IDD_PROPPAGE_ADVANCED DIALOGEX 0, 0, 210, 217
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU IDD_PROPPAGE_ADVANCED DIALOGEX 0, 0, 210, 217
CAPTION "Advanced" STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg", 0, 0, 0x0 CAPTION "Advanced"
BEGIN FONT 8, "MS Shell Dlg", 0, 0, 0x0
GROUPBOX "Save State",IDC_STATIC,5,7,200,86 BEGIN
LTEXT "&Filename:",IDC_STATIC,12,19,74,8 GROUPBOX "Save State",IDC_STATIC,5,7,200,86
EDITTEXT IDC_SAVESTATE_FILENAME,12,30,133,12,ES_AUTOHSCROLL | ES_READONLY LTEXT "&Filename:",IDC_STATIC,12,19,74,8
PUSHBUTTON "&Browse...",IDC_SAVESTATE_BROWSE,149,28,50,14 EDITTEXT IDC_SAVESTATE_FILENAME,12,30,133,12,ES_AUTOHSCROLL | ES_READONLY
CONTROL "Save state on e&xit",IDC_SAVESTATE_ON_EXIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,47,74,10 PUSHBUTTON "&Browse...",IDC_SAVESTATE_BROWSE,149,28,50,14
PUSHBUTTON "Sa&ve State",IDC_SAVESTATE,13,59,85,15 CONTROL "Save state on e&xit",IDC_SAVESTATE_ON_EXIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,47,74,10
LTEXT "(F11 during emulation)",IDC_STATIC,107,62,90,8 PUSHBUTTON "Sa&ve State",IDC_SAVESTATE,13,59,85,15
PUSHBUTTON "&Load State",IDC_LOADSTATE,13,76,85,15 LTEXT "(F11 during emulation)",IDC_STATIC,107,62,90,8
LTEXT "(F12 during emulation)",IDC_STATIC,107,79,90,8 PUSHBUTTON "&Load State",IDC_LOADSTATE,13,76,85,15
LTEXT "&Printer dump filename:",IDC_STATIC,5,97,74,8 LTEXT "(F12 during emulation)",IDC_STATIC,107,79,90,8
EDITTEXT IDC_PRINTER_DUMP_FILENAME,5,107,143,12,ES_AUTOHSCROLL LTEXT "&Printer dump filename:",IDC_STATIC,5,97,74,8
PUSHBUTTON "B&rowse...",IDC_PRINTER_DUMP_FILENAME_BROWSE,154,106,50,14 EDITTEXT IDC_PRINTER_DUMP_FILENAME,5,107,143,12,ES_AUTOHSCROLL
CONTROL "&Dump to printer (use with caution)",IDC_DUMPTOPRINTER, PUSHBUTTON "B&rowse...",IDC_PRINTER_DUMP_FILENAME_BROWSE,154,106,50,14
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,124,180,10 CONTROL "&Dump to printer (use with caution)",IDC_DUMPTOPRINTER,
CONTROL "&Encoding conversion for clones",IDC_PRINTER_CONVERT_ENCODING, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,124,180,10
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,135,180,10 CONTROL "&Encoding conversion for clones",IDC_PRINTER_CONVERT_ENCODING,
CONTROL "Filter &unprintable characters",IDC_PRINTER_FILTER_UNPRINTABLE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,135,180,10
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,146,180,10 CONTROL "Filter &unprintable characters",IDC_PRINTER_FILTER_UNPRINTABLE,
CONTROL "&Append to print file",IDC_PRINTER_APPEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,157,120,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,146,180,10
LTEXT "&Teminate printing after idle (in seconds):",IDC_STATIC,5,171,133,8 CONTROL "&Append to print file",IDC_PRINTER_APPEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,157,120,10
CTEXT "10",IDC_STATIC,140,165,24,20,SS_CENTERIMAGE LTEXT "&Teminate printing after idle (in seconds):",IDC_STATIC,5,171,133,8
CONTROL "Spin1",IDC_SPIN_PRINTER_IDLE,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY,172,169,11,14 CTEXT "10",IDC_STATIC,140,165,24,20,SS_CENTERIMAGE
LTEXT "&Clone:",IDC_STATIC,5,187,40,8 CONTROL "Spin1",IDC_SPIN_PRINTER_IDLE,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY,172,169,11,14
COMBOBOX IDC_CLONETYPE,35,185,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "&Clone:",IDC_STATIC,5,187,40,8
CONTROL "The Free&ze's non-autostart F8 rom (Apple ][ or ][+ only)",IDC_THE_FREEZES_F8_ROM_FW, COMBOBOX IDC_CLONETYPE,35,185,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,201,194,10 CONTROL "The Free&ze's non-autostart F8 rom (Apple ][ or ][+ only)",IDC_THE_FREEZES_F8_ROM_FW,
END "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,201,194,10
END
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// Icon //
// // Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // Icon with lowest ID value placed first to ensure application icon
APPLEWIN_ICON ICON "APPLEWIN.ICO" // remains consistent on all systems.
DISK_ICON ICON "DISK.ICO" APPLEWIN_ICON ICON "APPLEWIN.ICO"
DISK_ICON ICON "DISK.ICO"
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// Version //
// // Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,24,0,0 VS_VERSION_INFO VERSIONINFO
PRODUCTVERSION 1,24,0,0 FILEVERSION 1,24,0,0
FILEFLAGSMASK 0x3fL PRODUCTVERSION 1,24,0,0
#ifdef _DEBUG FILEFLAGSMASK 0x3fL
FILEFLAGS 0x1L #ifdef _DEBUG
#else FILEFLAGS 0x1L
FILEFLAGS 0x0L #else
#endif FILEFLAGS 0x0L
FILEOS 0x40004L #endif
FILETYPE 0x1L FILEOS 0x40004L
FILESUBTYPE 0x0L FILETYPE 0x1L
BEGIN FILESUBTYPE 0x0L
BLOCK "StringFileInfo" BEGIN
BEGIN BLOCK "StringFileInfo"
BLOCK "04090000" BEGIN
BEGIN BLOCK "04090000"
VALUE "Comments", "http://applewin.berlios.de" BEGIN
VALUE "CompanyName", "AppleWin" VALUE "Comments", "http://applewin.berlios.de"
VALUE "FileDescription", "Apple //e Emulator for Windows" VALUE "CompanyName", "AppleWin"
VALUE "FileVersion", "1, 24, 0, 0" VALUE "FileDescription", "Apple //e Emulator for Windows"
VALUE "InternalName", "APPLEWIN" VALUE "FileVersion", "1, 24, 0, 0"
VALUE "LegalCopyright", " 1994-2014 Michael O'Brien, Oliver Schmidt, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis" VALUE "InternalName", "APPLEWIN"
VALUE "OriginalFilename", "APPLEWIN.EXE" VALUE "LegalCopyright", " 1994-2014 Michael O'Brien, Oliver Schmidt, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis"
VALUE "ProductName", "Apple //e Emulator" VALUE "OriginalFilename", "APPLEWIN.EXE"
VALUE "ProductVersion", "1, 24, 0, 0" VALUE "ProductName", "Apple //e Emulator"
END VALUE "ProductVersion", "1, 24, 0, 0"
END END
BLOCK "VarFileInfo" END
BEGIN BLOCK "VarFileInfo"
VALUE "Translation", 0x409, 0 BEGIN
END VALUE "Translation", 0x409, 0
END END
END
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// Accelerator //
// // Accelerator
//
IDR_ACCELERATOR1 ACCELERATORS
BEGIN IDR_ACCELERATOR1 ACCELERATORS
"/", IDM_ABOUT, ASCII, ALT, NOINVERT BEGIN
"?", IDM_ABOUT, ASCII, ALT, NOINVERT "/", IDM_ABOUT, ASCII, ALT, NOINVERT
END "?", IDM_ABOUT, ASCII, ALT, NOINVERT
END
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// FIRMWARE //
// // FIRMWARE
//
IDR_DISK2_FW FIRMWARE "Disk2.rom"
IDR_SSC_FW FIRMWARE "SSC.rom" IDR_DISK2_FW FIRMWARE "Disk2.rom"
IDR_HDDRVR_FW FIRMWARE "Hddrvr.bin" IDR_SSC_FW FIRMWARE "SSC.rom"
IDR_PRINTDRVR_FW FIRMWARE "Parallel.rom" IDR_HDDRVR_FW FIRMWARE "Hddrvr.bin"
IDR_MOCKINGBOARD_D_FW FIRMWARE "Mockingboard-D.rom" IDR_PRINTDRVR_FW FIRMWARE "Parallel.rom"
IDR_MOUSEINTERFACE_FW FIRMWARE "MouseInterface.rom" IDR_MOCKINGBOARD_D_FW FIRMWARE "Mockingboard-D.rom"
IDR_THUNDERCLOCKPLUS_FW FIRMWARE "ThunderClockPlus.rom" IDR_MOUSEINTERFACE_FW FIRMWARE "MouseInterface.rom"
IDR_THUNDERCLOCKPLUS_FW FIRMWARE "ThunderClockPlus.rom"
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// ROM //
// // ROM
//
IDR_APPLE2_ROM ROM "Apple2.rom"
IDR_APPLE2_PLUS_ROM ROM "Apple2_Plus.rom" IDR_APPLE2_ROM ROM "Apple2.rom"
IDR_APPLE2E_ROM ROM "Apple2e.rom" IDR_APPLE2_PLUS_ROM ROM "Apple2_Plus.rom"
IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom" IDR_APPLE2E_ROM ROM "Apple2e.rom"
IDR_PRAVETS_82_ROM ROM "Pravets82.rom" IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom"
IDR_PRAVETS_8M_ROM ROM "Pravets8M.rom" IDR_PRAVETS_82_ROM ROM "Pravets82.rom"
IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom" IDR_PRAVETS_8M_ROM ROM "Pravets8M.rom"
IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.rom" IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom"
IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.rom"
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// Menu //
// // Menu
//
IDR_MENU MENU
BEGIN IDR_MENU MENU
POPUP "&File" BEGIN
BEGIN POPUP "&File"
MENUITEM "E&xit", IDM_EXIT BEGIN
END MENUITEM "E&xit", IDM_EXIT
POPUP "Help" END
BEGIN POPUP "Help"
MENUITEM "&Help", IDM_HELP BEGIN
MENUITEM "&About", IDM_ABOUT MENUITEM "&Help", IDM_HELP
END MENUITEM "&About", IDM_ABOUT
END END
END
IDR_MENU_DISK_POPUP MENU
BEGIN IDR_MENU_DISK_POPUP MENU
POPUP "Disk Menu" BEGIN
BEGIN POPUP "Disk Menu"
MENUITEM "&Eject", ID_DISKMENU_EJECT BEGIN
MENUITEM "Read / &Write", ID_DISKMENU_WRITEPROTECTION_OFF MENUITEM "&Eject", ID_DISKMENU_EJECT
MENUITEM "&Read only", ID_DISKMENU_WRITEPROTECTION_ON MENUITEM "Read / &Write", ID_DISKMENU_WRITEPROTECTION_OFF
MENUITEM "Send to &CiderPress", ID_DISKMENU_SENDTO_CIDERPRESS MENUITEM "&Read only", ID_DISKMENU_WRITEPROTECTION_ON
END MENUITEM "Send to &CiderPress", ID_DISKMENU_SENDTO_CIDERPRESS
END END
END
IDR_MENU_DISK_CFG_POPUP MENU
BEGIN IDR_MENU_DISK_CFG_POPUP MENU
POPUP "Disk Menu" BEGIN
BEGIN POPUP "Disk Menu"
MENUITEM "Eject disk in Drive 1", ID_DISKMENU_EJECT_DISK1 BEGIN
MENUITEM "Eject disk in Drive 2", ID_DISKMENU_EJECT_DISK2 MENUITEM "Eject disk in Drive 1", ID_DISKMENU_EJECT_DISK1
MENUITEM "Unplug harddisk-1", ID_DISKMENU_UNPLUG_HARDDISK1 MENUITEM "Eject disk in Drive 2", ID_DISKMENU_EJECT_DISK2
MENUITEM "Unplug harddisk-2", ID_DISKMENU_UNPLUG_HARDDISK2 MENUITEM "Unplug harddisk-1", ID_DISKMENU_UNPLUG_HARDDISK1
END MENUITEM "Unplug harddisk-2", ID_DISKMENU_UNPLUG_HARDDISK2
END END
END
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// DESIGNINFO //
// // DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO #ifdef APSTUDIO_INVOKED
BEGIN GUIDELINES DESIGNINFO
IDD_PROPPAGE_INPUT, DIALOG BEGIN
BEGIN IDD_PROPPAGE_INPUT, DIALOG
BOTTOMMARGIN, 182 BEGIN
END BOTTOMMARGIN, 182
END END
#endif // APSTUDIO_INVOKED END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// String Table //
// // String Table
//
STRINGTABLE
BEGIN STRINGTABLE
IDS_TFE_CAPTION "Ethernet Settings" BEGIN
IDS_TFE_ETHERNET "Ethernet" IDS_TFE_CAPTION "Ethernet Settings"
IDS_TFE_INTERFACE "Interface" IDS_TFE_ETHERNET "Ethernet"
END IDS_TFE_INTERFACE "Interface"
END
STRINGTABLE
BEGIN STRINGTABLE
IDS_OK "OK" BEGIN
IDS_CANCEL "Cancel" IDS_OK "OK"
END IDS_CANCEL "Cancel"
END
#endif // English (U.S.) resources
///////////////////////////////////////////////////////////////////////////// #endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (U.K.) resources /////////////////////////////////////////////////////////////////////////////
// English (U.K.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
#ifdef _WIN32 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK #ifdef _WIN32
#pragma code_page(1252) LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
#endif //_WIN32 #pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// Dialog //
// // Dialog
//
IDD_ABOUT DIALOGEX 0, 0, 240, 183
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION IDD_ABOUT DIALOGEX 0, 0, 240, 183
CAPTION "About AppleWin" STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION
FONT 8, "MS Shell Dlg", 400, 0, 0x1 CAPTION "About AppleWin"
BEGIN FONT 8, "MS Shell Dlg", 400, 0, 0x1
ICON "",IDC_APPLEWIN_ICON,15,10,21,20 BEGIN
LTEXT "Static",IDC_APPLEWIN_VERSION,46,17,81,8 ICON "",IDC_APPLEWIN_ICON,15,10,21,20
GROUPBOX "GNU General Public License",IDC_GPL_BORDER,7,37,226,111,BS_CENTER | WS_TABSTOP LTEXT "Static",IDC_APPLEWIN_VERSION,46,17,81,8
EDITTEXT IDC_GPL_TEXT,11,57,213,88,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL GROUPBOX "GNU General Public License",IDC_GPL_BORDER,7,37,226,111,BS_CENTER | WS_TABSTOP
DEFPUSHBUTTON "I accept",IDOK,63,159,48,14 EDITTEXT IDC_GPL_TEXT,11,57,213,88,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL
PUSHBUTTON "I decline",IDCANCEL,123,159,67,14 DEFPUSHBUTTON "I accept",IDOK,63,159,48,14
END PUSHBUTTON "I decline",IDCANCEL,123,159,67,14
END
/////////////////////////////////////////////////////////////////////////////
// /////////////////////////////////////////////////////////////////////////////
// DESIGNINFO //
// // DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO #ifdef APSTUDIO_INVOKED
BEGIN GUIDELINES DESIGNINFO
IDD_ABOUT, DIALOG BEGIN
BEGIN IDD_ABOUT, DIALOG
LEFTMARGIN, 7 BEGIN
RIGHTMARGIN, 233 LEFTMARGIN, 7
TOPMARGIN, 6 RIGHTMARGIN, 233
BOTTOMMARGIN, 176 TOPMARGIN, 6
END BOTTOMMARGIN, 176
END END
#endif // APSTUDIO_INVOKED END
#endif // APSTUDIO_INVOKED
#endif // English (U.K.) resources
///////////////////////////////////////////////////////////////////////////// #endif // English (U.K.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// #ifndef APSTUDIO_INVOKED
// /////////////////////////////////////////////////////////////////////////////
// Generated from the TEXTINCLUDE 3 resource. //
// // Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED /////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@ -1,129 +1,130 @@
//{{NO_DEPENDENCIES}} //{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file. // Microsoft Visual C++ generated include file.
// Used by APPLEWIN.RC // Used by APPLEWIN.RC
// //
#define IDC_COMPUTER 101 #define IDC_COMPUTER 101
#define IDC_JOYSTICK0 102 #define IDC_JOYSTICK0 102
#define IDC_SOUNDTYPE 103 #define IDC_SOUNDTYPE 103
#define IDC_SERIALPORT 104 #define IDC_SERIALPORT 104
#define IDR_ACCELERATOR1 105 #define IDR_ACCELERATOR1 105
#define IDC_VIDEOTYPE 106 #define IDC_VIDEOTYPE 106
#define IDD_PROPPAGE_INPUT 107 #define IDD_PROPPAGE_INPUT 107
#define IDC_AUTHENTIC_SPEED 108 #define IDC_AUTHENTIC_SPEED 108
#define IDD_PROPPAGE_CONFIG 109 #define IDD_PROPPAGE_CONFIG 109
#define IDC_CUSTOM_SPEED 110 #define IDC_CUSTOM_SPEED 110
#define IDC_SLIDER_CPU_SPEED 111 #define IDC_SLIDER_CPU_SPEED 111
#define IDD_PROPPAGE_SOUND 112 #define IDD_PROPPAGE_SOUND 112
#define IDC_DISKTYPE 113 #define IDC_DISKTYPE 113
#define IDC_JOYSTICK1 115 #define IDC_JOYSTICK1 115
#define IDD_PROPPAGE_DISK 116 #define IDD_PROPPAGE_DISK 116
#define IDC_BENCHMARK 117 #define IDC_BENCHMARK 117
#define IDC_LOADSTATE 118 #define IDC_LOADSTATE 118
#define IDR_HDDRVR_FW 119 #define IDR_HDDRVR_FW 119
#define IDC_0_5_MHz 120 #define IDC_0_5_MHz 120
#define IDB_APPLEWIN 121 #define IDB_APPLEWIN 121
#define IDC_1_0_MHz 122 #define IDC_1_0_MHz 122
#define IDC_2_0_MHz 123 #define IDC_2_0_MHz 123
#define IDC_MAX_MHz 124 #define IDC_MAX_MHz 124
#define IDR_MENU 125 #define IDR_MENU 125
#define IDR_APPLE2_ROM 126 #define IDR_APPLE2_ROM 126
#define IDR_APPLE2_PLUS_ROM 127 #define IDR_APPLE2_PLUS_ROM 127
#define IDR_APPLE2E_ROM 128 #define IDR_APPLE2E_ROM 128
#define IDR_APPLE2E_ENHANCED_ROM 129 #define IDR_APPLE2E_ENHANCED_ROM 129
#define IDC_MB_ENABLE 130 #define IDC_MB_ENABLE 130
#define IDD_TFE_SETTINGS_DIALOG 131 #define IDD_TFE_SETTINGS_DIALOG 131
#define IDR_PRINTDRVR_FW 132 #define IDR_PRINTDRVR_FW 132
#define IDD_PROPPAGE_ADVANCED 132 #define IDD_PROPPAGE_ADVANCED 132
#define IDR_DISK2_FW 133 #define IDR_DISK2_FW 133
#define IDR_SSC_FW 134 #define IDR_SSC_FW 134
#define IDR_MOCKINGBOARD_D_FW 135 #define IDR_MOCKINGBOARD_D_FW 135
#define IDR_MOUSEINTERFACE_FW 136 #define IDR_MOUSEINTERFACE_FW 136
#define IDR_THUNDERCLOCKPLUS_FW 137 #define IDR_THUNDERCLOCKPLUS_FW 137
#define IDR_FREEZES_F8_ROM 138 #define IDR_FREEZES_F8_ROM 138
#define IDR_PRAVETS_82_ROM 139 #define IDR_PRAVETS_82_ROM 139
#define IDR_PRAVETS_8M_ROM 140 #define IDR_PRAVETS_8M_ROM 140
#define IDR_PRAVETS_8C_ROM 142 #define IDR_PRAVETS_8C_ROM 142
#define IDR_MENU_DISK_POPUP 143 #define IDR_MENU_DISK_POPUP 143
#define IDR_MENU_DISK_CFG_POPUP 144 #define IDR_MENU_DISK_CFG_POPUP 144
#define IDD_ABOUT 145 #define IDD_ABOUT 145
#define IDC_KEYB_BUFFER_ENABLE 1005 #define IDC_KEYB_BUFFER_ENABLE 1005
#define IDC_SAVESTATE 1006 #define IDC_SAVESTATE 1006
#define IDC_SAVESTATE_ON_EXIT 1007 #define IDC_SAVESTATE_ON_EXIT 1007
#define IDC_SAVESTATE_FILENAME 1008 #define IDC_SAVESTATE_FILENAME 1008
#define IDC_SPKR_VOLUME 1009 #define IDC_SPKR_VOLUME 1009
#define IDC_MB_VOLUME 1010 #define IDC_MB_VOLUME 1010
#define IDC_SAVESTATE_BROWSE 1011 #define IDC_SAVESTATE_BROWSE 1011
#define IDC_MONOCOLOR 1012 #define IDC_MONOCOLOR 1012
#define IDC_HDD1 1013 #define IDC_HDD1 1013
#define IDC_HDD2 1014 #define IDC_HDD2 1014
#define IDC_DISK1 1015 #define IDC_DISK1 1015
#define IDC_DISK2 1016 #define IDC_DISK2 1016
#define IDC_EDIT_DISK1 1017 #define IDC_EDIT_DISK1 1017
#define IDC_EDIT_DISK2 1018 #define IDC_EDIT_DISK2 1018
#define IDC_PASTE_FROM_CLIPBOARD 1018 #define IDC_PASTE_FROM_CLIPBOARD 1018
#define IDC_EDIT_HDD1 1019 #define IDC_EDIT_HDD1 1019
#define IDC_EDIT_HDD2 1020 #define IDC_EDIT_HDD2 1020
#define IDC_HDD_ENABLE 1021 #define IDC_HDD_ENABLE 1021
#define IDC_SPIN_XTRIM 1026 #define IDC_SPIN_XTRIM 1026
#define IDC_SPIN_YTRIM 1027 #define IDC_SPIN_YTRIM 1027
#define IDC_PHASOR_ENABLE 1029 #define IDC_PHASOR_ENABLE 1029
#define IDC_SOUNDCARD_DISABLE 1030 #define IDC_SOUNDCARD_DISABLE 1030
#define IDC_TFE_SETTINGS_ENABLE_T 1031 #define IDC_TFE_SETTINGS_ENABLE_T 1031
#define IDC_TFE_SETTINGS_ENABLE 1032 #define IDC_TFE_SETTINGS_ENABLE 1032
#define IDC_TFE_SETTINGS_INTERFACE_T 1033 #define IDC_TFE_SETTINGS_INTERFACE_T 1033
#define IDC_TFE_SETTINGS_INTERFACE 1034 #define IDC_TFE_SETTINGS_INTERFACE 1034
#define IDC_TFE_SETTINGS_INTERFACE_NAME 1035 #define IDC_TFE_SETTINGS_INTERFACE_NAME 1035
#define IDC_TFE_SETTINGS_INTERFACE_DESC 1036 #define IDC_TFE_SETTINGS_INTERFACE_DESC 1036
#define IDS_TFE_CAPTION 1037 #define IDS_TFE_CAPTION 1037
#define IDS_TFE_ETHERNET 1038 #define IDS_TFE_ETHERNET 1038
#define IDS_TFE_INTERFACE 1039 #define IDS_TFE_INTERFACE 1039
#define IDS_OK 1040 #define IDS_OK 1040
#define IDS_CANCEL 1041 #define IDS_CANCEL 1041
#define IDC_ETHERNET 1042 #define IDC_ETHERNET 1042
#define IDC_SCROLLLOCK_TOGGLE 1043 #define IDC_SCROLLLOCK_TOGGLE 1043
#define IDC_MOUSE_IN_SLOT4 1044 #define IDC_MOUSE_IN_SLOT4 1044
#define IDC_THE_FREEZES_F8_ROM_FW 1045 #define IDC_THE_FREEZES_F8_ROM_FW 1045
#define IDC_MOUSE_CROSSHAIR 1046 #define IDC_MOUSE_CROSSHAIR 1046
#define IDC_CLONETYPE 1047 #define IDC_CLONETYPE 1047
#define IDC_MOUSE_RESTRICT_TO_WINDOW 1048 #define IDC_MOUSE_RESTRICT_TO_WINDOW 1048
#define IDC_CIDERPRESS_BROWSE 1049 #define IDC_CIDERPRESS_BROWSE 1049
#define IDC_CIDERPRESS_FILENAME 1050 #define IDC_CIDERPRESS_FILENAME 1050
#define IDC_CPM_CONFIG 1051 #define IDC_CPM_CONFIG 1051
#define IDC_DUMPTOPRINTER 1052 #define IDC_DUMPTOPRINTER 1052
#define IDC_PRINTER_DUMP_FILENAME 1053 #define IDC_PRINTER_DUMP_FILENAME 1053
#define IDC_PRINTER_DUMP_FILENAME_BROWSE 1054 #define IDC_PRINTER_DUMP_FILENAME_BROWSE 1054
#define IDC_PRINTER_CONVERT_ENCODING 1055 #define IDC_PRINTER_CONVERT_ENCODING 1055
#define IDC_PRINTER_FILTER_UNPRINTABLE 1056 #define IDC_PRINTER_FILTER_UNPRINTABLE 1056
#define IDC_PRINTER_APPEND 1057 #define IDC_PRINTER_APPEND 1057
#define IDC_SPIN_PRINTER_IDLE 1058 #define IDC_SPIN_PRINTER_IDLE 1058
#define IDC_CHECK_HALF_SCAN_LINES 1059 #define IDC_CHECK_HALF_SCAN_LINES 1059
#define IDC_GPL_TEXT 1061 #define IDC_GPL_TEXT 1061
#define IDC_GPL_BORDER 1063 #define IDC_GPL_BORDER 1063
#define IDC_APPLEWIN_VERSION 1064 #define IDC_APPLEWIN_VERSION 1064
#define IDC_APPLEWIN_ICON 1065 #define IDC_APPLEWIN_ICON 1065
#define IDC_CURSORCONTROL 1066 #define IDC_CURSORCONTROL 1066
#define IDC_AUTOFIRE 1067 #define IDC_AUTOFIRE 1067
#define IDC_CENTERINGCONTROL 1068 #define IDC_CENTERINGCONTROL 1068
#define IDM_EXIT 40001 #define IDC_TCPIP_JOYSTICK 1069
#define IDM_HELP 40002 #define IDM_EXIT 40001
#define IDM_ABOUT 40003 #define IDM_HELP 40002
#define ID_DISKMENU_EJECT 40004 #define IDM_ABOUT 40003
#define ID_DISKMENU_WRITEPROTECTION_ON 40005 #define ID_DISKMENU_EJECT 40004
#define ID_DISKMENU_WRITEPROTECTION_OFF 40006 #define ID_DISKMENU_WRITEPROTECTION_ON 40005
#define ID_DISKMENU_SENDTO_CIDERPRESS 40007 #define ID_DISKMENU_WRITEPROTECTION_OFF 40006
#define ID_DISKMENU_EJECT_DISK1 40008 #define ID_DISKMENU_SENDTO_CIDERPRESS 40007
#define ID_DISKMENU_EJECT_DISK2 40009 #define ID_DISKMENU_EJECT_DISK1 40008
#define ID_DISKMENU_UNPLUG_HARDDISK1 40010 #define ID_DISKMENU_EJECT_DISK2 40009
#define ID_DISKMENU_UNPLUG_HARDDISK2 40011 #define ID_DISKMENU_UNPLUG_HARDDISK1 40010
#define ID_DISKMENU_UNPLUG_HARDDISK2 40011
// Next default values for new objects
// // Next default values for new objects
#ifdef APSTUDIO_INVOKED //
#ifndef APSTUDIO_READONLY_SYMBOLS #ifdef APSTUDIO_INVOKED
#define _APS_NO_MFC 1 #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 146 #define _APS_NO_MFC 1
#define _APS_NEXT_COMMAND_VALUE 40012 #define _APS_NEXT_RESOURCE_VALUE 146
#define _APS_NEXT_CONTROL_VALUE 1069 #define _APS_NEXT_COMMAND_VALUE 40012
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_CONTROL_VALUE 1069
#endif #define _APS_NEXT_SYMED_VALUE 101
#endif #endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,60 +1,61 @@
#pragma once #pragma once
void SetCurrentCLK6502(); void SetCurrentCLK6502();
void SetCurrentImageDir(const char* pszImageDir); void SetCurrentImageDir(const char* pszImageDir);
extern char VERSIONSTRING[]; // Constructed in WinMain() extern char VERSIONSTRING[]; // Constructed in WinMain()
extern TCHAR *g_pAppTitle; extern TCHAR *g_pAppTitle;
extern eApple2Type g_Apple2Type; extern eApple2Type g_Apple2Type;
extern DWORD cumulativecycles; extern DWORD cumulativecycles;
extern DWORD cyclenum; extern DWORD cyclenum;
extern DWORD emulmsec; extern DWORD emulmsec;
extern bool g_bFullSpeed; extern bool g_bFullSpeed;
//Pravets 8A/C only variables //Pravets 8A/C only variables
extern bool P8CAPS_ON; extern bool P8CAPS_ON;
extern bool P8Shift; extern bool P8Shift;
//=========================================== //===========================================
// Win32 // Win32
extern HINSTANCE g_hInstance; extern HINSTANCE g_hInstance;
extern AppMode_e g_nAppMode; extern AppMode_e g_nAppMode;
bool GetLoadedSaveStateFlag(void); bool GetLoadedSaveStateFlag(void);
void SetLoadedSaveStateFlag(const bool bFlag); void SetLoadedSaveStateFlag(const bool bFlag);
extern TCHAR g_sProgramDir[MAX_PATH]; extern TCHAR g_sProgramDir[MAX_PATH];
extern TCHAR g_sCurrentDir[MAX_PATH]; extern TCHAR g_sCurrentDir[MAX_PATH];
extern BOOL restart; extern BOOL restart;
extern DWORD g_dwSpeed; extern DWORD g_dwSpeed;
extern double g_fCurrentCLK6502; extern double g_fCurrentCLK6502;
extern int g_nCpuCyclesFeedback; extern int g_nCpuCyclesFeedback;
extern DWORD g_dwCyclesThisFrame; extern DWORD g_dwCyclesThisFrame;
extern INT64 g_nCyclesTotal;
extern FILE* g_fh; // Filehandle for log file
extern bool g_bDisableDirectInput; // Cmd line switch: don't init DI (so no DIMouse support) extern FILE* g_fh; // Filehandle for log file
extern bool g_bDisableDirectSound; // Cmd line switch: don't init DS (so no MB/Speaker support) extern bool g_bDisableDirectInput; // Cmd line switch: don't init DI (so no DIMouse support)
extern bool g_bDisableDirectSoundMockingboard; // Cmd line switch: don't init MB support extern bool g_bDisableDirectSound; // Cmd line switch: don't init DS (so no MB/Speaker support)
extern int g_nMemoryClearType; // Cmd line switch: use specific MIP (Memory Initialization Pattern) extern bool g_bDisableDirectSoundMockingboard; // Cmd line switch: don't init MB support
extern int g_nMemoryClearType; // Cmd line switch: use specific MIP (Memory Initialization Pattern)
extern SS_CARDTYPE g_Slot4; // Mockingboard, Z80, Mouse in slot4
extern SS_CARDTYPE g_Slot5; // Mockingboard, Z80, in slot5 extern SS_CARDTYPE g_Slot4; // Mockingboard, Z80, Mouse in slot4
extern SS_CARDTYPE g_Slot5; // Mockingboard, Z80, in slot5
extern HANDLE g_hCustomRomF8; // NULL if no custom rom
extern HANDLE g_hCustomRomF8; // NULL if no custom rom
enum eCPU {CPU_6502=1, CPU_Z80};
extern eCPU g_ActiveCPU; enum eCPU {CPU_6502=1, CPU_Z80};
extern eCPU g_ActiveCPU;
#ifdef USE_SPEECH_API
class CSpeech; #ifdef USE_SPEECH_API
extern CSpeech g_Speech; class CSpeech;
#endif extern CSpeech g_Speech;
#endif
extern __interface IPropertySheet& sg_PropertySheet;
extern __interface IPropertySheet& sg_PropertySheet;

View File

@ -1,206 +1,207 @@
#pragma once #pragma once
#define USE_SPEECH_API #define USE_SPEECH_API
const double _M14 = (157500000.0 / 11.0); // 14.3181818... * 10^6 const double _M14 = (157500000.0 / 11.0); // 14.3181818... * 10^6
const double CLK_6502 = ((_M14 * 65.0) / 912.0); // 65 cycles per 912 14M clocks const double CLK_6502 = ((_M14 * 65.0) / 912.0); // 65 cycles per 912 14M clocks
//const double CLK_6502 = 23 * 44100; // 1014300 //const double CLK_6502 = 23 * 44100; // 1014300
// The effective Z-80 clock rate is 2.041MHz // The effective Z-80 clock rate is 2.041MHz
// See: http://www.apple2info.net/hardware/softcard/SC-SWHW_a2in.pdf // See: http://www.apple2info.net/hardware/softcard/SC-SWHW_a2in.pdf
const double CLK_Z80 = (CLK_6502 * 2); const double CLK_Z80 = (CLK_6502 * 2);
const UINT uCyclesPerLine = 65; // 25 cycles of HBL & 40 cycles of HBL' const UINT uCyclesPerLine = 65; // 25 cycles of HBL & 40 cycles of HBL'
const UINT uVisibleLinesPerFrame = 64*3; // 192 const UINT uVisibleLinesPerFrame = 64*3; // 192
const UINT uLinesPerFrame = 262; // 64 in each third of the screen & 70 in VBL const UINT uLinesPerFrame = 262; // 64 in each third of the screen & 70 in VBL
const DWORD dwClksPerFrame = uCyclesPerLine * uLinesPerFrame; // 17030 const DWORD dwClksPerFrame = uCyclesPerLine * uLinesPerFrame; // 17030
#define NUM_SLOTS 8 #define NUM_SLOTS 8
#define MAX(a,b) (((a) > (b)) ? (a) : (b)) #define MAX(a,b) (((a) > (b)) ? (a) : (b))
#define MIN(a,b) (((a) < (b)) ? (a) : (b)) #define MIN(a,b) (((a) < (b)) ? (a) : (b))
#define RAMWORKS // 8MB RamWorks III support #define RAMWORKS // 8MB RamWorks III support
// Use a base freq so that DirectX (or sound h/w) doesn't have to up/down-sample // Use a base freq so that DirectX (or sound h/w) doesn't have to up/down-sample
// Assume base freqs are 44.1KHz & 48KHz // Assume base freqs are 44.1KHz & 48KHz
const DWORD SPKR_SAMPLE_RATE = 44100; const DWORD SPKR_SAMPLE_RATE = 44100;
enum AppMode_e enum AppMode_e
{ {
MODE_LOGO = 0 MODE_LOGO = 0
, MODE_PAUSED , MODE_PAUSED
, MODE_RUNNING // 6502 is running at normal speed (Debugger breakpoints may or may not be active) , MODE_RUNNING // 6502 is running at normal speed (Debugger breakpoints may or may not be active)
, MODE_DEBUG // 6502 is paused , MODE_DEBUG // 6502 is paused
, MODE_STEPPING // 6502 is running at full speed (Debugger breakpoints always active) , MODE_STEPPING // 6502 is running at full speed (Debugger breakpoints always active)
}; };
#define SPEED_MIN 0 #define SPEED_MIN 0
#define SPEED_NORMAL 10 #define SPEED_NORMAL 10
#define SPEED_MAX 40 #define SPEED_MAX 40
#define DRAW_BACKGROUND 1 #define DRAW_BACKGROUND 1
#define DRAW_LEDS 2 #define DRAW_LEDS 2
#define DRAW_TITLE 4 #define DRAW_TITLE 4
#define DRAW_BUTTON_DRIVES 8 #define DRAW_BUTTON_DRIVES 8
#define BTN_HELP 0 #define BTN_HELP 0
#define BTN_RUN 1 #define BTN_RUN 1
#define BTN_DRIVE1 2 #define BTN_DRIVE1 2
#define BTN_DRIVE2 3 #define BTN_DRIVE2 3
#define BTN_DRIVESWAP 4 #define BTN_DRIVESWAP 4
#define BTN_FULLSCR 5 #define BTN_FULLSCR 5
#define BTN_DEBUG 6 #define BTN_DEBUG 6
#define BTN_SETUP 7 #define BTN_SETUP 7
// TODO: Move to StringTable.h // TODO: Move to StringTable.h
#define TITLE_APPLE_2 TEXT("Apple ][ Emulator") #define TITLE_APPLE_2 TEXT("Apple ][ Emulator")
#define TITLE_APPLE_2_PLUS TEXT("Apple ][+ Emulator") #define TITLE_APPLE_2_PLUS TEXT("Apple ][+ Emulator")
#define TITLE_APPLE_2E TEXT("Apple //e Emulator") #define TITLE_APPLE_2E TEXT("Apple //e Emulator")
#define TITLE_APPLE_2E_ENHANCED TEXT("Enhanced Apple //e Emulator") #define TITLE_APPLE_2E_ENHANCED TEXT("Enhanced Apple //e Emulator")
#define TITLE_APPLE_2C TEXT("Apple //e Emulator") #define TITLE_APPLE_2C TEXT("Apple //e Emulator")
#define TITLE_APPLE_2D TEXT("Apple )(d Virtual Debug Hardware") #define TITLE_APPLE_2D TEXT("Apple )(d Virtual Debug Hardware")
#define TITLE_PRAVETS_82 TEXT("Pravets 82 Emulator") #define TITLE_PRAVETS_82 TEXT("Pravets 82 Emulator")
#define TITLE_PRAVETS_8M TEXT("Pravets 8M Emulator") #define TITLE_PRAVETS_8M TEXT("Pravets 8M Emulator")
#define TITLE_PRAVETS_8A TEXT("Pravets 8A Emulator") #define TITLE_PRAVETS_8A TEXT("Pravets 8A Emulator")
#define TITLE_PAUSED TEXT("* PAUSED *") #define TITLE_PAUSED TEXT("* PAUSED *")
#define TITLE_STEPPING TEXT("Stepping") #define TITLE_STEPPING TEXT("Stepping")
#define REGLOAD(a,b) RegLoadValue(TEXT(REG_CONFIG),a,1,b) #define REGLOAD(a,b) RegLoadValue(TEXT(REG_CONFIG),a,1,b)
#define REGSAVE(a,b) RegSaveValue(TEXT(REG_CONFIG),a,1,b) #define REGSAVE(a,b) RegSaveValue(TEXT(REG_CONFIG),a,1,b)
// Configuration // Configuration
#define REG_CONFIG "Configuration" #define REG_CONFIG "Configuration"
#define REGVALUE_APPLE2_TYPE "Apple2 Type" #define REGVALUE_APPLE2_TYPE "Apple2 Type"
#define REGVALUE_OLD_APPLE2_TYPE "Computer Emulation" // Deprecated #define REGVALUE_OLD_APPLE2_TYPE "Computer Emulation" // Deprecated
#define REGVALUE_SPKR_VOLUME "Speaker Volume" #define REGVALUE_SPKR_VOLUME "Speaker Volume"
#define REGVALUE_MB_VOLUME "Mockingboard Volume" #define REGVALUE_MB_VOLUME "Mockingboard Volume"
#define REGVALUE_SAVESTATE_FILENAME "Save State Filename" #define REGVALUE_SAVESTATE_FILENAME "Save State Filename"
#define REGVALUE_SAVE_STATE_ON_EXIT "Save State On Exit" #define REGVALUE_SAVE_STATE_ON_EXIT "Save State On Exit"
#define REGVALUE_HDD_ENABLED "Harddisk Enable" #define REGVALUE_HDD_ENABLED "Harddisk Enable"
#define REGVALUE_JOYSTICK0_EMU_TYPE "Joystick0 Emu Type" // Added at 1.24.0 (previously was "Joystick 0 Emulation") #define REGVALUE_JOYSTICK0_EMU_TYPE "Joystick0 Emu Type" // Added at 1.24.0 (previously was "Joystick 0 Emulation")
#define REGVALUE_JOYSTICK1_EMU_TYPE "Joystick1 Emu Type" // Added at 1.24.0 (previously was "Joystick 1 Emulation") #define REGVALUE_JOYSTICK1_EMU_TYPE "Joystick1 Emu Type" // Added at 1.24.0 (previously was "Joystick 1 Emulation")
#define REGVALUE_OLD_JOYSTICK0_EMU_TYPE "Joystick 0 Emulation" // Deprecated from 1.24.0 #define REGVALUE_OLD_JOYSTICK0_EMU_TYPE "Joystick 0 Emulation" // Deprecated from 1.24.0
#define REGVALUE_OLD_JOYSTICK1_EMU_TYPE "Joystick 1 Emulation" // Deprecated from 1.24.0 #define REGVALUE_OLD_JOYSTICK1_EMU_TYPE "Joystick 1 Emulation" // Deprecated from 1.24.0
#define REGVALUE_PDL_XTRIM "PDL X-Trim" #define REGVALUE_PDL_XTRIM "PDL X-Trim"
#define REGVALUE_PDL_YTRIM "PDL Y-Trim" #define REGVALUE_PDL_YTRIM "PDL Y-Trim"
#define REGVALUE_SCROLLLOCK_TOGGLE "ScrollLock Toggle" #define REGVALUE_SCROLLLOCK_TOGGLE "ScrollLock Toggle"
#define REGVALUE_CURSOR_CONTROL "Joystick Cursor Control" #define REGVALUE_CURSOR_CONTROL "Joystick Cursor Control"
#define REGVALUE_CENTERING_CONTROL "Joystick Centering Control" #define REGVALUE_CENTERING_CONTROL "Joystick Centering Control"
#define REGVALUE_AUTOFIRE "Autofire" #define REGVALUE_TCPIPJOYSTICK "TCP/IP Joystick"
#define REGVALUE_MOUSE_CROSSHAIR "Mouse crosshair" #define REGVALUE_AUTOFIRE "Autofire"
#define REGVALUE_MOUSE_RESTRICT_TO_WINDOW "Mouse restrict to window" #define REGVALUE_MOUSE_CROSSHAIR "Mouse crosshair"
#define REGVALUE_THE_FREEZES_F8_ROM "The Freeze's F8 Rom" #define REGVALUE_MOUSE_RESTRICT_TO_WINDOW "Mouse restrict to window"
#define REGVALUE_CIDERPRESSLOC "CiderPress Location" #define REGVALUE_THE_FREEZES_F8_ROM "The Freeze's F8 Rom"
#define REGVALUE_CPM_CONFIG "CPM Config" #define REGVALUE_CIDERPRESSLOC "CiderPress Location"
#define REGVALUE_DUMP_TO_PRINTER "Dump to printer" #define REGVALUE_CPM_CONFIG "CPM Config"
#define REGVALUE_CONVERT_ENCODING "Convert printer encoding for clones" #define REGVALUE_DUMP_TO_PRINTER "Dump to printer"
#define REGVALUE_FILTER_UNPRINTABLE "Filter unprintable characters" #define REGVALUE_CONVERT_ENCODING "Convert printer encoding for clones"
#define REGVALUE_PRINTER_FILENAME "Printer Filename" #define REGVALUE_FILTER_UNPRINTABLE "Filter unprintable characters"
#define REGVALUE_PRINTER_APPEND "Append to printer file" #define REGVALUE_PRINTER_FILENAME "Printer Filename"
#define REGVALUE_PRINTER_IDLE_LIMIT "Printer idle limit" #define REGVALUE_PRINTER_APPEND "Append to printer file"
#define REGVALUE_VIDEO_MODE "Video Emulation" #define REGVALUE_PRINTER_IDLE_LIMIT "Printer idle limit"
#define REGVALUE_VIDEO_HALF_SCAN_LINES "Half Scan Lines" #define REGVALUE_VIDEO_MODE "Video Emulation"
#define REGVALUE_VIDEO_MONO_COLOR "Monochrome Color" #define REGVALUE_VIDEO_HALF_SCAN_LINES "Half Scan Lines"
#define REGVALUE_SERIAL_PORT_NAME "Serial Port Name" #define REGVALUE_VIDEO_MONO_COLOR "Monochrome Color"
#define REGVALUE_ENHANCE_DISK_SPEED "Enhance Disk Speed" #define REGVALUE_SERIAL_PORT_NAME "Serial Port Name"
#define REGVALUE_CUSTOM_SPEED "Custom Speed" #define REGVALUE_ENHANCE_DISK_SPEED "Enhance Disk Speed"
#define REGVALUE_EMULATION_SPEED "Emulation Speed" #define REGVALUE_CUSTOM_SPEED "Custom Speed"
#define REGVALUE_WINDOW_SCALE "Window Scale" #define REGVALUE_EMULATION_SPEED "Emulation Speed"
#define REGVALUE_SLOT1 "Slot 1" #define REGVALUE_WINDOW_SCALE "Window Scale"
#define REGVALUE_SLOT2 "Slot 2" #define REGVALUE_SLOT1 "Slot 1"
#define REGVALUE_SLOT3 "Slot 3" #define REGVALUE_SLOT2 "Slot 2"
#define REGVALUE_SLOT4 "Slot 4" #define REGVALUE_SLOT3 "Slot 3"
#define REGVALUE_SLOT5 "Slot 5" #define REGVALUE_SLOT4 "Slot 4"
#define REGVALUE_SLOT6 "Slot 6" #define REGVALUE_SLOT5 "Slot 5"
#define REGVALUE_SLOT7 "Slot 7" #define REGVALUE_SLOT6 "Slot 6"
#define REGVALUE_SLOTAUX "Slot Auxilary" #define REGVALUE_SLOT7 "Slot 7"
#define REGVALUE_VERSION "Version" #define REGVALUE_SLOTAUX "Slot Auxilary"
#define REGVALUE_VERSION "Version"
// Preferences
#define REG_PREFS "Preferences" // Preferences
#define REGVALUE_PREF_START_DIR "Starting Directory" #define REG_PREFS "Preferences"
#define REGVALUE_PREF_LAST_DISK_1 "Last Disk Image 1" #define REGVALUE_PREF_START_DIR "Starting Directory"
#define REGVALUE_PREF_LAST_DISK_2 "Last Disk Image 2" #define REGVALUE_PREF_LAST_DISK_1 "Last Disk Image 1"
#define REGVALUE_PREF_WINDOW_X_POS "Window X-Position" #define REGVALUE_PREF_LAST_DISK_2 "Last Disk Image 2"
#define REGVALUE_PREF_WINDOW_Y_POS "Window Y-Position" #define REGVALUE_PREF_WINDOW_X_POS "Window X-Position"
#define REGVALUE_PREF_HDV_START_DIR "HDV Starting Directory" #define REGVALUE_PREF_WINDOW_Y_POS "Window Y-Position"
#define REGVALUE_PREF_LAST_HARDDISK_1 "Last Harddisk Image 1" #define REGVALUE_PREF_HDV_START_DIR "HDV Starting Directory"
#define REGVALUE_PREF_LAST_HARDDISK_2 "Last Harddisk Image 2" #define REGVALUE_PREF_LAST_HARDDISK_1 "Last Harddisk Image 1"
#define REGVALUE_PREF_LAST_HARDDISK_2 "Last Harddisk Image 2"
#define WM_USER_BENCHMARK WM_USER+1
#define WM_USER_RESTART WM_USER+2 #define WM_USER_BENCHMARK WM_USER+1
#define WM_USER_SAVESTATE WM_USER+3 #define WM_USER_RESTART WM_USER+2
#define WM_USER_LOADSTATE WM_USER+4 #define WM_USER_SAVESTATE WM_USER+3
#define VK_SNAPSHOT_560 WM_USER+5 #define WM_USER_LOADSTATE WM_USER+4
#define VK_SNAPSHOT_280 WM_USER+6 #define VK_SNAPSHOT_560 WM_USER+5
#define WM_USER_TCP_SERIAL WM_USER+7 #define VK_SNAPSHOT_280 WM_USER+6
#define WM_USER_BOOT WM_USER+8 #define WM_USER_TCP_SERIAL WM_USER+7
#define WM_USER_FULLSCREEN WM_USER+9 #define WM_USER_BOOT WM_USER+8
#define WM_USER_FULLSCREEN WM_USER+9
// TODO-TC: Refactor codebase by renaming /nCyclesLeft/ to /uExecutedCycles/
typedef BYTE (__stdcall *iofunction)(WORD nPC, WORD nAddr, BYTE nWriteFlag, BYTE nWriteValue, ULONG nCyclesLeft); // TODO-TC: Refactor codebase by renaming /nCyclesLeft/ to /uExecutedCycles/
typedef BYTE (__stdcall *iofunction)(WORD nPC, WORD nAddr, BYTE nWriteFlag, BYTE nWriteValue, ULONG nCyclesLeft);
typedef struct _IMAGE__ { int unused; } *HIMAGE; // DiskImage's /ImageInfo/ is hidden behind HIMAGE
typedef struct _IMAGE__ { int unused; } *HIMAGE; // DiskImage's /ImageInfo/ is hidden behind HIMAGE
enum eIRQSRC {IS_6522=0, IS_SPEECH, IS_SSC, IS_MOUSE};
enum eIRQSRC {IS_6522=0, IS_SPEECH, IS_SSC, IS_MOUSE};
//
#define APPLE2P_MASK 0x01 //
/* #define APPLE2P_MASK 0x01
][ 0 /*
][+ 1 ][ 0
//e 10 ][+ 1
//e+ 11 //e 10
//c 20 //e+ 11
//d 40 //c 20
*/ //d 40
#define APPLE2E_MASK 0x10 */
#define APPLE2C_MASK 0x20 #define APPLE2E_MASK 0x10
#define APPLE2D_MASK 0x40 #define APPLE2C_MASK 0x20
#define APPLECLONE_MASK 0x100 #define APPLE2D_MASK 0x40
#define APPLECLONE_MASK 0x100
#define IS_APPLE2 ((g_Apple2Type & (APPLE2E_MASK|APPLE2C_MASK)) == 0)
#define IS_APPLE2E (g_Apple2Type & APPLE2E_MASK) #define IS_APPLE2 ((g_Apple2Type & (APPLE2E_MASK|APPLE2C_MASK)) == 0)
#define IS_APPLE2C (g_Apple2Type & APPLE2C_MASK) #define IS_APPLE2E (g_Apple2Type & APPLE2E_MASK)
#define IS_CLONE() (g_Apple2Type & APPLECLONE_MASK) #define IS_APPLE2C (g_Apple2Type & APPLE2C_MASK)
#define IS_CLONE() (g_Apple2Type & APPLECLONE_MASK)
// NB. These get persisted to the Registry, so don't change the values for these enums!
enum eApple2Type { // NB. These get persisted to the Registry, so don't change the values for these enums!
A2TYPE_APPLE2=0, enum eApple2Type {
A2TYPE_APPLE2PLUS, A2TYPE_APPLE2=0,
A2TYPE_APPLE2E=APPLE2E_MASK, A2TYPE_APPLE2PLUS,
A2TYPE_APPLE2EENHANCED, A2TYPE_APPLE2E=APPLE2E_MASK,
A2TYPE_UNDEFINED, A2TYPE_APPLE2EENHANCED,
A2TYPE_APPLE2C=APPLE2C_MASK, A2TYPE_UNDEFINED,
A2TYPE_APPLE2D=APPLE2D_MASK, A2TYPE_APPLE2C=APPLE2C_MASK,
// A2TYPE_APPLE2D=APPLE2D_MASK,
// Clones start here: //
A2TYPE_CLONE=APPLECLONE_MASK, // Clones start here:
A2TYPE_PRAVETS=APPLECLONE_MASK|APPLE2E_MASK, A2TYPE_CLONE=APPLECLONE_MASK,
A2TYPE_PRAVETS82=A2TYPE_PRAVETS, A2TYPE_PRAVETS=APPLECLONE_MASK|APPLE2E_MASK,
A2TYPE_PRAVETS8M, A2TYPE_PRAVETS82=A2TYPE_PRAVETS,
A2TYPE_PRAVETS8A, A2TYPE_PRAVETS8M,
A2TYPE_MAX A2TYPE_PRAVETS8A,
}; A2TYPE_MAX
};
inline bool IsApple2(eApple2Type type)
{ inline bool IsApple2(eApple2Type type)
return (type & (APPLE2E_MASK|APPLE2C_MASK)) == 0; {
} return (type & (APPLE2E_MASK|APPLE2C_MASK)) == 0;
}
inline bool IsClone(eApple2Type type)
{ inline bool IsClone(eApple2Type type)
return (type & APPLECLONE_MASK) != 0; {
} return (type & APPLECLONE_MASK) != 0;
}
extern eApple2Type g_Apple2Type;
inline bool IsOriginal2E(void) extern eApple2Type g_Apple2Type;
{ inline bool IsOriginal2E(void)
return (g_Apple2Type == A2TYPE_APPLE2E); {
} return (g_Apple2Type == A2TYPE_APPLE2E);
}
enum eBUTTON {BUTTON0=0, BUTTON1};
enum eBUTTON {BUTTON0=0, BUTTON1};
enum eBUTTONSTATE {BUTTON_UP=0, BUTTON_DOWN};
enum eBUTTONSTATE {BUTTON_UP=0, BUTTON_DOWN};

View File

@ -12,6 +12,8 @@ __interface IPropertySheet
void SetJoystickCursorControl(UINT uValue); void SetJoystickCursorControl(UINT uValue);
UINT GetJoystickCenteringControl(void); UINT GetJoystickCenteringControl(void);
void SetJoystickCenteringControl(UINT uValue); void SetJoystickCenteringControl(UINT uValue);
UINT GetTcpIpJoystock(void);
void SetTcpIpJoystock(UINT uValue);
UINT GetAutofire(UINT uButton); UINT GetAutofire(UINT uButton);
void SetAutofire(UINT uValue); void SetAutofire(UINT uValue);
UINT GetMouseShowCrosshair(void); UINT GetMouseShowCrosshair(void);

View File

@ -165,6 +165,7 @@ BOOL CPageInput::DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM
SendDlgItemMessage(hWnd, IDC_SPIN_YTRIM, UDM_SETPOS, 0, MAKELONG(JoyGetTrim(false),0)); SendDlgItemMessage(hWnd, IDC_SPIN_YTRIM, UDM_SETPOS, 0, MAKELONG(JoyGetTrim(false),0));
CheckDlgButton(hWnd, IDC_CURSORCONTROL, m_uCursorControl ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_CURSORCONTROL, m_uCursorControl ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hWnd, IDC_TCPIP_JOYSTICK, m_uTcpIpJoystick ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hWnd, IDC_AUTOFIRE, m_bmAutofire ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_AUTOFIRE, m_bmAutofire ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hWnd, IDC_CENTERINGCONTROL, m_uCenteringControl == JOYSTICK_MODE_CENTERING ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_CENTERINGCONTROL, m_uCenteringControl == JOYSTICK_MODE_CENTERING ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hWnd, IDC_SCROLLLOCK_TOGGLE, m_uScrollLockToggle ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_SCROLLLOCK_TOGGLE, m_uScrollLockToggle ? BST_CHECKED : BST_UNCHECKED);
@ -198,6 +199,7 @@ void CPageInput::DlgOK(HWND hWnd)
JoySetTrim((short)SendDlgItemMessage(hWnd, IDC_SPIN_YTRIM, UDM_GETPOS, 0, 0), false); JoySetTrim((short)SendDlgItemMessage(hWnd, IDC_SPIN_YTRIM, UDM_GETPOS, 0, 0), false);
m_uCursorControl = IsDlgButtonChecked(hWnd, IDC_CURSORCONTROL) ? 1 : 0; m_uCursorControl = IsDlgButtonChecked(hWnd, IDC_CURSORCONTROL) ? 1 : 0;
m_uTcpIpJoystick = IsDlgButtonChecked(hWnd, IDC_TCPIP_JOYSTICK) ? 1 : 0;
m_bmAutofire = IsDlgButtonChecked(hWnd, IDC_AUTOFIRE) ? 7 : 0; // bitmap of 3 bits m_bmAutofire = IsDlgButtonChecked(hWnd, IDC_AUTOFIRE) ? 7 : 0; // bitmap of 3 bits
m_uCenteringControl = IsDlgButtonChecked(hWnd, IDC_CENTERINGCONTROL) ? 1 : 0; m_uCenteringControl = IsDlgButtonChecked(hWnd, IDC_CENTERINGCONTROL) ? 1 : 0;
m_uMouseShowCrosshair = IsDlgButtonChecked(hWnd, IDC_MOUSE_CROSSHAIR) ? 1 : 0; m_uMouseShowCrosshair = IsDlgButtonChecked(hWnd, IDC_MOUSE_CROSSHAIR) ? 1 : 0;
@ -207,6 +209,7 @@ void CPageInput::DlgOK(HWND hWnd)
REGSAVE(TEXT(REGVALUE_PDL_YTRIM), JoyGetTrim(false)); REGSAVE(TEXT(REGVALUE_PDL_YTRIM), JoyGetTrim(false));
REGSAVE(TEXT(REGVALUE_SCROLLLOCK_TOGGLE), m_uScrollLockToggle); REGSAVE(TEXT(REGVALUE_SCROLLLOCK_TOGGLE), m_uScrollLockToggle);
REGSAVE(TEXT(REGVALUE_CURSOR_CONTROL), m_uCursorControl); REGSAVE(TEXT(REGVALUE_CURSOR_CONTROL), m_uCursorControl);
REGSAVE(TEXT(REGVALUE_TCPIPJOYSTICK), m_uTcpIpJoystick);
REGSAVE(TEXT(REGVALUE_AUTOFIRE), m_bmAutofire); REGSAVE(TEXT(REGVALUE_AUTOFIRE), m_bmAutofire);
REGSAVE(TEXT(REGVALUE_CENTERING_CONTROL), m_uCenteringControl); REGSAVE(TEXT(REGVALUE_CENTERING_CONTROL), m_uCenteringControl);
REGSAVE(TEXT(REGVALUE_MOUSE_CROSSHAIR), m_uMouseShowCrosshair); REGSAVE(TEXT(REGVALUE_MOUSE_CROSSHAIR), m_uMouseShowCrosshair);

View File

@ -15,6 +15,7 @@ public:
m_uScrollLockToggle(0), m_uScrollLockToggle(0),
m_uCursorControl(1), m_uCursorControl(1),
m_uCenteringControl(JOYSTICK_MODE_CENTERING), m_uCenteringControl(JOYSTICK_MODE_CENTERING),
m_uTcpIpJoystick(0),
m_bmAutofire(0), m_bmAutofire(0),
m_uMouseShowCrosshair(0), m_uMouseShowCrosshair(0),
m_uMouseRestrictToWindow(0), m_uMouseRestrictToWindow(0),
@ -32,6 +33,8 @@ public:
void SetJoystickCursorControl(UINT uValue){ m_uCursorControl = uValue; } void SetJoystickCursorControl(UINT uValue){ m_uCursorControl = uValue; }
UINT GetJoystickCenteringControl(void){ return m_uCenteringControl; } UINT GetJoystickCenteringControl(void){ return m_uCenteringControl; }
void SetJoystickCenteringControl(UINT uValue){ m_uCenteringControl = uValue; } void SetJoystickCenteringControl(UINT uValue){ m_uCenteringControl = uValue; }
UINT GetTcpIpJoystick(void){ return m_uTcpIpJoystick; }
void SetTcpIpJoystick(UINT uValue){ m_uTcpIpJoystick = uValue; }
UINT GetAutofire(UINT uButton) { return (m_bmAutofire >> uButton) & 1; } // Get a specific button UINT GetAutofire(UINT uButton) { return (m_bmAutofire >> uButton) & 1; } // Get a specific button
void SetAutofire(UINT uValue) { m_bmAutofire = uValue; } // Set all buttons void SetAutofire(UINT uValue) { m_bmAutofire = uValue; } // Set all buttons
UINT GetMouseShowCrosshair(void){ return m_uMouseShowCrosshair; } UINT GetMouseShowCrosshair(void){ return m_uMouseShowCrosshair; }
@ -82,6 +85,7 @@ private:
UINT m_bmAutofire; // bitmask b2:0 UINT m_bmAutofire; // bitmask b2:0
UINT m_uMouseShowCrosshair; UINT m_uMouseShowCrosshair;
UINT m_uMouseRestrictToWindow; UINT m_uMouseRestrictToWindow;
UINT m_uTcpIpJoystick;
enum CPMCHOICE {CPM_SLOT4=0, CPM_SLOT5, CPM_UNPLUGGED, CPM_UNAVAILABLE, _CPM_MAX_CHOICES}; enum CPMCHOICE {CPM_SLOT4=0, CPM_SLOT5, CPM_UNPLUGGED, CPM_UNAVAILABLE, _CPM_MAX_CHOICES};
TCHAR m_szCPMSlotChoices[_CPM_MAX_CHOICES * MaxMenuChoiceLen]; TCHAR m_szCPMSlotChoices[_CPM_MAX_CHOICES * MaxMenuChoiceLen];

View File

@ -1,50 +1,52 @@
#pragma once #pragma once
#include "IPropertySheet.h" #include "IPropertySheet.h"
#include "PropertySheetHelper.h" #include "PropertySheetHelper.h"
#include "PageConfig.h" #include "PageConfig.h"
#include "PageInput.h" #include "PageInput.h"
#include "PageSound.h" #include "PageSound.h"
#include "PageDisk.h" #include "PageDisk.h"
#include "PageAdvanced.h" #include "PageAdvanced.h"
class CPropertySheet : public IPropertySheet class CPropertySheet : public IPropertySheet
{ {
public: public:
CPropertySheet() : CPropertySheet() :
m_PageConfig(m_PropertySheetHelper), m_PageConfig(m_PropertySheetHelper),
m_PageInput(m_PropertySheetHelper), m_PageInput(m_PropertySheetHelper),
m_PageSound(m_PropertySheetHelper), m_PageSound(m_PropertySheetHelper),
m_PageDisk(m_PropertySheetHelper), m_PageDisk(m_PropertySheetHelper),
m_PageAdvanced(m_PropertySheetHelper) m_PageAdvanced(m_PropertySheetHelper)
{ {
} }
virtual ~CPropertySheet(){} virtual ~CPropertySheet(){}
virtual void Init(void); virtual void Init(void);
virtual DWORD GetVolumeMax(void); // TODO:TC: Move out of here virtual DWORD GetVolumeMax(void); // TODO:TC: Move out of here
virtual bool SaveStateSelectImage(HWND hWindow, bool bSave); // TODO:TC: Move out of here virtual bool SaveStateSelectImage(HWND hWindow, bool bSave); // TODO:TC: Move out of here
virtual UINT GetScrollLockToggle(void){ return m_PageInput.GetScrollLockToggle(); } virtual UINT GetScrollLockToggle(void){ return m_PageInput.GetScrollLockToggle(); }
virtual void SetScrollLockToggle(UINT uValue){ m_PageInput.SetScrollLockToggle(uValue); } virtual void SetScrollLockToggle(UINT uValue){ m_PageInput.SetScrollLockToggle(uValue); }
virtual UINT GetJoystickCursorControl(void){ return m_PageInput.GetJoystickCursorControl(); } virtual UINT GetJoystickCursorControl(void){ return m_PageInput.GetJoystickCursorControl(); }
virtual void SetJoystickCursorControl(UINT uValue){ m_PageInput.SetJoystickCursorControl(uValue); } virtual void SetJoystickCursorControl(UINT uValue){ m_PageInput.SetJoystickCursorControl(uValue); }
virtual UINT GetJoystickCenteringControl(void){ return m_PageInput.GetJoystickCenteringControl(); } virtual UINT GetJoystickCenteringControl(void){ return m_PageInput.GetJoystickCenteringControl(); }
virtual void SetJoystickCenteringControl(UINT uValue){ m_PageInput.SetJoystickCenteringControl(uValue); } virtual void SetJoystickCenteringControl(UINT uValue){ m_PageInput.SetJoystickCenteringControl(uValue); }
virtual UINT GetAutofire(UINT uButton) { return m_PageInput.GetAutofire(uButton); } virtual UINT GetTcpIpJoystock(void){ return m_PageInput.GetTcpIpJoystick(); }
virtual void SetAutofire(UINT uValue) { m_PageInput.SetAutofire(uValue); } virtual void SetTcpIpJoystock(UINT uValue){ m_PageInput.SetTcpIpJoystick(uValue); }
virtual UINT GetMouseShowCrosshair(void){ return m_PageInput.GetMouseShowCrosshair(); } virtual UINT GetAutofire(UINT uButton) { return m_PageInput.GetAutofire(uButton); }
virtual void SetMouseShowCrosshair(UINT uValue){ m_PageInput.SetMouseShowCrosshair(uValue); } virtual void SetAutofire(UINT uValue) { m_PageInput.SetAutofire(uValue); }
virtual UINT GetMouseRestrictToWindow(void){ return m_PageInput.GetMouseRestrictToWindow(); } virtual UINT GetMouseShowCrosshair(void){ return m_PageInput.GetMouseShowCrosshair(); }
virtual void SetMouseRestrictToWindow(UINT uValue){ m_PageInput.SetMouseRestrictToWindow(uValue); } virtual void SetMouseShowCrosshair(UINT uValue){ m_PageInput.SetMouseShowCrosshair(uValue); }
virtual UINT GetTheFreezesF8Rom(void){ return m_PageAdvanced.GetTheFreezesF8Rom(); } virtual UINT GetMouseRestrictToWindow(void){ return m_PageInput.GetMouseRestrictToWindow(); }
virtual void SetTheFreezesF8Rom(UINT uValue){ m_PageAdvanced.SetTheFreezesF8Rom(uValue); } virtual void SetMouseRestrictToWindow(UINT uValue){ m_PageInput.SetMouseRestrictToWindow(uValue); }
virtual UINT GetTheFreezesF8Rom(void){ return m_PageAdvanced.GetTheFreezesF8Rom(); }
private: virtual void SetTheFreezesF8Rom(UINT uValue){ m_PageAdvanced.SetTheFreezesF8Rom(uValue); }
CPropertySheetHelper m_PropertySheetHelper;
CPageConfig m_PageConfig; private:
CPageInput m_PageInput; CPropertySheetHelper m_PropertySheetHelper;
CPageSound m_PageSound; CPageConfig m_PageConfig;
CPageDisk m_PageDisk; CPageInput m_PageInput;
CPageAdvanced m_PageAdvanced; CPageSound m_PageSound;
}; CPageDisk m_PageDisk;
CPageAdvanced m_PageAdvanced;
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,454 @@
/*
GSport - an Apple //gs Emulator
Copyright (C) 2010 - 2012 by GSport contributors
Based on the KEGS emulator written by and Copyright (C) 2003 Kent Dickey
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* This file contains the socket calls */
#include "StdAfx.h"
#include "GenericSocketDriver.h"
#define fatal_printf(...)
#if !(defined _MSC_VER || defined __CYGWIN__)
extern int h_errno;
#else
#define socklen_t int
#endif
int g_wsastartup_called;
/* Usage: socket_init() called to init socket mode */
/* At all times, we try to have a listen running on the incoming socket */
/* If we want to dial out, we close the incoming socket and create a new */
/* outgoing socket. Any hang-up causes the socket to be closed and it will */
/* then re-open on a subsequent call to scc_socket_open */
void
socket_init(SocketInfo *socket_info_ptr)
{
#ifdef _WIN32
WSADATA wsadata;
int ret;
if(g_wsastartup_called == 0) {
ret = WSAStartup(MAKEWORD(2,0), &wsadata);
printf("WSAStartup ret: %d\n", ret);
g_wsastartup_called = 1;
}
#endif
socket_info_ptr->host_handle = NULL;
socket_info_ptr->sockfd = -1; /* Indicate no socket open yet */
socket_info_ptr->rdwrfd = -1; /* Indicate no socket open yet */
socket_info_ptr->host_addrlen = sizeof(struct sockaddr_in);
socket_info_ptr->host_handle = malloc(socket_info_ptr->host_addrlen); /* Used in accept, freed in shutdown */
/* Real init will be done when bytes need to be read/write from skt */
socket_info_ptr->in_rdptr = 0;
socket_info_ptr->in_wrptr = 0;
socket_info_ptr->out_rdptr = 0;
socket_info_ptr->out_wrptr = 0;
}
void
socket_shutdown(SocketInfo *socket_info_ptr)
{
free(socket_info_ptr->host_handle);
socket_info_ptr->host_handle = NULL;
}
static int
socket_close_handle(SOCKET sockfd)
{
#if defined(_WIN32) || defined (__OS2__)
return closesocket(sockfd); // a Windows socket handle is not a file descriptor
#else
return close(sockfd);
#endif
}
void
socket_maybe_open_incoming(SocketInfo *socket_info_ptr, double dcycs)
{
struct sockaddr_in sa_in;
int on;
int ret;
SOCKET sockfd;
int inc;
inc = 0;
if(socket_info_ptr->sockfd != -1) {
/* it's already open, get out */
return;
}
if (socket_info_ptr-> listen_tries == 0) {
return; // too many retries
}
socket_close(socket_info_ptr, dcycs);
memset(socket_info_ptr->host_handle, 0, socket_info_ptr->host_addrlen);
while(1) {
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd == -1) {
printf("socket ret: %d, errno: %d\n", sockfd, errno);
socket_close(socket_info_ptr, dcycs);
return;
}
printf("%s opened socket ret: %d\n", socket_info_ptr->device_name, sockfd);
on = 1;
ret = setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR,
(char *)&on, sizeof(on));
if(ret < 0) {
printf("setsockopt REUSEADDR ret: %d, err:%d\n",
ret, errno);
socket_close(socket_info_ptr, dcycs);
return;
}
memset(&sa_in, 0, sizeof(sa_in));
sa_in.sin_family = AF_INET;
sa_in.sin_port = htons(socket_info_ptr->listen_port);
sa_in.sin_addr.s_addr = htonl(INADDR_ANY);
ret = bind(sockfd, (struct sockaddr *)&sa_in, sizeof(sa_in));
if(ret >= 0) {
ret = listen(sockfd, 1);
break;
}
/* else ret to bind was < 0 */
printf("bind ret: %d, errno: %d\n", ret, errno);
printf("%s failed to listen on TCP port %d\n", socket_info_ptr->device_name, socket_info_ptr->listen_port);
//inc++;
socket_close_handle(sockfd);
// TODO: add port increment as an option?
//printf("Trying next port: %d\n", SCC_LISTEN_PORT + port);
//if(inc >= 10) {
//printf("Too many retries, quitting\n");
if (socket_info_ptr->listen_tries > 0)
--socket_info_ptr->listen_tries;
socket_close(socket_info_ptr, dcycs);
return;
//}
}
printf("%s listening on TCP port %d\n", socket_info_ptr->device_name, socket_info_ptr->listen_port);
socket_info_ptr->sockfd = sockfd;
socket_make_nonblock(socket_info_ptr, dcycs);
}
void
socket_open_outgoing(SocketInfo *socket_info_ptr, double dcycs)
{
struct sockaddr_in sa_in;
struct hostent *hostentptr;
int on;
int ret;
SOCKET sockfd;
//printf("socket_close being called from socket_open_outgoing\n");
socket_close(socket_info_ptr, dcycs);
memset(socket_info_ptr->host_handle, 0, socket_info_ptr->host_addrlen);
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd == -1) {
printf("%s failed to open outgoing socket ret: %d, errno: %d\n", socket_info_ptr->device_name, sockfd, errno);
socket_close(socket_info_ptr, dcycs);
return;
}
printf("%s opened outgoing sockfd ret: %d\n", socket_info_ptr->device_name, sockfd);
on = 1;
ret = setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR,
(char *)&on, sizeof(on));
if(ret < 0) {
printf("setsockopt REUSEADDR ret: %d, err:%d\n",
ret, errno);
socket_close(socket_info_ptr, dcycs); // TODO: why was this port 1?
return;
}
memset(&sa_in, 0, sizeof(sa_in));
sa_in.sin_family = AF_INET;
sa_in.sin_port = htons(23);
hostentptr = gethostbyname((const char*)&socket_info_ptr->hostname[0]); // OG Added Cast
if(hostentptr == 0) {
#if defined(_WIN32) || defined (__OS2__)
fatal_printf("Lookup host %s failed\n",
&socket_info_ptr->hostname[0]);
#else
fatal_printf("Lookup host %s failed, herrno: %d\n",
&socket_info_ptr->hostname[0], h_errno);
#endif
socket_close_handle(sockfd);
socket_close(socket_info_ptr, dcycs); // TODO: why was this port 1?
//x_show_alert(0, 0);
return;
}
memcpy(&sa_in.sin_addr.s_addr, hostentptr->h_addr,
hostentptr->h_length);
/* The above copies the 32-bit internet address into */
/* sin_addr.s_addr. It's in correct network format */
ret = connect(sockfd, (struct sockaddr *)&sa_in, sizeof(sa_in));
if(ret < 0) {
printf("connect ret: %d, errno: %d\n", ret, errno);
socket_close_handle(sockfd);
socket_close(socket_info_ptr, dcycs); // TODO: why was this port 1?
return;
}
printf("%s socket is now outgoing to %s\n", socket_info_ptr->device_name, &socket_info_ptr->hostname[0]);
socket_info_ptr->sockfd = sockfd;
socket_make_nonblock(socket_info_ptr, dcycs);
socket_info_ptr->rdwrfd = socket_info_ptr->sockfd;
}
void
socket_make_nonblock(SocketInfo *socket_info_ptr, double dcycs)
{
SOCKET sockfd;
int ret;
#if defined(_WIN32) || defined (__OS2__)
u_long flags;
#else
int flags;
#endif
sockfd = socket_info_ptr->sockfd;
#if defined(_WIN32) || defined (__OS2__)
flags = 1;
ret = ioctlsocket(sockfd, FIONBIO, &flags);
if(ret != 0) {
printf("ioctlsocket ret: %d\n", ret);
}
#else
flags = fcntl(sockfd, F_GETFL, 0);
if(flags == -1) {
printf("fcntl GETFL ret: %d, errno: %d\n", flags, errno);
socket_close(socket_info_ptr, dcycs);
return;
}
ret = fcntl(sockfd, F_SETFL, flags | O_NONBLOCK);
if(ret == -1) {
printf("fcntl SETFL ret: %d, errno: %d\n", ret, errno);
socket_close(socket_info_ptr, dcycs);
return;
}
#endif
}
void
socket_close(SocketInfo *socket_info_ptr, double dcycs)
{
int rdwrfd;
SOCKET sockfd;
rdwrfd = socket_info_ptr->rdwrfd;
if(rdwrfd >= 0) {
printf("socket_close: rdwrfd=%d, closing\n", rdwrfd);
socket_close_handle(rdwrfd);
}
sockfd = socket_info_ptr->sockfd;
if(sockfd != -1) {
printf("socket_close: sockfd=%d, closing\n", sockfd);
socket_close_handle(sockfd);
}
socket_info_ptr->rdwrfd = -1;
socket_info_ptr->sockfd = -1;
}
void
socket_accept(SocketInfo *socket_info_ptr, double dcycs)
{
#ifdef SOCKET_INFO
int flags;
int rdwrfd;
int ret;
if(socket_info_ptr->sockfd == -1) {
socket_maybe_open_incoming(socket_info_ptr, dcycs);
}
if(socket_info_ptr->sockfd == -1) {
return; /* just give up */
}
if(socket_info_ptr->rdwrfd == -1) {
rdwrfd = accept(socket_info_ptr->sockfd, (struct sockaddr*)socket_info_ptr->host_handle,
(socklen_t*)&(socket_info_ptr->host_addrlen));
if(rdwrfd < 0) {
return;
}
flags = 0;
ret = 0;
#if !defined(_WIN32) && !defined(__OS2__)
/* For Linux, we need to set O_NONBLOCK on the rdwrfd */
flags = fcntl(rdwrfd, F_GETFL, 0);
if(flags == -1) {
printf("fcntl GETFL ret: %d, errno: %d\n", flags,errno);
return;
}
ret = fcntl(rdwrfd, F_SETFL, flags | O_NONBLOCK);
if(ret == -1) {
printf("fcntl SETFL ret: %d, errno: %d\n", ret, errno);
return;
}
#endif
socket_info_ptr->rdwrfd = rdwrfd;
printf("%s connected on rdwrfd=%d\n", socket_info_ptr->device_name, rdwrfd);
}
#endif
}
void
socket_fill_readbuf(SocketInfo *socket_info_ptr, int space_left, double dcycs)
{
#ifdef SOCKET_INFO
byte tmp_buf[256];
int rdwrfd;
int ret;
int i;
socket_accept(socket_info_ptr, dcycs);
rdwrfd = socket_info_ptr->rdwrfd;
if(rdwrfd < 0) {
return; /* just get out */
}
/* Try reading some bytes */
space_left = MIN(space_left, 256);
ret = recv(rdwrfd, (char*)tmp_buf, space_left, 0); // OG Added cast
if(ret > 0) {
for(i = 0; i < ret; i++) {
byte c = tmp_buf[i];
socket_recvd_char(socket_info_ptr, c, dcycs);
}
} else if(ret == 0) {
/* assume socket close */
printf("%s disconnecting from rdwrfd=%d (recv got 0)\n", socket_info_ptr->device_name, rdwrfd);
socket_close(socket_info_ptr, dcycs);
}
#endif
}
void
socket_recvd_char(SocketInfo *socket_info_ptr, int c, double dcycs)
{
int handled_externally = 0; // TODO: would prefer bool or BOOL, but not sure about non-Windows builds
// TODO: should we add if(socket_info_ptr->sockfd == -1) {
socket_maybe_open_incoming(socket_info_ptr, dcycs);
if (socket_info_ptr->rx_handler != NULL) {
handled_externally = socket_info_ptr->rx_handler(socket_info_ptr, c);
}
if (!handled_externally) {
// we handle this
// TODO: implement the read buffer
//scc_add_to_readbuf(port, c, dcycs);
}
}
void
socket_empty_writebuf(SocketInfo *socket_info_ptr, double dcycs)
{
#ifdef SOCKET_INFO
# if !defined(_WIN32) && !defined(__OS2__)
struct sigaction newact, oldact;
# endif
int rdptr;
int wrptr;
int rdwrfd;
int done;
int ret;
int len;
/* Try writing some bytes */
done = 0;
while(!done) {
rdptr = socket_info_ptr->out_rdptr;
wrptr = socket_info_ptr->out_wrptr;
if(rdptr == wrptr) {
done = 1;
break;
}
rdwrfd = socket_info_ptr->rdwrfd;
len = wrptr - rdptr;
if(len < 0) {
len = SOCKET_OUTBUF_SIZE - rdptr;
}
if(len > 32) {
len = 32;
}
if(len <= 0) {
done = 1;
break;
}
if(rdwrfd == -1) {
socket_maybe_open_incoming(socket_info_ptr, dcycs);
return;
}
#if defined(_WIN32) || defined (__OS2__)
ret = send(rdwrfd, (const char*)&(socket_info_ptr->out_buf[rdptr]), len, 0); // OG Added Cast
# else
/* ignore SIGPIPE around writes to the socket, so we */
/* can catch a closed socket and prepare to accept */
/* a new connection. Otherwise, SIGPIPE kills GSport */
sigemptyset(&newact.sa_mask);
newact.sa_handler = SIG_IGN;
newact.sa_flags = 0;
sigaction(SIGPIPE, &newact, &oldact);
ret = send(rdwrfd, &(socket_info_ptr->out_buf[rdptr]), len, 0);
sigaction(SIGPIPE, &oldact, 0);
/* restore previous SIGPIPE behavior */
# endif /* WIN32 */
#if 0
printf("sock output: %02x\n", socket_info_ptr->out_buf[rdptr]);
#endif
if(ret == 0) {
done = 1; /* give up for now */
break;
} else if(ret < 0) {
/* assume socket is dead */
printf("socket write failed on rdwrfd=%d, closing\n", rdwrfd);
socket_close(socket_info_ptr, dcycs);
done = 1;
break;
} else {
rdptr = rdptr + ret;
if(rdptr >= SOCKET_OUTBUF_SIZE) {
rdptr = rdptr - SOCKET_OUTBUF_SIZE;
}
socket_info_ptr->out_rdptr = rdptr;
}
}
#endif
}

View File

@ -0,0 +1,79 @@
/*
GSport - an Apple //gs Emulator
Copyright (C) 2010 by GSport contributors
Based on the KEGS emulator written by and Copyright (C) 2003 Kent Dickey
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef SOCKET_INFO
#define SOCKET_INFO
#include <ctype.h>
#ifdef _WIN32
# include <winsock2.h>
#else
# include <sys/socket.h>
# include <netinet/in.h>
# include <netdb.h>
# ifndef SOCKET
# define SOCKET word32 /* for non-windows */
# endif
#endif
#define SOCKET_INBUF_SIZE 1024 /* must be a power of 2 */
#define SOCKET_OUTBUF_SIZE 1024 /* must be a power of 2 */
#define MAX_HOSTNAME_SIZE 256
typedef struct SocketInfo {
char* device_name;
void* device_data;
SOCKET sockfd;
int listen_port;
int listen_tries; // -1 = infinite
int rdwrfd;
void *host_handle;
int host_addrlen;
int rx_queue_depth;
byte rx_queue[4];
BOOL (*rx_handler)(SocketInfo *socket_info_ptr, int c);
int in_rdptr;
int in_wrptr;
byte in_buf[SOCKET_INBUF_SIZE];
int out_rdptr;
int out_wrptr;
byte out_buf[SOCKET_OUTBUF_SIZE];
byte hostname[MAX_HOSTNAME_SIZE];
} SocketInfo;
/* generic_socket_driver.c */
void socket_init(SocketInfo *socket_info_ptr);
void socket_shutdown(SocketInfo *socket_info_ptr);
void socket_maybe_open_incoming(SocketInfo *socket_info_ptr, double dcycs);
void socket_open_outgoing(SocketInfo *socket_info_ptr, double dcycs);
void socket_make_nonblock(SocketInfo *socket_info_ptr, double dcycs);
void socket_close(SocketInfo *socket_info_ptr, double dcycs);
void socket_accept(SocketInfo *socket_info_ptr, double dcycs);
void socket_fill_readbuf(SocketInfo *socket_info_ptr, int space_left, double dcycs);
void socket_recvd_char(SocketInfo *socket_info_ptr, int c, double dcycs);
void socket_empty_writebuf(SocketInfo *socket_info_ptr, double dcycs);
#endif // SOCKET_INFO

File diff suppressed because it is too large Load Diff

View File

@ -1,32 +1,34 @@
#pragma once #pragma once
enum JOYNUM {JN_JOYSTICK0=0, JN_JOYSTICK1}; enum JOYNUM {JN_JOYSTICK0=0, JN_JOYSTICK1};
enum JOY0CHOICE {J0C_DISABLED=0, J0C_JOYSTICK1, J0C_KEYBD_CURSORS, J0C_KEYBD_NUMPAD, J0C_MOUSE, J0C_MAX}; enum JOY0CHOICE {J0C_DISABLED=0, J0C_JOYSTICK1, J0C_KEYBD_CURSORS, J0C_KEYBD_NUMPAD, J0C_MOUSE, J0C_MAX};
enum JOY1CHOICE {J1C_DISABLED=0, J1C_JOYSTICK2, J1C_KEYBD_CURSORS, J1C_KEYBD_NUMPAD, J1C_MOUSE, J1C_MAX}; enum JOY1CHOICE {J1C_DISABLED=0, J1C_JOYSTICK2, J1C_KEYBD_CURSORS, J1C_KEYBD_NUMPAD, J1C_MOUSE, J1C_MAX};
extern DWORD joytype[2]; extern DWORD joytype[2];
enum {JOYSTICK_MODE_FLOATING=0, JOYSTICK_MODE_CENTERING}; // Joystick centering control enum {JOYSTICK_MODE_FLOATING=0, JOYSTICK_MODE_CENTERING}; // Joystick centering control
void JoyInitialize(); void TcpIpJoystickUpdate();
BOOL JoyProcessKey(int,BOOL,BOOL,BOOL);
void JoyReset(); void JoyInitialize();
void JoySetButton(eBUTTON,eBUTTONSTATE); BOOL JoyProcessKey(int,BOOL,BOOL,BOOL);
BOOL JoySetEmulationType(HWND,DWORD,int, const bool bMousecardActive); void JoyReset();
void JoySetPosition(int,int,int,int); void JoySetButton(eBUTTON,eBUTTONSTATE);
void JoyUpdatePosition(); BOOL JoySetEmulationType(HWND,DWORD,int, const bool bMousecardActive);
BOOL JoyUsingMouse(); void JoySetPosition(int,int,int,int);
BOOL JoyUsingKeyboard(); void JoyUpdatePosition();
BOOL JoyUsingKeyboardCursors(); BOOL JoyUsingMouse();
BOOL JoyUsingKeyboardNumpad(); BOOL JoyUsingKeyboard();
void JoyDisableUsingMouse(); BOOL JoyUsingKeyboardCursors();
void JoySetTrim(short nValue, bool bAxisX); BOOL JoyUsingKeyboardNumpad();
short JoyGetTrim(bool bAxisX); void JoyDisableUsingMouse();
void JoyportControl(const UINT uControl); void JoySetTrim(short nValue, bool bAxisX);
DWORD JoyGetSnapshot(SS_IO_Joystick* pSS); short JoyGetTrim(bool bAxisX);
DWORD JoySetSnapshot(SS_IO_Joystick* pSS); void JoyportControl(const UINT uControl);
DWORD JoyGetSnapshot(SS_IO_Joystick* pSS);
BYTE __stdcall JoyReadButton(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nCyclesLeft); DWORD JoySetSnapshot(SS_IO_Joystick* pSS);
BYTE __stdcall JoyReadPosition(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nCyclesLeft);
BYTE __stdcall JoyResetPosition(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nCyclesLeft); BYTE __stdcall JoyReadButton(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nCyclesLeft);
BYTE __stdcall JoyReadPosition(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nCyclesLeft);
BYTE __stdcall JoyResetPosition(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nCyclesLeft);

View File

@ -1,65 +1,67 @@
//#define WIN32_LEAN_AND_MEAN //#define WIN32_LEAN_AND_MEAN
// Required for Win98/ME support:
// . See: http://support.embarcadero.com/article/35754
// . "GetOpenFileName() fails under Windows 95/98/NT/ME due to incorrect OPENFILENAME structure size"
#define _WIN32_WINNT 0x0400
// Mouse Wheel is not supported on Win95.
// If we didn't care about supporting Win95 (compile/run-time errors)
// we would just define the minimum windows version to support.
// #define _WIN32_WINDOWS 0x0401
#ifndef WM_MOUSEWHEEL
#define WM_MOUSEWHEEL 0x020A
#endif
#include <winsock2.h>
// Required for Win98/ME support: // Not needed in VC7.1, but needed in VC Express
// . See: http://support.embarcadero.com/article/35754 #include <tchar.h>
// . "GetOpenFileName() fails under Windows 95/98/NT/ME due to incorrect OPENFILENAME structure size"
#define _WIN32_WINNT 0x0400 #include <crtdbg.h>
#include <dsound.h>
// Mouse Wheel is not supported on Win95. #include <dshow.h>
// If we didn't care about supporting Win95 (compile/run-time errors)
// we would just define the minimum windows version to support. #include <math.h>
// #define _WIN32_WINDOWS 0x0401 #include <stdio.h>
#ifndef WM_MOUSEWHEEL #include <stdlib.h>
#define WM_MOUSEWHEEL 0x020A #include <string.h>
#endif #include <time.h>
// Not needed in VC7.1, but needed in VC Express #include <windows.h>
#include <tchar.h> #include <winuser.h> // WM_MOUSEWHEEL
#include <commctrl.h>
#include <crtdbg.h> #include <ddraw.h>
#include <dsound.h> #include <htmlhelp.h>
#include <dshow.h> #include <assert.h>
#include <math.h> #include <queue>
#include <stdio.h> #include <vector>
#include <stdlib.h>
#include <string.h> #include "zlib.h"
#include <time.h> #include "unzip.h"
#include "zip.h"
#include <windows.h> #include "iowin32.h"
#include <winuser.h> // WM_MOUSEWHEEL
#include <commctrl.h> #include "Common.h"
#include <ddraw.h> #include "Structs.h"
#include <htmlhelp.h>
#include <assert.h> #include "AppleWin.h"
#include "AY8910.h"
#include <queue> #include "CPU.h"
#include <vector> #include "Video.h" // Debugger needs: VideoUpdateFuncPtr_t
#include "Debug.h"
#include "zlib.h" #include "Disk.h"
#include "unzip.h" #include "Frame.h"
#include "zip.h" #include "Keyboard.h"
#include "iowin32.h" #include "Log.h"
#include "Memory.h"
#include "Common.h" #include "Mockingboard.h"
#include "Structs.h" #include "ParallelPrinter.h"
#include "Registry.h"
#include "AppleWin.h" #include "Riff.h"
#include "AY8910.h" #include "SaveState.h"
#include "CPU.h" #include "SerialComms.h"
#include "Video.h" // Debugger needs: VideoUpdateFuncPtr_t #include "SoundCore.h"
#include "Debug.h" #include "Speaker.h"
#include "Disk.h" #include "Tape.h"
#include "Frame.h"
#include "Keyboard.h"
#include "Log.h"
#include "Memory.h"
#include "Mockingboard.h"
#include "ParallelPrinter.h"
#include "Registry.h"
#include "Riff.h"
#include "SaveState.h"
#include "SerialComms.h"
#include "SoundCore.h"
#include "Speaker.h"
#include "Tape.h"