You will need to find disk images online that you can use in the emulator. The F1 menu can also be used to control other features of the emulator such as emulator speed and color. Specifcally, you will want to choose the machine emulation type and the disk to load in drive 1 (and possibly drive 2). Hit F1 to bring up the menubar where you can set various options. You will be shown a splash screen and instructions to hit F1 to open the menu. Run the emulator (either type apple2emu from the command line or hit F5 in visual studio). All of the library and include paths will be properly configured by cmake. The solution will be in the build folder and can be opened with the appropriate version of Visual Studio. Run cmake -help to see a list of generators that are availbale and choose the appropriate one. In general, you should not have to pass anything specific on the command line with cmake to get the solutions generated if it can find the compiler/IDE in your path. Use cmake to generate the solution file for Visual studio. This action can generally be done by choosing the x86 Native Command prompt item in the Visual Studio menu items off your start menu.
Note that on windows, you will have to start Visual Studio code from a command prompt that has the compiler and related executables in the path. With the proper cmake tools installed, cmake will configure and build the project. Start code in the top level apple2emu folder (i.e. Visual Studio Code can be used to build and run the emulator. The executable will be named apple2emu_debug (note the _debug extension on the executable)Īdditionally for Windows, cmake will copy the needed SDL2 dll's from the SDL location to the emulator folder. DGLEW_PATH=f:\projects\glew-1.13.0 -DSDL2_PATH=f:\projects\sdl2-2.0.12 -DSDL2_IMAGE_PATH=f:\projects\sdl2_image-2.0.5ĭebug builds can be made by defining the build type when running make:
Depending on your environemnt, you will want to make sure that you choose the apporpriate generator with cmake.
All builds are generallly done with x86 targets (as there is no need for a 64 bit executable). All of these will build perfectly without problems.
Development has been typically done on windows using VS 2019, Visual Studio code, and even WSL. Due to the inclusion of other libraires in this code, using cmake for everything was the easiest way to get everything to compile properly.
Z80emu - Z80 emulation layer (for CP/M support).Needed to provide runtime glue for application to host GL function calls. NativeFileDialog - currently included in apple2emu repo.ImGUI - currently included in apple2emu repo.SDL Image 2.X - For loading texture images for fonts.SDL 2.X - For cross platform graphics, key, gamepad, handling.The following external libraries are currently required to build apple2emu. Given modern hardware, the need to write obfustaced code for the sake of speed is really not an issue anymore, so a second goal is to provide readable code that is more easily understood by someone looking to see how emulators can be built. One goal for this emulator is to be cross platform (Windows, Mac OS, and Linux). Apple2Emu is an Apple ][ in the early 80's, I have always wanted to write an emulator for that system.