GithubHelp home page GithubHelp logo

kevinfrei / linapple Goto Github PK

View Code? Open in Web Editor NEW

This project forked from linappleii/linapple

0.0 1.0 0.0 4.73 MB

Apple 2e emulator

License: GNU General Public License v2.0

C++ 42.67% C 56.35% Makefile 0.22% Objective-C 0.76%

linapple's Introduction

LinApple

LinApple is an emulator for Apple ][, Apple ][+, Apple //e, and Enhanced Apple //e computers.

History

LinApple started as a fork of AppleWin, ported to run on Linux. The source code was downloaded from SourceForge and uploaded to Github by maxolasersquad. As the SourceForge version lay abandoned several users forked the maxolasersquad repository and added several features. Work was done to bring these back into maxolasersquad repository. This repository was eventually moved under the linappleii namespace where development currently resides.

Command Line Switches

  • -h|--help: Print command-line options and exit.
  • --conf path/to/file.conf: Use only the specified configuration file. (The standard configuration file search is not done.)
  • -1|--d1 path/to/image1.dsk: Specifies a disk image to load into FDD1 (drive 0)
  • -2|--d2 path/to/image2.dsk: Specifies a disk image to load into FDD1 (drive 1)
  • -b|--autoboot: Boots the system automatically, rather than displaying the splash screen
  • -f: Specifies that the emulator should run in fullscreen mode
  • -l: Logs output to a file called AppleWin.log (untested)
  • --benchmark: Specifies that benchmark should be loaded (untested)

Note: some command-line options have not been fully tested.

Command-line Examples

To have LinApple start in fullscreen mode and automatically boot the disk example.dsk, you can open a shell and run:

$ linapple --d1 example.dsk -f --autoboot

This command could also be placed in a shell script, which could be started from an icon or menu on the desktop.

Using LinApple

Clicking in the LinApple window will capture the mouse. It may be released by pressing any function key.

Key Function
F1 Show help screen.
Ctrl+F2 Cold reboot, i.e. power off and back on.
Shift+F2 Reload configuration file and cold reboot.
F3 Load disk image for drive 1.
F4 Load disk image for drive 2.
Shift+F3 Attach hard disk image to slot 7.
Shift+F4 Attach hard disk image to slot 7.
F5 Swap drives for slot 6.
F6 Toggle fullscreen mode. See Warning below.
Shift+F6 Toggle character set (keyboard/video ROM rocker switch for
Apple IIe/enhanced with international keyboards/video ROMs)
F7 Show debugger.
F8 Save screenshot as a bitmap.
Shift+F8 Save runtime changes to configuration to the configuration file.
F9 Cycle through video modes.
F10 Load snapshot file.
F11 Save snapshot file.
F12 Quit.
Ctrl+0-9 Load snapshot n.
Ctrl+Shift+0-9 Save snapshot n.
Pause Pause/resume emulation.
Scroll Lock Toggle full speed emulation.
Numpad + Increase emulation speed.
Numpad - Decrease emulation speed.
Numpad * Reset emulation speed.
RtCtrl+Numpad Adjust pdl TrimX (4, 6) or TrimY (2, 8)

Warning: Fullscreen mode does not properly exit in multi-monitor setups. (This is a bug in SDL 1.2.)

When you first start the emulator, press the F3 key and select a disk image file. Press Ctrl+F2 to restart the emulator with the disk "inserted" if the application doesn't automatically load.

Many disk images will boot straight into the application. Some disk images only have files and you must find the correct application to run. In this case you will need to execute BASIC commands to list the files on the disk and run programs.

Apple II Commands

This is a brief guide to get you started. For more information see Apple II: The DOS Manual (for DOS 3.3) and the ProDOS 8 Technical Reference Manual.

  • CATALOG: List the files on a disk. The first column in the list identifies the file type: A for Applesoft BASIC, B for binary. I for Integer BASIC. T for text.
  • RUN file: Load and run an Applesoft or Integer BASIC file.
  • BRUN file: Load and run a binary file. (Not all binary files can be run.)
  • EXEC file: Read commands from a text file and execute them as if they were typed at the keyboard.
  • LOAD file: Load an Applesoft or Integer BASIC file into memory.
  • LIST: List the current program in memory.

Configuration

LinApple has several configuration options. Most values are loaded from INI files and linapple.conf.sample has all possible configuration options along with documentation on each. There are also command-line switches and environment variables that change the behavior of LinApple.

Load Order of Configuration Files

  1. Default values are initially set by the program.
  2. If the command-line switch --conf is used, values are read from the specified file.
  3. Otherwise, values are:
    1. read from the system-wide configuration files.
      • These are found in the $XDG_CONFIG_DIRS path. On Linux, the file is typically found at /etc/xdg/linapple/linapple.conf.
    2. read from user-specific configuration files.
      • These are found in the $XDG_CONFIG_HOME path. On Linux, the file is typically found at ~/.config/linapple/linapple.conf.

Environment Variables

LinApple partially conforms to the XDG Base Directory Specification.

XDG_CONFIG_HOME specifies the location of "a single base directory relative to which user-specific configuration files should be written". Defaults to $HOME/.config.

XDG_CONFIG_DIRS specifies the location of "a set of preference ordered base directories relative to which configuration files should be searched". Each directory is separated by a colon (:). Defaults to /etc/xdg.

linapple's People

Contributors

ghedger avatar maxolasersquad avatar cpressey avatar knghtbrd avatar thorstenbr avatar leesaudan2 avatar 0cjs avatar nerun avatar rhaleblian avatar taeber avatar timob avatar jvernet avatar lhirlimann avatar jbevren avatar mwcz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.