AppleIIGo 0.9.9
Marc S. Ressl <ressl@lonetree.com>
http://www-personal.umich.edu/~mressl/appleiigo
Licensed under the GPL

1.  What is AppleIIGo
2.  Quick Start
3.  Feature Overview
4.  Configuration & Usage
5.  Compiling
6.  Compatibility
7.  Reporting Bugs
8.  Frequently Asked Questions
9.  Random philosophical considerations & special thanks

1.  What is AppleIIGo

    AppleIIGo is a fully functional Apple II emulator for your MIDP 2.0
    compatible mobile phone. It is based on previous work by Ben Koning,
    Doug Kwan, Gerard Putter and others.

    Revive your old memories while on the go!

2.  Quick Start

    To use AppleIIGo you need an Apple II, II+, IIe or //e ROM file.
    It should be named apple2.rom, apple2p.rom or apple2e.rom. Place it in
    the Resources folder. You also need Java installed on your computer.

    As an Apple II owner you can legally obtain a copy of your ROM from
    ftp://ftp.apple.asimov.net
    
    Copy your Apple II disk images (in DOS 3.3 sector ordered .dsk format)
    to the Disks folder.

    Start the AppleIIGo Packer. Under Mac OS X and Unix start
    "AppleIIGoPacker.command", under Windows start "AppleIIGoPacker.bat".
    Deploy the resulting "AppleIIGo.jar" file (in the "Build" folder) on
    your mobile phone (using Bluetooth, Infrared or USB).

3.  Feature Overview

    AppleIIGo emulates a full Apple II computer with:
    
    * 65C02 microprocessor
    * 128k main memory
    * Graphics modes: 40x24 text, color lores and hires, mixed mode,
      80 characters in two pages, double hires (converted to hires),
      double lores 
    * Fast graphics anti-aliasing for low-resolution mobile phones
    * Buffered mobile phone keyboard
    * Two Disk II drives
    * Analog and digital joystick
    * ProDOS clock
    * Stat and debug mode

4.  Configuration & Usage

    AppleIIGo lets you change:
    
    * The screen orientation: portrait and landscape.
    * Screen colour: traditional green and glorious full colour.
    * The navigation key mode:
      - Apple II keyboard: Nav keys are Apple II arrows, fire is RETURN.
      - Joystick: Nav keys are the joystick, fire is button 1, left action
        key is button 2. On some phones the green button is also button 1.
    * The joystick key mode:
      - Analog joystick: yeah it's analog
      - Digital joystick: yeah it's digital

    Once AppleIIGo is started, use the phone's keyboard as usual. 
        
    Press the "*" star key to access to keyboard palette. This lets you
    enter characters, serves as keyboard reference, and accesses special
    key combinations like RETURN, ESC, CTRL-, RESET and CTRL-RESET.

    In Apple II keyboard mode the left action key works as an alternative
    key. Press it to:
    * Toggle left and right side view in 80 character mode.
    * Update stats in stat mode.
    * Advance a step in debug mode.

    In Apple II keyboard mode you can also use the alternative key
    together with:
    * the navigation keys to access the joystick temporarily.
      Tip: While pressing the alt key, *right* action key is button 2.
    * the "1" key to toggle stat mode.
      Stat mode displays the CPU's speed and state.
    * the "2" key to toggle debug mode.
      Debug mode makes the CPU execute one instruction at a time. In debug
      mode press the left action key to step to the next CPU instruction.

5.  Compiling

    You will need J2ME MIDP 2.0 (http://java.sun.com), as well as the
    ant tool.
    
    Edit build.xml, and modify the midp property with a valid MIDP
    installation path.
    
    Execute ant. Voila!
    
6.  Compatibility

    (Please send your reports!)

    Compatible phones:
    * Nokia 6111 - 0.25 MHz average

    Incompatible hardware:
    * Double hires is converted to simple hires
    * Flash text is displayed as inverse text

    Fun/usable software while on the go (ordered by KFX fun factor):
    * Tetris II
    * Oregon Trail
    * Little Brick Out

    Compatible software:
    * Apple II Pascal 1.1
    * Battlechess
    * ChessMaster 2000
    * Crisis Mountain
    * Defender
    * DOS 3.3
    * Maniac Mansion
    * Oregon Trail
    * Prince of Persia
    * ProDOS 1.1.1, 1.4, 1.9, 2.0.4
    * Tell Star 1.03
    * Tetris II
    * VisiCalc

    Incompatible software
    * None right now :)

7.  Reporting Bugs

    Go to:
	http://www-personal.umich.edu/~mressl/appleiigo
    
8.  Frequently Asked Questions

    Let me know!

9.  Random philosophical considerations & special thanks

    Special thanks to Gerard Putter (author of the Virtual ][ emulator),
    for providing the ProDOS clock ROM routines and helping extensively
    with final debugging.
 
    I also wish to thank Marco Foco (of the spinning kids) for helping find
    bugs!

    It is/was fun doing AppleIIGo. The inspiration was Apple's 30th
    anniversary. It reminded me of my good time with my old Apple II+!

    Unfortunately the emulated speed is (yet) not so great...

    AppleIIGo passes the Apple //e self-test :-).

    The stripes you see when using lower resolution and green color mode
    are because of the linear interpolator and the sampling theorem. It is
    very hard to get rid of them; a cubic interpolator would do the job,
    but hey, it's a mobile phone! Try it in Photoshop, you will see the
    stripes as well...
