Updated README for current features.

This commit is contained in:
James Sanford 2012-10-23 19:08:35 -07:00
parent f554b07c2e
commit 8d72b4b84d

View File

@ -1,16 +1,15 @@
Port of Kent Dickey's KEGS Apple IIgs Emulator to Android.
Work in progress! Currently optimized for tablet. Screen may be cropped on phones.
Work in progress! Screen may be cropped in portrait mode on phones.
Flip it over to landscape orientation.
Config file and disk images in /mnt/sdcard/KEGS/
To attach disk images, use the F4 button to enter KEGS configuration.
Look on your sdcard in /Android/data/com.froop.app.kegs/files/
There's a 'default' config there that gets copied to 'config.kegs' on startup.
The touch screen acts as a big trackpad for the mouse. To click and drag,
for example to pull down GS/OS menus, you need to Long Press first.
The touch screen acts as a big trackpad for the mouse.
What's not ready yet:
- Screen scaling to fit your device.
- Native UI configuration options.
To click and drag, either Long Press then drag or
use one finger for movement and one finger for the mouse button.
Source code:
https://github.com/jamessanford/kegs/
@ -29,14 +28,14 @@ Changes made to KEGS:
Application structure:
- The UI is coordinated via KegsMain
- There is a KegsView$KegsThread class that gets its own thread. This thread ends up calling mainLoop() in jni/android_driver.c and running KEGS in that thread.
- There is a KegsThread class that gets its own thread. This thread ends up calling mainLoop() in jni/android_driver.c and running KEGS in that thread.
- The native thread gets two things from Java:
-- a Bitmap
-- a ConcurrentLinkedQueue
All UI events are sent to the native thread by pushing events into the ConcurrentLinkedQueue (KegsEvent, MouseKegsEvent, KeyKegsEvent).
The native thread pulls events off the queue, writes updates into the bitmap object, then calls the Java "updateScreen" in the KegsView$KegsThread object.
The native thread pulls events off the queue, writes updates into the bitmap object, then calls the Java "updateScreen" in the KegsThread object.
The native thread also calls support functions in Java, such as checkForPause(), which deadlocks the thread while it should be paused.